Skip to content

fix(otel): HTTP server spans carry the Required url.scheme and url.path (E1) - #53

Merged
ETWOYA merged 2 commits into
mainfrom
fix/3428-semconv-required-e1
Sep 30, 2026
Merged

ETWOYA merged 2 commits into
mainfrom
fix/3428-semconv-required-e1

Conversation

@dankoverride

Copy link
Copy Markdown
Collaborator

Fixes AB#3428 (SP-120, E1).

Every HTTP server span omitted url.scheme and url.path, both Required on HTTP server spans by the OpenTelemetry semantic conventions (http-spans). They are now derived from the calling client's url.full, and server.address / server.port mirror the host the client called, so each client span and the server span it produced agree on where the request went.

  • Adds attributes, removes none. Safe for every DeepCube client.
  • Side effect: older clients now see shop.example.com answered by the api-gateway, which removes that phantom from every grid.
  • Tests: a new test asserts the Required server attributes on every HTTP server span, and that path/host/port/scheme equal the parent client's. Red on 047901b (36 violations plus the healthz path mismatch), green after (go test ./..., 23 pass).

Deliberately not in this PR: E2 (host attributes on five client spans). On clients without the D-C detector change, E2 creates new phantoms (api.sendgrid.com, elasticsearch.internal), and Argo auto-syncs a pin bump in minutes. It is held until that ruling.

Deploying still takes a separate IF.GitOps pin bump after a release tag.

🤖 Generated with Claude Code

…th (E1)

Every HTTP server span omitted url.scheme and url.path, both Required on
HTTP server spans by the semantic conventions. They are now derived from
the calling client's url.full, and server.address/server.port mirror the
host the client called, so a client span and the server span it produced
agree on where the request went.

Safe for every DeepCube client: it adds attributes and removes none. It
also lets older clients see shop.example.com answered. Client-span host
attributes (E2) are held back because they create new "no server"
candidates on clients without the D-C detector change.

AB#3428, SP-120.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ETWOYA
ETWOYA previously approved these changes Sep 30, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ETWOYA
ETWOYA merged commit cea4b0d into main Sep 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants