added fix in entity logic to fallback to workload name when unknown service is set by OTEL SDK #1557
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the issue
Describe the problem or feature in addition to a link to the issues.
If an application instrumented with an OTEL SDK doesn't specify the service.name as a resource attribute, it will return unknown_service:<process.executable.name> or unknown_service for its Service name: https://opentelemetry.io/docs/specs/semconv/attributes-registry/service/.
In the context of a service entity, this would populate the Service name to be an unknown service value.
com.amazonaws.cloudwatch.entity.internal.service.name: Str(unknown_service:java)
But for entity, we want the agent to fallback to workload when the service name is unknown.
Description of changes
How does this change address the problem?
Added logic in entity processor to check if the service name is prefixed with unknown_service, and fallback to workload.
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
Describe what tests you have done.
Unit tests
Manual tests
Removed resource attributes.
Changed OTEL_EXPORTER_OTLP_ENDPOINT to http://cloudwatch-agent.amazon-cloudwatch:4317.
k8s-attr
branch to replicate the issueBefore code change
After code change
Requirements
Before commit the code, please do the following steps.
make fmt
andmake fmt-sh
make lint