Files
Javier Molina ReyesandGitHub cbc23d6a17 feat: rename batches property of Trace to ResourceSpans to be OTEL compatible (#3895)
* rename batches property of Trace to ResourceSpans to be OTEL compatible

* added test to assert that the response hasn't change

* update test data

* fix unmarshall test

* changelog

* fix e2e

* try to fix flaky test

* create helper functions to marshal and unmarshal traces to OTEL compatible schema

* added better documentation
2024-07-25 09:55:35 -04:00

1312 lines
33 KiB
JSON

{
"resourceSpans": [
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "mythical-requester"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "kAf+pIRVStc=",
"name": "requester",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672496201216",
"endTimeUnixNano": "1658325672511518720",
"attributes": [
{
"key": "beast",
"value": {
"stringValue": "illithid"
}
}
],
"status": {
"code": "STATUS_CODE_ERROR"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-net",
"version": "0.27.1"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "H8vBui/9k+s=",
"parentSpanId": "kAf+pIRVStc=",
"name": "tcp.connect",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672496666880",
"endTimeUnixNano": "1658325672498567424",
"attributes": [
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "net.peer.port",
"value": {
"stringValue": "4000"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "172.22.0.7"
}
},
{
"key": "net.host.ip",
"value": {
"stringValue": "172.22.0.11"
}
},
{
"key": "net.host.port",
"value": {
"intValue": "44212"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-http",
"version": "0.27.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "KJg4Ps+hpCE=",
"parentSpanId": "kAf+pIRVStc=",
"name": "POST /:endpoint",
"kind": "SPAN_KIND_SERVER",
"startTimeUnixNano": "1658325672499550976",
"endTimeUnixNano": "1658325672506860544",
"attributes": [
{
"key": "http.url",
"value": {
"stringValue": "http://mythical-server:4000/illithid"
}
},
{
"key": "http.host",
"value": {
"stringValue": "mythical-server:4000"
}
},
{
"key": "net.host.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "http.method",
"value": {
"stringValue": "POST"
}
},
{
"key": "http.target",
"value": {
"stringValue": "/illithid"
}
},
{
"key": "http.request_content_length_uncompressed",
"value": {
"intValue": "16"
}
},
{
"key": "http.flavor",
"value": {
"stringValue": "1.1"
}
},
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
},
{
"key": "span.kind",
"value": {
"intValue": "2"
}
},
{
"key": "net.host.ip",
"value": {
"stringValue": "::ffff:172.22.0.7"
}
},
{
"key": "net.host.port",
"value": {
"intValue": "4000"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "::ffff:172.22.0.11"
}
},
{
"key": "net.peer.port",
"value": {
"intValue": "44212"
}
},
{
"key": "http.status_code",
"value": {
"intValue": "500"
}
},
{
"key": "http.status_text",
"value": {
"stringValue": "INTERNAL SERVER ERROR"
}
},
{
"key": "http.route",
"value": {
"stringValue": "/:endpoint"
}
}
],
"status": {
"code": "STATUS_CODE_ERROR"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-express",
"version": "0.28.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "ixGu2J+yW7Y=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "middleware - query",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672499683072",
"endTimeUnixNano": "1658325672499706880",
"attributes": [
{
"key": "http.route",
"value": {
"stringValue": "/"
}
},
{
"key": "express.name",
"value": {
"stringValue": "query"
}
},
{
"key": "express.type",
"value": {
"stringValue": "middleware"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-express",
"version": "0.28.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "Ba0AIo2GnC8=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "middleware - expressInit",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672500851200",
"endTimeUnixNano": "1658325672500956416",
"attributes": [
{
"key": "http.route",
"value": {
"stringValue": "/"
}
},
{
"key": "express.name",
"value": {
"stringValue": "expressInit"
}
},
{
"key": "express.type",
"value": {
"stringValue": "middleware"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-express",
"version": "0.28.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "5Ksw2VlnSmA=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "middleware - jsonParser",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672501703680",
"endTimeUnixNano": "1658325672502426112",
"attributes": [
{
"key": "http.route",
"value": {
"stringValue": "/"
}
},
{
"key": "express.name",
"value": {
"stringValue": "jsonParser"
}
},
{
"key": "express.type",
"value": {
"stringValue": "middleware"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-express",
"version": "0.28.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "aStlqd29Nds=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "request handler - /:endpoint",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672502643712",
"endTimeUnixNano": "1658325672502647552",
"attributes": [
{
"key": "http.route",
"value": {
"stringValue": "/:endpoint"
}
},
{
"key": "express.name",
"value": {
"stringValue": "/:endpoint"
}
},
{
"key": "express.type",
"value": {
"stringValue": "request_handler"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-pg",
"version": "0.28.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "wa5s6jmo/Es=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "pg.query:INSERT",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672502820608",
"endTimeUnixNano": "1658325672505599232",
"attributes": [
{
"key": "db.name",
"value": {
"stringValue": "postgres"
}
},
{
"key": "db.system",
"value": {
"stringValue": "postgresql"
}
},
{
"key": "db.connection_string",
"value": {
"stringValue": "jdbc:postgresql://mythical-database:5432/postgres"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "mythical-database"
}
},
{
"key": "net.peer.port",
"value": {
"intValue": "5432"
}
},
{
"key": "db.user",
"value": {
"stringValue": "postgres"
}
},
{
"key": "db.statement",
"value": {
"stringValue": "INSERT INTO illithid(name) VALUES ($1)"
}
}
],
"status": {
"message": "null value in column \"name\" of relation \"illithid\" violates not-null constraint",
"code": "STATUS_CODE_ERROR"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-http",
"version": "0.27.0"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "OkvVhGt0TNE=",
"parentSpanId": "KJg4Ps+hpCE=",
"name": "HTTP POST",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672507591168",
"endTimeUnixNano": "1658325672513276160",
"attributes": [
{
"key": "http.url",
"value": {
"stringValue": "http://loki:3100/loki/api/v1/push"
}
},
{
"key": "http.method",
"value": {
"stringValue": "POST"
}
},
{
"key": "http.target",
"value": {
"stringValue": "/loki/api/v1/push"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "loki"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "172.22.0.6"
}
},
{
"key": "net.peer.port",
"value": {
"intValue": "3100"
}
},
{
"key": "http.host",
"value": {
"stringValue": "loki:3100"
}
},
{
"key": "http.status_code",
"value": {
"intValue": "204"
}
},
{
"key": "http.status_text",
"value": {
"stringValue": "NO CONTENT"
}
},
{
"key": "http.flavor",
"value": {
"stringValue": "1.1"
}
},
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
}
],
"status": {
"code": "STATUS_CODE_OK"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-net",
"version": "0.27.1"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "hv+Rry3/+4A=",
"parentSpanId": "OkvVhGt0TNE=",
"name": "tcp.connect",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672507767552",
"endTimeUnixNano": "1658325672510471168",
"attributes": [
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "loki"
}
},
{
"key": "net.peer.port",
"value": {
"stringValue": "3100"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "172.22.0.6"
}
},
{
"key": "net.host.ip",
"value": {
"stringValue": "172.22.0.7"
}
},
{
"key": "net.host.port",
"value": {
"intValue": "48352"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-server"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.5"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-dns",
"version": "0.27.1"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "cp3Zs8O95zk=",
"parentSpanId": "OkvVhGt0TNE=",
"name": "dns.lookup",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672508146944",
"endTimeUnixNano": "1658325672509536512",
"attributes": [
{
"key": "peer.ipv4",
"value": {
"stringValue": "172.22.0.6"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "mythical-requester"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "v3j1HkuA/7Y=",
"parentSpanId": "kAf+pIRVStc=",
"name": "log_to_loki",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672510916608",
"endTimeUnixNano": "1658325672521824256",
"status": {
"code": "STATUS_CODE_OK"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "mythical-requester"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "ncQw0lybaxU=",
"parentSpanId": "kAf+pIRVStc=",
"name": "log_to_loki",
"kind": "SPAN_KIND_CLIENT",
"startTimeUnixNano": "1658325672511422464",
"endTimeUnixNano": "1658325672520672256",
"status": {
"code": "STATUS_CODE_OK"
}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-net",
"version": "0.27.1"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "kFlGolt07S8=",
"parentSpanId": "kAf+pIRVStc=",
"name": "tcp.connect",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672512283904",
"endTimeUnixNano": "1658325672519590912",
"attributes": [
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "loki"
}
},
{
"key": "net.peer.port",
"value": {
"stringValue": "3100"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "172.22.0.6"
}
},
{
"key": "net.host.ip",
"value": {
"stringValue": "172.22.0.11"
}
},
{
"key": "net.host.port",
"value": {
"intValue": "38858"
}
}
],
"status": {}
}
]
}
]
},
{
"resource": {
"attributes": [
{
"key": "service.name",
"value": {
"stringValue": "mythical-requester"
}
},
{
"key": "telemetry.sdk.language",
"value": {
"stringValue": "nodejs"
}
},
{
"key": "telemetry.sdk.name",
"value": {
"stringValue": "opentelemetry"
}
},
{
"key": "telemetry.sdk.version",
"value": {
"stringValue": "1.4.0"
}
},
{
"key": "ip",
"value": {
"stringValue": "1.2.3.4"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "@opentelemetry/instrumentation-net",
"version": "0.27.1"
},
"spans": [
{
"traceId": "6Lbf+fjUSyjxsivDvS9naA==",
"spanId": "NEkL/q0FA4Q=",
"parentSpanId": "kAf+pIRVStc=",
"name": "tcp.connect",
"kind": "SPAN_KIND_INTERNAL",
"startTimeUnixNano": "1658325672512482304",
"endTimeUnixNano": "1658325672517447936",
"attributes": [
{
"key": "net.transport",
"value": {
"stringValue": "ip_tcp"
}
},
{
"key": "net.peer.name",
"value": {
"stringValue": "loki"
}
},
{
"key": "net.peer.port",
"value": {
"stringValue": "3100"
}
},
{
"key": "net.peer.ip",
"value": {
"stringValue": "172.22.0.6"
}
},
{
"key": "net.host.ip",
"value": {
"stringValue": "172.22.0.11"
}
},
{
"key": "net.host.port",
"value": {
"intValue": "38856"
}
}
],
"status": {}
}
]
}
]
}
]
}