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/awsemfexporter] add tags feature for Cloudwatch Log Group #19406

Merged
merged 29 commits into from
May 11, 2023

Conversation

humivo
Copy link
Member

@humivo humivo commented Mar 8, 2023

Description: Added a feature to the awsemfexporter that allows you to specify tags in the config. If specified, these tags will be set for newly created Cloudwatch Log Groups made by the exporter.

Link to tracking Issue: aws-observability/aws-otel-collector#1813

Testing: Local testing done to test feature and unit testing was added for any code additions.

Documentation: READMEs were updated to reflect these changes as well as in-code comments.

@humivo humivo requested review from a team and Aneurysm9 as code owners March 8, 2023 17:29
@github-actions github-actions bot added exporter/awscloudwatchlogs awscloudwatchlogs exporter exporter/awsemf awsemf exporter internal/aws labels Mar 8, 2023
@runforesight
Copy link

runforesight bot commented Mar 8, 2023

Foresight Summary

    
Major Impacts

build-and-test-windows duration(5 seconds) has decreased 33 minutes 26 seconds compared to main branch avg(33 minutes 31 seconds).
View More Details

⭕  build-and-test-windows workflow has finished in 5 seconds (33 minutes 26 seconds less than main branch avg.) and finished at 28th Mar, 2023.


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

✅  telemetrygen workflow has finished in 1 minute 4 seconds and finished at 28th Mar, 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 1 minute 22 seconds and finished at 28th Mar, 2023.


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

✅  changelog workflow has finished in 1 minute 58 seconds and finished at 28th Mar, 2023.


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

✅  build-and-test workflow has finished in 40 minutes 35 seconds (8 minutes 53 seconds less than main branch avg.) and finished at 28th Mar, 2023.


Job Failed Steps Tests
unittest-matrix (1.20, connector) -     🔗  ✅ 126  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, connector) -     🔗  ✅ 126  ❌ 0  ⏭ 0    🔗 See Details
correctness-metrics -     🔗  ✅ 2  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, internal) -     🔗  ✅ 585  ❌ 0  ⏭ 0    🔗 See Details
correctness-traces -     🔗  ✅ 17  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, internal) -     🔗  ✅ 585  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, extension) -     🔗  ✅ 544  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, processor) -     🔗  ✅ 1557  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, extension) -     🔗  ✅ 544  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, processor) -     🔗  ✅ 1557  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, receiver-0) -     🔗  ✅ 2614  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-0) -     🔗  ✅ 2614  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, exporter) -     🔗  ✅ 2522  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, receiver-1) -     🔗  ✅ 1965  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, receiver-1) -     🔗  ✅ 1965  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, exporter) -     🔗  ✅ 2522  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.20, other) -     🔗  ✅ 4756  ❌ 0  ⏭ 0    🔗 See Details
unittest-matrix (1.19, other) -     🔗  ✅ 4756  ❌ 0  ⏭ 0    🔗 See Details
integration-tests -     🔗  ✅ 56  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details
checks -     🔗  N/A See Details
check-collector-module-version -     🔗  N/A See Details
check-codeowners -     🔗  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 (connector) -     🔗  N/A See Details
lint-matrix (internal) -     🔗  N/A See Details
lint-matrix (other) -     🔗  N/A See Details
build-examples -     🔗  N/A See Details
unittest (1.20) -     🔗  N/A See Details
unittest (1.19) -     🔗  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, arm64) -     🔗  N/A See Details
cross-compile (linux, ppc64le) -     🔗  N/A See Details
cross-compile (windows, 386) -     🔗  N/A See Details
cross-compile (windows, amd64) -     🔗  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 3 minutes 20 seconds (3 minutes 1 second less than main branch avg.) and finished at 28th Mar, 2023.


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

✅  load-tests workflow has finished in 6 minutes 48 seconds (4 minutes 3 seconds less than main branch avg.) and finished at 28th Mar, 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) -     🔗  ✅ 18  ❌ 0  ⏭ 0    🔗 See Details
setup-environment -     🔗  N/A See Details

✅  e2e-tests workflow has finished in 11 minutes 3 seconds (3 minutes 44 seconds less than main branch avg.) and finished at 28th Mar, 2023.


Job Failed Steps Tests
kubernetes-test (v1.25.3) -     🔗  N/A See Details
kubernetes-test (v1.26.0) -     🔗  N/A See Details
kubernetes-test (v1.24.7) -     🔗  N/A See Details
kubernetes-test (v1.23.13) -     🔗  N/A See Details

🔎 See details on Foresight

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

@TylerHelmuth
Copy link
Member

pinging @shaochengwang @mxiamxia @boostchicken as code owners

exporter/awscloudwatchlogsexporter/config.go Outdated Show resolved Hide resolved
internal/aws/cwlogs/cwlog_client.go Outdated Show resolved Hide resolved
internal/aws/cwlogs/cwlog_client.go Outdated Show resolved Hide resolved
internal/aws/cwlogs/utils.go Show resolved Hide resolved
exporter/awscloudwatchlogsexporter/config.go Outdated Show resolved Hide resolved
exporter/awscloudwatchlogsexporter/config_test.go Outdated Show resolved Hide resolved
exporter/awscloudwatchlogsexporter/config_test.go Outdated Show resolved Hide resolved
exporter/awscloudwatchlogsexporter/config_test.go Outdated Show resolved Hide resolved
exporter/awsemfexporter/config_test.go Outdated Show resolved Hide resolved
exporter/awsemfexporter/config_test.go Outdated Show resolved Hide resolved
internal/aws/cwlogs/cwlog_client.go Outdated Show resolved Hide resolved
internal/aws/cwlogs/utils.go Show resolved Hide resolved
Comment on lines 89 to 92
if tagInputErr := cwlogs.ValidateTagsInput(config.Tags); tagInputErr != nil {
return tagInputErr
}
return false
return nil
Copy link
Member

Choose a reason for hiding this comment

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

This can be simplified to just return the result of validating the tags since there is no further action to take.

return cwlogs.ValidateTagsInput(config.Tags)

Copy link
Member Author

@humivo humivo May 11, 2023

Choose a reason for hiding this comment

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

Changed it simplify the return in my latest commit.

@Aneurysm9 Aneurysm9 added the ready to merge Code review completed; ready to merge by maintainers label May 11, 2023
@TylerHelmuth TylerHelmuth merged commit d43fcaf into open-telemetry:main May 11, 2023
86 checks passed
@github-actions github-actions bot added this to the next release milestone May 11, 2023
varunraiko pushed a commit to varunraiko/opentelemetry-collector-contrib that referenced this pull request May 17, 2023
…pen-telemetry#19406)

* Add set tags to config

* Add config to cloudwatchlogsexporter too

* Add unit testing to aws emf

* Add unit testing for other code changes and update README

* Add chlog entry

* Fix issue number

* Change naming to accountID

* Add sts endpoint and fix validate func

* Fix import

* Add comments to client code

* Move functions to utils.go

* Remove line

* Change tags call

* Fix code after merge

* Fix spelling error

* gci the file

* gci the exporter files

* Add gci option prefix

* Add comment to cwlog_client

* Address comments on PR

* Improve testing

* Run gci command

* Fix license header

* Simplify return statement

* Run gci command on code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exporter/awscloudwatchlogs awscloudwatchlogs exporter exporter/awsemf awsemf exporter internal/aws ready to merge Code review completed; ready to merge by maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants