-
Notifications
You must be signed in to change notification settings - Fork 140
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
SQS Integration (Aws Sdk) #546
Conversation
b389f2c
to
b36e373
Compare
88fc141
to
9d33a5f
Compare
@colin-higgins For the purpose of code review, it would be good to know the steps you went through to retrieve and set up the AWS SDK. One thing, for example, I'd like to do is verify that the integration points are complete, and being able to look at the AWS SDK assemblies would allow me to do that. |
var serviceName = $"{tracer.DefaultServiceName}-{ServiceName}"; | ||
scope = Tracer.Instance.StartActive(OperationName, serviceName: serviceName); | ||
var span = scope.Span; | ||
span.Type = SpanTypes.Http; // TODO, is this right? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since Amazon SQS is a queuing system, it seems that we should have a new SpanType.Queue
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would agree if this code were acting as the queue, but it is only the client for the queue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This did make me notice that our operation name seems to differ from java's implementation.
https://github.com/DataDog/dd-trace-java/blob/00fe40f1fba5c0df65a8af80430feb2a3cba6eea/dd-java-agent/instrumentation/aws-java-sdk-2.2/src/test/groovy/AwsClientTest.groovy#L78
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In fact they seem to have a mapping of operation names: https://github.com/DataDog/dd-trace-java/blob/42b88c7b8ec99b8b9ac2a4d4dda90ebbbe9e5921/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java#L37
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a consistency issue then. I would check for RFCs that apply to naming operations if such an RFC exists. And maybe asking in the apm-integrations
Slack channel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I worked with @tylerbenson to get a better idea of what Java is doing, so we can match up with them. I'll put up a draft RFC tomorrow sometime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good, thanks @colin-higgins !
src/Datadog.Trace.ClrProfiler.Managed/Integrations/AWS/AmazonSQSIntegration.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersions.g.cs
Outdated
Show resolved
Hide resolved
src/Datadog.Trace.ClrProfiler.Managed/Integrations/WebRequestIntegration.cs
Show resolved
Hide resolved
src/Datadog.Trace.ClrProfiler.Managed/Integrations/AWS/AwsSdkTags.cs
Outdated
Show resolved
Hide resolved
...Datadog.Trace.ClrProfiler.IntegrationTests/Datadog.Trace.ClrProfiler.IntegrationTests.csproj
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/AmazonSQSTests.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/AWS/AmazonSQSTests.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/GraphQLSpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/GraphQLSpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanTestHelpers.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanTestHelpers.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanExpectation.cs
Outdated
Show resolved
Hide resolved
test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/SpanTestHelpers.cs
Outdated
Show resolved
Hide resolved
ae6ec85
to
73e0acd
Compare
f70e4dc
to
935286b
Compare
@@ -146,42 +146,6 @@ protected virtual void OnRequestReceived(HttpListenerContext context) | |||
RequestReceived?.Invoke(this, new EventArgs<HttpListenerContext>(context)); | |||
} | |||
|
|||
private static List<Span> ToSpans(dynamic data) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we merge the PR that this come from first so this (unrelated) diff is not here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…p 9324:9324 softwaremill/elasticmq`)
a13eb89
to
6ff703a
Compare
Closing this PR for now. We will refactor this integration to use the new "call target" instrumentation in the near future. |
Changes proposed in this pull request:
@DataDog/apm-dotnet