You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(span-stats): encode SpanKind and GRPCStatusCode in v0.6 stats payload (#9190)
* feat(span-stats): encode SpanKind and GRPCStatusCode in v0.6 stats payload
The Agent's msgpack decoder supports SpanKind and GRPCStatusCode fields
but the encoder was never wired to send them, so spans differing only by
span kind or gRPC status were silently merged at the tracer level. This
adds both fields to the aggregation key, serializes them via toJSON(),
and encodes them in SpanStatsEncoder (map prefix 15 → 17).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore(span-stats): add GRPC_STATUS_CODE to ext/tags TypeScript declaration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(span-stats): normalize GRPCStatusCode to numeric string to match Agent convention
The Agent's parseGRPCStatusString always produces numeric strings (e.g. "14"
for UNAVAILABLE). String status names like "NOT_FOUND" are now converted to
their numeric equivalents ("5") so client-computed stats aggregate correctly
with Agent-computed stats.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(span-stats): check OTel gRPC status aliases rpc.grpc.status_code and rpc.response.status_code
The OTel bridge stores attributes under their original key, so gRPC status
set via rpc.grpc.status_code or rpc.response.status_code was silently
dropped from GRPCStatusCode in client-side stats.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(span-stats): use bytes.writeMapPrefix for map prefix encoding
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix(span-stats): convert numeric rpcStatusCode back to canonical name in OTLP output
The P1 fix stores GRPCStatusCode as a numeric string in SpanAggKey for
correct Agent v0.6 stats aggregation, but the OTLP transformer must emit
the canonical name string (e.g. 'NOT_FOUND') as rpc.response.status_code.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments