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

fix(tracing) Omit the top level status tag #644

Merged
merged 4 commits into from Mar 13, 2020
Merged

fix(tracing) Omit the top level status tag #644

merged 4 commits into from Mar 13, 2020

Conversation

markstory
Copy link
Member

In the product side we don't really want people to search by this tag as it is far more expensive than the transaction.status property which is indexed separately. By not emitting this tag and only including it in the trace context we won't end up with poor performing tags for users to click on.

In the product side we don't really want people to search by this tag as
it is far more expensive than the `transaction.status` property which is
indexed separately. By not emitting this tag and only including it in
the trace context we won't end up with poor performing tags for users to
click on.
@markstory markstory requested a review from untitaker March 9, 2020 21:20
@untitaker untitaker requested a review from HazAT March 9, 2020 21:33
Copy link
Member

@untitaker untitaker left a comment

Choose a reason for hiding this comment

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

@kamilogorek @HazAT can you make sure this happens for JS

@HazAT
Copy link
Member

HazAT commented Mar 10, 2020

We never did any of this in JS 🤔
Was this just a precaution or am I missing something?
@untitaker

Edit: Removed out of place "string" word xD (was coding beside writing this)

@untitaker
Copy link
Member

What do you mean with precaution string? We used to send this:

{
    "event_id": ...,
    "tags": {"status": "ok"},
    "contexts": {"trace": {"status": "ok"}}
}

with this change we remove the event tag

@HazAT
Copy link
Member

HazAT commented Mar 10, 2020

@untitaker OK, updated my comment.
And we never did this in JS

untitaker and others added 2 commits March 11, 2020 10:08
To workaround get_trace_context() being called multiple times I needed
an additional non-tags place to store the status. I've had to shim the
status back into tags as non-transaction spans expect to have status as
a tag.
@markstory
Copy link
Member Author

I had to add a status attribute to the Span object. Without that transactions collected inside celery would not have statuses set because get_trace_context() is called multiple times and after the first the status tag is gone.

@untitaker
Copy link
Member

@HazAT I am looking at the UI and I do see JS transactions having a status tag. Could you please figure out what logic to apply here? Do we want to get rid of tags altogether, etc

@untitaker
Copy link
Member

untitaker commented Mar 13, 2020

we found out it wroks exactly the same in JS: https://github.com/getsentry/sentry-javascript/blob/712b6e7de4a5af6449e651915ce73984751105b7/packages/apm/src/span.ts#L308

However, we do not set the status explicitly most of the time, therefore there rarely is a top-level tag in JS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants