OpenTelemetry Traces
Parseable enables ingesting the OpenTelemetry traces sent from the OTEL collectors in the JSON format. In order to do so, Parseable exposes default endpoint /v1/traces at which the OTEL collector sends the span data.
Below is the sample configuration of the OTEL collector to send the traces to Parseable
Support for Protocol Buffers
Enterprise This feature requires an Enterprise license.
Parseable also supports ingesting the OpenTelemetry Traces sent from the OTEL collectors in the Protocol Buffers format. Below is an example configuration of the OTEL collector to send the traces to Parseable in the Protocol Buffers format.
Data Flattening
The OpenTelemetry traces that are in the form of a nested JSON. When the log event is received at /v1/traces
endpoint, Parseable will flatten the nested JSON to a flat JSON object. This is done to make the data more queryable and filterable. Here's a quick comparison of the nested JSON and the flattened JSON:
OTEL JSON format sample:
Flattened JSON
All the resource attributes are stored as key-value pair where each attribute key becomes the field and the value, which may be of one of stringValue/intValue/doubleValue etc
, becomes the value for that particular field.
Each event under span record in the incoming log event is stored as individual record in Parseable and all resource or span attributes, scope name, version, span elements such as traceId, spanId, name, kind etc which are at the parent level of event are copied in each ingested record. In the above example, there are 2 events fetchStart
and domainLookupStart
under the span record, thus, Parseable stores the incoming event as 2 records making it simpler to query and analyse.