newrelic / newrelic-java-agent

The New Relic Java agent
Apache License 2.0
192 stars 140 forks source link

Investigate relationship data that can be emitted from apps that use AWS_SQS_QUEUE #1835

Open kford-newrelic opened 1 month ago

kford-newrelic commented 1 month ago

Description

Trying to reduce the entity relationship data gaps when APM applications use AWS services. Need to explore what entity relationship data can be captured and emitted from the agent when AWS_SQS_QUEUE is in use.

Acceptance Criteria

Research spike.

Design Consideration/Limitations

Try to capture the ARN in some way if possible but if not, other data - eg: host, port, etc - might be useable for building entity relationships.

Dependencies

N/A

Additional context

Once the available data is better understood, we need to flesh out the details of additional work needed to get that into the agent and documented.

workato-integration[bot] commented 1 month ago

https://new-relic.atlassian.net/browse/NR-255351

jasonjkeller commented 2 weeks ago

https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsqs.html#amazonsqs-resources-for-iam-policies

jasonjkeller commented 1 week ago

Putting this work on pause while some other approaches are discussed.

The sqs-arn branch updates the following AWS SQS instrumentation modules to capture the ARN and add it to the external span:

aws-java-sdk-sqs-1.10.44
aws-java-sdk-sqs-1.11.16
aws-java-sdk-sqs-2.1.0

The AWS SDK v1 SQS instrumentation had to be split into two modules to capture the ARN for the entire supported range.

The only work left on this branch is to update the instrumentation tests for each of these modules.