Open breedx-splk opened 1 year ago
Some related issues on the topic: #5598, #3651, #3486.
Summarizing the reasons to not add:
Some backends (read: RUM) might find it simpler and quicker to support a single JSON encoding.
Do you have any known examples of this, or is it hypothetical? My read is that a server is always going to prefer the protobuf binary encoding because the smaller payloads require less resources to deserialize. And given that the deserialization is abstracted away to a library, the server's developer shouldn't care whether the payload is json or protobuf binary.
Do you have any known examples of this, or is it hypothetical?
If exporting metrics to NewRelic via their metric API, the payload must be in JSON, see here
Do you have any known examples of this, or is it hypothetical?
If exporting metrics to NewRelic via their metric API, the payload must be in JSON, see here
Thanks for the link, but I'm pretty sure that's a vendor-specific format and not OTLP right?
Sorry, I realised after further research that NewRelic has a separate OTLP endpoint that they expect you to use
The OpenTelemetry specification for OTLP is stable. Part of this specification includes a description of the protobuf-to-json mapping, with a few explicit deviations called out. This specification also indicates that telemetry data sent via HTTP POST may be encoded as either protobuf or json.
At present, there is no simple, out-of-the-box way for users to specify that they want to use JSON encoding for HTTP. There are constants to request an OTLP exporter from autoconfigure, and there are constants for specifying
grpc
vs.http/protobuf
, buthttp/json
is notably missing.I have personally seen users asking for this capability. I think that there are two primary use cases for this:
So, opening this issue so that we can discuss and clear the way for JSON encoding from our OTLP exporter.