feat(otel): Add opt-in OpenTelemetry Semantics mode to improve OTLP trace compatibility#8796
Conversation
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 2 occurrences of : - "resource_spans": [
+ "resourceSpans": [
[...]
- "string_value": "MyServiceName"
+ "stringValue": "MyServiceName"
[...]
- "string_value": "1.0.x"
+ "stringValue": "1.0.x"
[...]
- "string_value": "Guid_1"
+ "stringValue": "Guid_1"
[...]
- "string_value": "sdk-name"
+ "stringValue": "sdk-name"
[...]
- "string_value": "dotnet"
+ "stringValue": "dotnet"
[...]
- "string_value": "sdk-version"
+ "stringValue": "sdk-version"
[...]
- "scope_spans": [
+ "scopeSpans": [
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "int_value": "404"
+ "intValue": "404"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "code": "STATUS_CODE_ERROR"
+ "code": 2
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "code": "STATUS_CODE_OK"
+ "code": 1
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "time_unix_nano": "0",
+ "timeUnixNano": "0",
[...]
- "string_value": "ArgumentException"
+ "stringValue": "ArgumentException"
[...]
- "string_value": "System.ArgumentException: Example argument exception"
+ "stringValue": "System.ArgumentException: Example argument exception"
[...]
- "string_value": "Example argument exception"
+ "stringValue": "Example argument exception"
1 occurrences of : - "code": "STATUS_CODE_ERROR"
+ "code": 2
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Redis"
+ "stringValue": "Redis"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_PRODUCER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 4,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CONSUMER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 5,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws-api"
+ "stringValue": "aws-api"
[...]
- "string_value": "S3"
+ "stringValue": "S3"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws-api"
+ "stringValue": "aws-api"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GRPC"
+ "stringValue": "GRPC"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GRPC"
+ "stringValue": "GRPC"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws"
+ "stringValue": "aws"
[...]
- "string_value": "My-Function"
+ "stringValue": "My-Function"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Datasource"
+ "stringValue": "Datasource"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "query"
+ "stringValue": "query"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Amqp"
+ "stringValue": "Amqp"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Amqp"
+ "stringValue": "Amqp"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CONSUMER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 5,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_PRODUCER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 4,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Saying hello!"
+ "stringValue": "Saying hello!"
[...]
- "string_value": "\"str"
+ "stringValue": "\"str"
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "bool_value": true
+ "boolValue": true
[...]
- "double_value": 2.0
+ "doubleValue": 2.0
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "string_value": "\"str1\""
+ "stringValue": "\"str1\""
[...]
- "string_value": "str2"
+ "stringValue": "str2"
[...]
- "string_value": "str3"
+ "stringValue": "str3"
3 occurrences of : - "array_value": {}
+ "arrayValue": {}
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "int_value": "2"
+ "intValue": "2"
[...]
- "int_value": "3"
+ "intValue": "3"
3 occurrences of : - "array_value": {}
+ "arrayValue": {}
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "bool_value": false
+ "boolValue": false
[...]
- "bool_value": true
+ "boolValue": true
[...]
- "bool_value": false
+ "boolValue": false
3 occurrences of : - "array_value": {}
+ "arrayValue": {}
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "double_value": 4.1
+ "doubleValue": 4.1
[...]
- "double_value": 5.0
+ "doubleValue": 5.0
[...]
- "double_value": 6.0
+ "doubleValue": 6.0
3 occurrences of : - "array_value": {}
+ "arrayValue": {}
[...]
- "time_unix_nano": "0",
+ "timeUnixNano": "0",
[...]
+ "timeUnixNano": "0",
[...]
- "time_unix_nano": "0",
+ "timeUnixNano": "0",
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "string_value": "Hello, World!"
+ "stringValue": "Hello, World!"
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "int_value": "2"
+ "intValue": "2"
[...]
- "int_value": "3"
+ "intValue": "3"
6 occurrences of : - "array_value": {
+ "arrayValue": {
[...]
- "string_value": "str"
+ "stringValue": "str"
[...]
- "string_value": "1"
+ "stringValue": "1"
2 occurrences of : - "array_value": {
+ "arrayValue": {
[...]
- "string_value": "str"
+ "stringValue": "str"
[...]
- "int_value": "2"
+ "intValue": "2"
6 occurrences of : - "array_value": {
+ "arrayValue": {
[...]
- "string_value": "System.String[]"
+ "stringValue": "System.String[]"
[...]
- "string_value": "System.String[]"
+ "stringValue": "System.String[]"
3 occurrences of : - "string_value": "System.Collections.Generic.Dictionary`2[System.String,System.String]"
+ "stringValue": "System.Collections.Generic.Dictionary`2[System.String,System.String]"
[...]
- "time_unix_nano": "0",
+ "timeUnixNano": "0",
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "string_value": "Hello, World!"
+ "stringValue": "Hello, World!"
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "int_value": "2"
+ "intValue": "2"
[...]
- "int_value": "3"
+ "intValue": "3"
3 occurrences of : - "string_value": "System.Collections.Generic.Dictionary`2[System.String,System.String]"
+ "stringValue": "System.Collections.Generic.Dictionary`2[System.String,System.String]"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "int_value": "404"
+ "intValue": "404"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "string_value": "ResourceNameOverride"
+ "stringValue": "ResourceNameOverride"
[...]
- "string_value": "OperationNameOverride"
+ "stringValue": "OperationNameOverride"
[...]
- "string_value": "ServiceNameOverride"
+ "stringValue": "ServiceNameOverride"
[...]
- "string_value": "SpanTypeOverride"
+ "stringValue": "SpanTypeOverride"
[...]
- "string_value": "true"
+ "stringValue": "true"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
1 occurrences of : - "resource_spans": [
+ "resourceSpans": [
[...]
- "string_value": "sdk-name"
+ "stringValue": "sdk-name"
[...]
- "string_value": "dotnet"
+ "stringValue": "dotnet"
[...]
- "string_value": "sdk-version"
+ "stringValue": "sdk-version"
[...]
- "string_value": "unknown_service:dotnet"
+ "stringValue": "unknown_service:dotnet"
[...]
- "scope_spans": [
+ "scopeSpans": [
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
1 occurrences of : - "resource_spans": [
+ "resourceSpans": [
[...]
- "string_value": "MyServiceName"
+ "stringValue": "MyServiceName"
[...]
- "string_value": "1.0.x"
+ "stringValue": "1.0.x"
[...]
- "string_value": "Guid_1"
+ "stringValue": "Guid_1"
[...]
- "scope_spans": [
+ "scopeSpans": [
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "int_value": "404"
+ "intValue": "404"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "code": "STATUS_CODE_ERROR"
+ "code": 2
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "code": "STATUS_CODE_OK"
+ "code": 1
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "time_unix_nano": "0",
+ "timeUnixNano": "0",
[...]
- "string_value": "ArgumentException"
+ "stringValue": "ArgumentException"
[...]
- "string_value": "System.ArgumentException: Example argument exception"
+ "stringValue": "System.ArgumentException: Example argument exception"
[...]
- "string_value": "Example argument exception"
+ "stringValue": "Example argument exception"
2 occurrences of : - "code": "STATUS_CODE_ERROR"
+ "code": 2
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Redis"
+ "stringValue": "Redis"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_PRODUCER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 4,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CONSUMER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 5,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Kafka"
+ "stringValue": "Kafka"
[...]
- "string_value": "Receive"
+ "stringValue": "Receive"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws-api"
+ "stringValue": "aws-api"
[...]
- "string_value": "S3"
+ "stringValue": "S3"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws-api"
+ "stringValue": "aws-api"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GRPC"
+ "stringValue": "GRPC"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GRPC"
+ "stringValue": "GRPC"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "aws"
+ "stringValue": "aws"
[...]
- "string_value": "My-Function"
+ "stringValue": "My-Function"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Datasource"
+ "stringValue": "Datasource"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "query"
+ "stringValue": "query"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Amqp"
+ "stringValue": "Amqp"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Amqp"
+ "stringValue": "Amqp"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CLIENT",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 3,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_CONSUMER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 5,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_PRODUCER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 4,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "Saying hello!"
+ "stringValue": "Saying hello!"
[...]
- "string_value": "\"str"
+ "stringValue": "\"str"
[...]
- "int_value": "1"
+ "intValue": "1"
[...]
- "bool_value": true
+ "boolValue": true
[...]
- "double_value": 2.0
+ "doubleValue": 2.0
[...]
- "array_value": {
+ "arrayValue": {
[...]
- "string_value": "\"str1\""
+ "stringValue": "\"str1\""
[...]
- "string_value": "str2"
+ "stringValue": "str2"
[...]
- "string_value": "str3"
+ "stringValue": "str3"
4 occurrences of : - "array_value": {
+ "arrayValue": {
[...]
- "string_value": "str"
+ "stringValue": "str"
[...]
- "string_value": "2"
+ "stringValue": "2"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "int_value": "404"
+ "intValue": "404"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "string_value": "ResourceNameOverride"
+ "stringValue": "ResourceNameOverride"
[...]
- "string_value": "OperationNameOverride"
+ "stringValue": "OperationNameOverride"
[...]
- "string_value": "ServiceNameOverride"
+ "stringValue": "ServiceNameOverride"
[...]
- "string_value": "SpanTypeOverride"
+ "stringValue": "SpanTypeOverride"
[...]
- "string_value": "true"
+ "stringValue": "true"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
1 occurrences of : - "resource_spans": [
+ "resourceSpans": [
[...]
- "string_value": "unknown_service:dotnet"
+ "stringValue": "unknown_service:dotnet"
[...]
- "scope_spans": [
+ "scopeSpans": [
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id"
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "int_value": "404"
+ "intValue": "404"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
- "parent_span_id": "normalized-parent-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_SERVER",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0",
+ "kind": 2,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0",
[...]
- "string_value": "GET"
+ "stringValue": "GET"
[...]
- "string_value": "ResourceNameOverride"
+ "stringValue": "ResourceNameOverride"
[...]
- "string_value": "OperationNameOverride"
+ "stringValue": "OperationNameOverride"
[...]
- "string_value": "ServiceNameOverride"
+ "stringValue": "ServiceNameOverride"
[...]
- "string_value": "SpanTypeOverride"
+ "stringValue": "SpanTypeOverride"
[...]
- "string_value": "true"
+ "stringValue": "true"
1 occurrences of : - "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "parent_span_id": "normalized-parent-span-id",
+ "parentSpanId": "normalized-parent-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
1 occurrences of : - "resource_spans": [
+ "resourceSpans": [
[...]
- "string_value": "sdk-name"
+ "stringValue": "sdk-name"
[...]
- "string_value": "dotnet"
+ "stringValue": "dotnet"
[...]
- "string_value": "sdk-version"
+ "stringValue": "sdk-version"
[...]
- "string_value": "unknown_service:dotnet"
+ "stringValue": "unknown_service:dotnet"
[...]
- "scope_spans": [
+ "scopeSpans": [
[...]
- "trace_id": "normalized-trace-id",
- "span_id": "normalized-span-id",
+ "traceId": "normalized-trace-id",
+ "spanId": "normalized-span-id",
[...]
- "kind": "SPAN_KIND_INTERNAL",
- "start_time_unix_nano": "0",
- "end_time_unix_nano": "0"
+ "kind": 1,
+ "startTimeUnixNano": "0",
+ "endTimeUnixNano": "0"
|
This comment has been minimized.
This comment has been minimized.
853ae26 to
7aede3f
Compare
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8796) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (72ms) : 68, 77
master - mean (72ms) : 68, 75
section Bailout
This PR (8796) - mean (78ms) : 74, 81
master - mean (78ms) : 75, 80
section CallTarget+Inlining+NGEN
This PR (8796) - mean (1,087ms) : 1040, 1133
master - mean (1,093ms) : 1049, 1138
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (112ms) : 106, 119
master - mean (113ms) : 107, 120
section Bailout
This PR (8796) - mean (113ms) : 108, 117
master - mean (113ms) : 108, 118
section CallTarget+Inlining+NGEN
This PR (8796) - mean (783ms) : 754, 811
master - mean (783ms) : 763, 802
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (97ms) : 94, 100
master - mean (101ms) : 95, 107
section Bailout
This PR (8796) - mean (97ms) : 96, 99
master - mean (99ms) : 97, 102
section CallTarget+Inlining+NGEN
This PR (8796) - mean (943ms) : 908, 978
master - mean (944ms) : 884, 1005
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (99ms) : 94, 105
master - mean (97ms) : 94, 99
section Bailout
This PR (8796) - mean (99ms) : 94, 104
master - mean (100ms) : 95, 106
section CallTarget+Inlining+NGEN
This PR (8796) - mean (823ms) : 778, 868
master - mean (815ms) : 784, 846
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (211ms) : 205, 218
master - mean (216ms) : 212, 220
section Bailout
This PR (8796) - mean (216ms) : 211, 221
master - mean (220ms) : 216, 223
section CallTarget+Inlining+NGEN
This PR (8796) - mean (1,260ms) : 1204, 1316
master - mean (1,287ms) : 1243, 1331
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (303ms) : 295, 311
master - mean (312ms) : 304, 320
section Bailout
This PR (8796) - mean (305ms) : 299, 310
master - mean (312ms) : 306, 317
section CallTarget+Inlining+NGEN
This PR (8796) - mean (1,011ms) : 991, 1032
master - mean (1,036ms) : 1011, 1062
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (298ms) : 291, 304
master - mean (304ms) : 296, 312
section Bailout
This PR (8796) - mean (298ms) : 292, 303
master - mean (303ms) : 298, 307
section CallTarget+Inlining+NGEN
This PR (8796) - mean (1,202ms) : 1168, 1236
master - mean (1,212ms) : 1164, 1260
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8796) - mean (293ms) : 287, 299
master - mean (302ms) : 296, 308
section Bailout
This PR (8796) - mean (293ms) : 289, 298
master - mean (302ms) : 295, 308
section CallTarget+Inlining+NGEN
This PR (8796) - mean (1,079ms) : 1005, 1154
master - mean (1,102ms) : 1004, 1200
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BenchmarksBenchmark execution time: 2026-07-14 20:48:10 Comparing candidate commit 5c5bdc5 in PR branch Found 1 performance improvements and 2 performance regressions! Performance is the same for 69 metrics, 0 unstable metrics, 59 known flaky benchmarks, 67 flaky benchmarks without significant changes.
|
| // Unclosed repeated ResourceSpans field | ||
| // Unclosed ExportTraceServiceRequest message | ||
| } | ||
| private readonly bool _openTelemetrySemanticsEnabled; |
There was a problem hiding this comment.
The actual changes in this file are storing this new bool _openTelemetrySemanticsEnabled and using it to stop adding Datadog-specific span attributes. The rest of the changes are due to moving methods around to satisfy StyleCops ordering after changing methods from private to internal
| // by the 7th doubling to maintain efficient allocation without frequent resizing. | ||
| private const int InitialBufferSize = 750000; | ||
|
|
||
| private readonly bool _openTelemetrySemanticsEnabled; |
There was a problem hiding this comment.
The actual changes in this file are storing this new bool _openTelemetrySemanticsEnabled and using it to stop adding Datadog-specific span attributes. The rest of the changes are due to moving methods around to satisfy StyleCops ordering after changing methods from private to internal
…LED.
When enabled, the tracer will not attempt to remap known OpenTelemetry attributes when handling OTEL spans and instead preserve them. A unit test has been added to assert that `Activity.SetTag("http.response.status_code", 200)` maintains both the original attribute key AND value (an integer)
…ce serializers from adding the following Datadog-specific attributes: - service.name - operation.name - resource.name - span.type
…emetryTraceCompatibilityEnabled This results in the following snapshot changes: - DD only attributes are no longer specially handled on the OTLP span - OtelSpan.RecordException does not get recorded as a span-level error - Incoming "http.status_code" and "http.response.status_code" tags are no longer special-cased and stringified (but they are converted into doubles which seems like a regression)
…o align the DD OTLP spans with the OTel OTLP spans. Removes the following span attributes: - otel.library.name - otel.library.version - otel.status_code - otel.trace_id
… emitted on OTLP spans when in OTel trace semantics is enabled
…ndicating whether to mark the span as error or not
…etException records span events rather than error tracking tags
9a8c75a to
264a6f0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 264a6f0080
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
link04
left a comment
There was a problem hiding this comment.
LGTM Thanks! Added one comment and aside from it:
Note these OTel-semantics items don't currently fail CI because the SubmitsOtlpTraces_DD_OtelSemantics snapshot was baselined from the current output, so it passes despite them (no status field on any span, and runtime-id / otel.status_description showing up as span attributes). Could we add a few targeted tests that would fail on the cases called out in the inline threads — and maybe the ones without coverage today (error.type/error.stack set directly by integrations like GraphQL/Quartz, _dd.origin, per-span service.name, and default-MessagePack export still writing the error tags)?
That said, if you feel the existing tests already cover what we care about for this initial effort, I'm totally fine with merging as is.
…g empty span attributes arrays differently
… correctly based on the OpenTelemetry API implementation. Do this by unifying the otel.status_code interpretation in OtlpHelpers.AgentConvertSpan
…uded in the OTLP mapper
@link04 thanks for the review! I added some unit tests to cover the OTLP status changes that I initially missed. For the rest, I'm using the snapshot testing because when you diff |
anna-git
left a comment
There was a problem hiding this comment.
thanks!! minor NIT and left a little comment on the OtlpHelpers about otel.status_code I'm unsure about
- Update inline data for unit testts where we assert attribute keys that should not be emitted from OtlpMapper - Update 'otel.status_code' handling for already standardized or custom values to keep the previous behavior
…el.status_code" tag
Summary of changes
Adds an opt-in OpenTelemetry semantics mode for OTLP trace export.
This feature is enabled by setting
DD_TRACE_OTEL_SEMANTICS_ENABLED=true, which was previously introduced in #8826. When enabled, spans produced from OpenTelemetry instrumentation are serialized closer to native OpenTelemetry SDK output by preserving OTel attribute keys and value types, and by suppressing Datadog-specific attributes from OTLP trace payloads.Reason for change
We should support scenarios where customers use the Datadog SDK but want their emitted OTLP data to look as close as possible to data produced by the OpenTelemetry SDK. This helps users route Datadog-instrumented applications through OTel collectors or other OTLP consumers without the payload including Datadog-specific span attributes that are not part of the OpenTelemetry semantic conventions.
Implementation details
Refactors
SetExceptionTagsflow intoSetException(exception, markAsError)so callers can add exception metadata without forcing the span error flag.Instrumentation changes:
OtlpHelpersso, when enabled, the Activity-to-span conversion does not do any attribute remapping or special handling for Datadog-specific attributes, preserving the original attribute keys and values on the OTLP span.otel.trace_id,otel.library.name,otel.library.version, andotel.status_codeto match newer OTel SDK behaviors.Span changes:
exceptionspan event withexception.type,exception.message, andexception.stacktraceattributes instead of Datadog error tags.OTLP Exporter changes
OtlpMapper.EmitAttributesFromSpanso OTel semantics mode suppresses Datadog-specific or compatibility-only span attributes, includingservice.name,operation.name,resource.name,span.type,component,span.kind,service.version,service.instance.id,otel.status_code, andhttp-client-handler-type.Test changes
Test coverage
OtlpMapperto assert Datadog attributes are emitted by default and suppressed when OTel semantics mode is enabled.http.status_codeandhttp.response.status_codeas OTel attributes when OTel semantics mode is enabled.Span.SetExceptionbehavior, including exception span event creation under OTel semantics mode.OpenTelemetrySdkTests.SubmitsOtlpTracesto run withDD_TRACE_OTEL_SEMANTICS_ENABLEDenabled and disabled for bothhttp/jsonandhttp/protobuf, adding a newOpenTelemetrySdkTests.SubmitsOtlpTraces_DD_OtelSemantics.verified.txtsnapshot file.Other details
N/A