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
{{ message }}
Repository navigation
JsonReader and protobuf-free partial-success response parsing #113
Partial-success responses parsed and logged without protobuf, so the OTLP HTTP client no longer depends on the protobuf JSON-to-message path on its read side. Rejected counts and error messages stay visible, which matters on a device with no other diagnostic channel.
The reader is deliberately document-shaped rather than token-shaped, roughly five accessors. The asymmetry with the writer is intentional and should be stated explicitly when this is proposed upstream: the writer handles unbounded telemetry batches where streaming matters, while the reader handles a two-field response where a pull parser would be pure cost.
Acceptance criteria
A minimal JsonReader interface exists with an nlohmann-backed default
The response path parses partial-success fields without protobuf
Rejected counts and error messages are logged through the SDK internal log handler
A malformed or truncated response body is handled without crashing and without exceptions
An empty or absent body is treated as full success, as before
The asymmetry with the writer is documented in the interface
Implemented in ltowarek/opentelemetry-cpp@974fcfbe6e2c1c48188d883eecc6cd4a4a9dffb1 ("Parse OTLP/JSON partial-success responses without protobuf", branch otlp-json-no-protobuf), which adds JsonReader/JsonReaderFactory with an nlohmann-backed default and the OTLP-aware partial-success parsing/logging on top of it. Wired into the actual exporters in @dcae47269dc3cbd91fea366f550b4517edb550b6, which is what makes the read path reachable end to end.
Activity
ltowarek commentedon Sep 11, 2026
Implemented in
ltowarek/opentelemetry-cpp@974fcfbe6e2c1c48188d883eecc6cd4a4a9dffb1("Parse OTLP/JSON partial-success responses without protobuf", branchotlp-json-no-protobuf), which addsJsonReader/JsonReaderFactorywith an nlohmann-backed default and the OTLP-aware partial-success parsing/logging on top of it. Wired into the actual exporters in@dcae47269dc3cbd91fea366f550b4517edb550b6, which is what makes the read path reachable end to end.