-
-
Notifications
You must be signed in to change notification settings - Fork 440
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
OpenTelemetry spans appearing with op
http
missing .client
/ .server
#3904
Comments
I just tested this using v8 and if Here's the code I used for testing:
and this is the JSON that was produced:
Note that When the code sample also sets
it does produce the expected
|
Our current plan is to improve docs around setting |
Description
Some product features rely on span ops being a specific value, for example
http.client
orhttp.server
to distinguish client from server HTTP requests, to popular inbound and outbound requests.Features related to other insights in Sentry product, also rely on other
span.ops
as well. list of span operationsIn hybrid Java setups with Sentry <> OpenTelemetry, this span op is not most likely cause for this is manual instrumentation where OpenTelemetry
SpanKind
is not set to eitherSERVER
orCLIENT
.Possible solutions:
Document how (and why) to set
op
for HTTP requests and how to setSpanKind
when using OpenTelemetry API.SpanKind
in Sentry APIThis does still requires us to document how customers should use the API to get the most out of Sentry. It doesn't just work automatically. It does help not relying on the spans
op
.We could offer some config option to set the span kind based on the instrumentation name. However, OpenTelemetry auto instrumentation should already be setting span kind correctly anyways and this seems more complex than simply setting the span kind on spans directly.
Manual instrumentation would then have to use separate instrumentation names for different things being instrumented.
It could set span kind based on lists of known instrumentations, e.g. RestClient is always a client span. However this shouldn't be a problem as the OpenTelemetry always sets span kind as far as we know at the moment.
Not sure how that would work for spans created via manual instrumentation.
op
inSpanDescriptionExtractor
and rely onop
being set on the span correctly5a. Based on instrumentation name
How do we know which span we should generate
op
for and which we shouldn't? Can we use instrumentation name to only extract for spans coming from OpenTelemetry SDK auto instrumentation?Is this even better than what's going on now? Instead of asking customers to set the
SpanKind
, we're expecting them to setop
according to rules they need to follow.5b. Based on
SpanKind
We could also look at
SpanKind
and only generateop
automatically, if it's something other thanINTERNAL
.Concerns
The text was updated successfully, but these errors were encountered: