Skip to content

HTTP client spans: how to represent operation name/route and how to break things #923

@lmolkova

Description

@lmolkova

Area(s)

area:http

Is your change request related to a problem? Please describe.

See the original discussion in #675 (comment)

Describe the solution you'd like

Option 1:

  • http.route
    • change span name (GET -> GET user/{id}) - breaking
    • add to metrics (opt-in), but ideally recommended - breaking

Option 2:

  • url.template - client route would not match server one, so it should probably be recorded with a different attribute
    • change span name (GET -> GET user/{id}) - breaking
    • add to metrics (opt-in), but ideally recommended - breaking

Option 3:

  • http.client.operation.name - not necessarily a route, can be OpenAPI operation name
    • change span name (GET -> getUserById) - breaking
    • add to metrics (opt-in), but ideally recommended - breaking

Ideally we want to emit the attribute on metrics by default since it would improve HTTP client metrics significantly in a small amount of cases when route is available.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions