-
Notifications
You must be signed in to change notification settings - Fork 369
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
Change span.resource to use AWS command name #377
Change span.resource to use AWS command name #377
Conversation
af422bb
to
ebc4e3b
Compare
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.
The change is great! A small other change that we'll handle and then it's good to be merged! Thank you very much!
@@ -28,7 +28,7 @@ def annotate!(span, pin, context) | |||
span.service = pin.service | |||
span.span_type = pin.app_type | |||
span.name = context.safely(:resource) | |||
span.resource = RESOURCE | |||
span.resource = context.safely(:resource) |
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 is a great change that improves how stats are computed in our system. I'd say that probably the span.name
should be what we used to have for RESOURCE
(so aws.command
or similar).
We can update this part so that your contribution will be merged in the 0.13 development branch. Thank you very much!
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.
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.
the span.name ?
in your screenshot is actually the span name too. So, yes, you'd be correct.
The relationship between name
and resource
is roughly group
to subgroup
. In other words "a [resource] is a kind of [span name]". By setting the name to aws.command
, you get the benefit of seeing aws.command
be broken down into each of its constituent resources, although you won't see the resource name appear as the label for the visual element in the flamegraph.
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 see now. Make sense. Thanks for the clarification.
@jfrancoist Did you still want to see this change? We're planning a release for next week, and it'd be great to get this one in if you're interested. |
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.
Changes look good to me. Thanks for the contribution, @jfrancoist ! 🎉
@jfrancoist Actually before we merge this, can you rebase this on the latest |
aa8e28f
to
0d4021c
Compare
@delner I rebased and wanted to make a final check before you guys review/merge. Even though I understood the point of @palazzem concerning the Service screen 🎉The expected behaviour is here with the change Trace - Frame Graph 😐Now instead of seeing the aws method name I can only see Trace - List 🙂This part seems to be fine, whether the real method name is displayed of the service, because either way you will need to click on each trace to understand what is going on. Let me know if you think this change is acceptable or should be revert back the last commit and leave. span.name = context.safely(:resource) |
@jfrancoist That all looks correct. Per our current UI setup, you're not supposed to see resource names on the flame graph elements themselves, just span names. Perhaps you could request to our UI team that you have the option of displaying resource names instead of span names on the flame graph. From what I understand, it's something currently on their radar to support, so it may happen sometime in the future (although I can't say when.) |
That's sound like a good alternative. The PR is then ready in my opinion. Just need a 👍 . |
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.
Approved! 🎉 Thanks @jfrancoist !
As per issue #374, this PR goal is to make the AWS service page behave in a similar way to other services such as Rails/Web/Redis...
As I see it
aws.command
label does not add any value in either the service page or trace view, since AWS service will alread be defined byAWS
by default, we can easily find out that traces are coming from there.On the service page what we want to see is a list of methods/actions and how they are performing, each method can then be further drilled down for related traces.
The current behaviour :
With this PR the service be would have each method listed :