Skip to content

Move common HTTP client metrics out from .NET metrics definitions yaml #800

@joaopgrassi

Description

@joaopgrassi

The .NET metrics conventions defined in Semantic Conventions for HTTP client and server metrics emitted by .NET are marked as stable in that document, but in fact are not stable.

The document is marked as stable because, conceptually, they are stable since they are part of .NET 8.

The problem is that those metrics were never stabilized by OpenTelemetry. This results in a mixed situation because the metrics in OTel are not stable, but they are stable in .NET.

Because we can't change the .NET to experimental, the current plan is:

  • Extract the metrics from the dotnet-http.yaml and move them to model/metrics/http.yaml
  • Remove the auto-generation snippet from the markdown file dotnet-http-metric.md
  • Include the new metrics as part of docs/http/http-metrics.md as experimental

Furthermore, for .NET going forward what we have in mind is: (from @lmolkova in #785 (comment))

  1. if OTel stabilizes these metrics without any incompatible changes
    • then .NET semconv can be updated to reference existing metric instead of copy-paste.
  2. if any breaking changes happen on the OTel side, .NET has a choice:
    • to stay with non-standard metric/attribute - then we'll keep copy-paste for .NET
    • deprecate/break in the next major version and follow OTel-defined stable metric/attribute

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions