feat(sdk-trace-web,fetch,grpc,http,xml-http-request): only emit stable http metrics, spans and attributes#6819
feat(sdk-trace-web,fetch,grpc,http,xml-http-request): only emit stable http metrics, spans and attributes#6819maryliag wants to merge 14 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6819 +/- ##
==========================================
- Coverage 95.52% 95.52% -0.01%
==========================================
Files 384 382 -2
Lines 12974 12886 -88
Branches 2976 2948 -28
==========================================
- Hits 12394 12309 -85
+ Misses 580 577 -3
🚀 New features to boost your workflow:
|
|
|
||
| HTTP semantic conventions (semconv) were stabilized in v1.23.0, and a [migration process](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/non-normative/http-migration.md#http-semantic-convention-stability-migration) was defined. | ||
| `instrumentation-grpc` versions 0.201.0 and later include support for migrating to stable HTTP semantic conventions, as described below. | ||
| `instrumentation-grpc` versions 0.201.0 - XXXX include support for migrating to stable HTTP semantic conventions, as described below. |
There was a problem hiding this comment.
nit: do we have versions we want to replace these placeholders with? If not the "and later" language makes more sense for now.
There was a problem hiding this comment.
once this is about to merge I can update with the version, because it might take a little while. I want to have a specific one because after this gets merged the "migration" described won't make sense anymore, so it needs to be for the specific versions.
There was a problem hiding this comment.
@pichlermarc can you let me know once you know which version it would be? so I can update the docs accordingly before it gets merged
|
This also fixes #2353 since the code that causes this will be removed and the bug does not exist for the new semantic conventions. I'll link it. |
pichlermarc
left a comment
There was a problem hiding this comment.
Thank you for working on this 🙌
I think the title needs to be updated (we're not only emitting stable-only metrics but also spans and their attributes follow the new semconv with this change).
| import type * as api from '@opentelemetry/api'; | ||
| import { | ||
| hrTimeToNanoseconds, | ||
| timeInputToHrTime, |
There was a problem hiding this comment.
We'll have to keep everything in @opentelemetry/sdk-trace-web around for now, otherwise we'll have to delay this PR until SDK 3.0
We'll deprecate this package anyway though, so it'll go away then. :)
There was a problem hiding this comment.
can you clarify what do I need to add back? you mean just the semconv file I deleted or the changes on utils and test files?
There was a problem hiding this comment.
you mean just the semconv file I deleted or the changes on utils and test files?
Both. Essentially we'd need to undo everything that was changed in @opentelemetry/sdk-trace-web.
Unfortunately, it's a stable package and the spec requires us to version all stable packages in unison. So merging this PR as-is - with a breaking change in @opentelemetry/sdk-trace-web - would require us to bump all SDK packages to 3.0.0 on the next release.
Our current plan for this package is that we'll deprecate and retire it when we publish 3.0.0, ref #5290 (comment)
David has created an issue to decide how to deal with the utils going forward when @opentelemetry/sdk-trace-web is deprecated/removed: #6591
For this PR, it's okay/easier if we just make the existing instrumentations emit fully stable semconv and leave the future of the @opentelemetry/sdk-trace-web package to #5290 & #6591
|
@pichlermarc let me know if you want any other changes. |
Part Of #6240
Fixes #2353