Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[exporter/loki] Add Config QueueSettings validation #16855

Merged
merged 2 commits into from
Jan 17, 2023

Conversation

mar4uk
Copy link
Contributor

@mar4uk mar4uk commented Dec 12, 2022

Description: Added QueueStettings validation into Config Validate method

Link to tracking Issue: #7841

Testing: Added unit tests

@mar4uk mar4uk requested a review from a team December 12, 2022 11:39
@github-actions github-actions bot added the exporter/loki Loki Exporter label Dec 12, 2022
@runforesight
Copy link

runforesight bot commented Dec 12, 2022

Foresight Summary

    
Major Impacts

build-and-test-windows duration(4 seconds) has decreased 44 minutes 29 seconds compared to main branch avg(44 minutes 33 seconds).
View More Details

⭕  build-and-test-windows workflow has finished in 4 seconds (44 minutes 29 seconds less than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
windows-unittest-matrix -     🔗  N/A See Details
windows-unittest -     🔗  N/A See Details

✅  tracegen workflow has finished in 4 minutes 10 seconds (⚠️ 1 minute 7 seconds more than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
build-dev -     🔗  N/A See Details
publish-latest -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details

✅  check-links workflow has finished in 4 minutes 40 seconds (⚠️ 2 minutes 1 second more than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
changed files -     🔗  N/A See Details
check-links -     🔗  N/A See Details

✅  changelog workflow has finished in 5 minutes 21 seconds (4 minutes 7 seconds less than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
changelog -     🔗  N/A See Details

✅  build-and-test workflow has finished in 44 minutes 46 seconds and finished at 9th Jan, 2023.


Job Failed Steps Tests
unittest-matrix (1.18, internal) -     🔗  ✅ 618  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, internal) -     🔗  ✅ 618  ❌ 0  ⏭ 0    🔗 See Details
correctness-metrics -     🔗  ✅ 2  ❌ 0  ⏭ 0    🔗 See Details
correctness-traces -     🔗  ✅ 17  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, processor) -     🔗  ✅ 1472  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, extension) -     🔗  ✅ 528  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, processor) -     🔗  ✅ 1472  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, extension) -     🔗  ✅ 528  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, receiver-0) -     🔗  ✅ 2565  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-0) -     🔗  ✅ 2565  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, exporter) -     🔗  ✅ 2466  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, other) -     🔗  ✅ 4435  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, exporter) -     🔗  ✅ 2466  ❌ 0  ⏭ 0    🔗 See Details
integration-tests -     🔗  ✅ 55  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, other) -     🔗  ✅ 4435  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-1) -     🔗  ✅ 1883  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.18, receiver-1) -     🔗  ✅ 1883  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details
check-collector-module-version -     🔗  N/A See Details
check-codeowners -     🔗  N/A See Details
build-examples -     🔗  N/A See Details
checks -     🔗  N/A See Details
lint-matrix (receiver-0) -     🔗  N/A See Details
lint-matrix (receiver-1) -     🔗  N/A See Details
lint-matrix (processor) -     🔗  N/A See Details
lint-matrix (exporter) -     🔗  N/A See Details
lint-matrix (extension) -     🔗  N/A See Details
lint-matrix (internal) -     🔗  N/A See Details
lint-matrix (other) -     🔗  N/A See Details
unittest (1.19) -     🔗  N/A See Details
unittest (1.18) -     🔗  N/A See Details
lint -     🔗  N/A See Details
cross-compile (darwin, amd64) -     🔗  N/A See Details
cross-compile (darwin, arm64) -     🔗  N/A See Details
cross-compile (linux, 386) -     🔗  N/A See Details
cross-compile (linux, amd64) -     🔗  N/A See Details
cross-compile (linux, arm) -     🔗  N/A See Details
cross-compile (linux, ppc64le) -     🔗  N/A See Details
cross-compile (linux, arm64) -     🔗  N/A See Details
cross-compile (windows, amd64) -     🔗  N/A See Details
cross-compile (windows, 386) -     🔗  N/A See Details
build-package (deb) -     🔗  N/A See Details
build-package (rpm) -     🔗  N/A See Details
windows-msi -     🔗  N/A See Details
publish-check -     🔗  N/A See Details
publish-dev -     🔗  N/A See Details
publish-stable -     🔗  N/A See Details

✅  prometheus-compliance-tests workflow has finished in 15 minutes 7 seconds (⚠️ 6 minutes 29 seconds more than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
prometheus-compliance-tests -     🔗  ✅ 21  ❌ 0  ⏭ 0    🔗 See Details

✅  load-tests workflow has finished in 21 minutes 47 seconds (⚠️ 6 minutes 3 seconds more than main branch avg.) and finished at 9th Jan, 2023.


Job Failed Steps Tests
loadtest (TestTraceAttributesProcessor) -     🔗  ✅ 3  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestIdleMode) -     🔗  ✅ 1  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestMetric10kDPS|TestMetricsFromFile) -     🔗  ✅ 6  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestTraceNoBackend10kSPS|TestTrace1kSPSWithAttrs) -     🔗  ✅ 8  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestMetricResourceProcessor|TestTrace10kSPS) -     🔗  ✅ 12  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestTraceBallast1kSPSWithAttrs|TestTraceBallast1kSPSAddAttrs) -     🔗  ✅ 10  ❌ 0  ⏭ 0    🔗 See Details
loadtest (TestBallastMemory|TestLog10kDPS) -     🔗  ✅ 19  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details

🔎 See details on Foresight

*You can configure Foresight comments in your organization settings page.

@kovrus
Copy link
Member

kovrus commented Dec 12, 2022

We probably need to add Skip changelog label

@mar4uk mar4uk force-pushed the lokiexporter_validate_config branch from 9c71bb3 to 76026f7 Compare December 12, 2022 15:09
Copy link
Contributor

@evan-bradley evan-bradley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. It's worth mentioning that all of the sub keys are currently implicitly validated, as the Component interface will call Validate on any config structs that implement the method.

@@ -53,6 +53,10 @@ type Config struct {
}

func (c *Config) Validate() error {
if err := c.QueueSettings.Validate(); err != nil {
return fmt.Errorf("queue settings has invalid configuration: %w", err)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick, but I think calling out the failing config key here would be helpful.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the failing key could be QueueSize only, and it will be mentioned in the inner error message: https://github.com/open-telemetry/opentelemetry-collector/blob/7d168dd20efd4ebf659ccf7c501fdf02d7ed6dfd/exporter/exporterhelper/queued_retry.go#L76

So the error message here will be:
queue settings has invalid configuration: queue size must be positive

I think the message identifies the failing key clearly. Or maybe I misunderstood your concern?

@evan-bradley evan-bradley added the Skip Changelog PRs that do not require a CHANGELOG.md entry label Dec 16, 2022
Copy link
Contributor

@codeboten codeboten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a changelog as the user facing behaviour would be changed here.

@codeboten codeboten removed the Skip Changelog PRs that do not require a CHANGELOG.md entry label Dec 20, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2023

This PR was marked stale due to lack of activity. It will be closed in 14 days.

@github-actions github-actions bot added the Stale label Jan 4, 2023
@mar4uk mar4uk force-pushed the lokiexporter_validate_config branch from 76026f7 to 420275f Compare January 9, 2023 20:20
@mar4uk mar4uk requested review from codeboten and removed request for gramidt and gouthamve January 9, 2023 21:06
@github-actions github-actions bot removed the Stale label Jan 10, 2023
@mar4uk
Copy link
Contributor Author

mar4uk commented Jan 17, 2023

The changelog was added.
@codeboten could you please take a look once again?

@plantfansam plantfansam mentioned this pull request Jul 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exporter/loki Loki Exporter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants