$echo '{
< "traces": [
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60001",
< "name": "POST /api/checkout",
< "kind": "SERVER",
< "startTime": "2026-10-01T12:00:00.000Z",
< "durationMs": 420,
< "attributes": {
< "http.request.method": "POST",
< "http.route": "/api/checkout",
< "http.response.status_code": 200
< },
< "resource": {
< "service.name": "frontend",
< "service.version": "2.3.1",
< "deployment.environment.name": "production",
< "service.instance.id": "frontend-7d9f",
< "telemetry.sdk.language": "nodejs",
< "telemetry.sdk.version": "1.28.0"
< },
< "scope": "@opentelemetry/instrumentation-http"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60002",
< "parentSpanId": "a1b2c3d4e5f60001",
< "name": "POST",
< "kind": "CLIENT",
< "startTime": "2026-10-01T12:00:00.005Z",
< "durationMs": 400,
< "attributes": {
< "http.request.method": "POST",
< "server.address": "checkout.shop.svc.cluster.local",
< "url.full": "http://checkout.shop.svc.cluster.local:8080/checkout"
< },
< "resource": {
< "service.name": "frontend",
< "service.version": "2.3.1",
< "deployment.environment.name": "production",
< "service.instance.id": "frontend-7d9f",
< "telemetry.sdk.language": "nodejs",
< "telemetry.sdk.version": "1.28.0"
< },
< "scope": "@opentelemetry/instrumentation-http"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60003",
< "parentSpanId": "a1b2c3d4e5f60002",
< "name": "POST /checkout",
< "kind": "SERVER",
< "startTime": "2026-10-01T12:00:00.007Z",
< "durationMs": 395,
< "attributes": {
< "http.request.method": "POST",
< "http.route": "/checkout",
< "http.response.status_code": 200
< },
< "resource": {
< "service.name": "checkout",
< "service.version": "1.5.0",
< "deployment.environment.name": "production",
< "service.instance.id": "checkout-5c2a",
< "telemetry.sdk.language": "java",
< "telemetry.sdk.version": "1.43.0"
< },
< "scope": "io.opentelemetry.spring-webmvc-6.0"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60004",
< "parentSpanId": "a1b2c3d4e5f60003",
< "name": "SELECT orders",
< "kind": "CLIENT",
< "startTime": "2026-10-01T12:00:00.010Z",
< "durationMs": 60,
< "attributes": {
< "db.system.name": "postgresql",
< "db.operation.name": "SELECT",
< "server.address": "orders-db.shop.svc.cluster.local"
< },
< "resource": {
< "service.name": "checkout",
< "service.version": "1.5.0",
< "deployment.environment.name": "production",
< "service.instance.id": "checkout-5c2a",
< "telemetry.sdk.language": "java",
< "telemetry.sdk.version": "1.43.0"
< },
< "scope": "io.opentelemetry.jdbc"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60005",
< "parentSpanId": "a1b2c3d4e5f60003",
< "name": "GET",
< "kind": "CLIENT",
< "startTime": "2026-10-01T12:00:00.072Z",
< "durationMs": 50,
< "attributes": {
< "http.request.method": "GET",
< "server.address": "inventory.shop.svc.cluster.local",
< "url.full": "http://inventory.shop.svc.cluster.local:8080/stock/1042"
< },
< "resource": {
< "service.name": "checkout",
< "service.version": "1.5.0",
< "deployment.environment.name": "production",
< "service.instance.id": "checkout-5c2a",
< "telemetry.sdk.language": "java",
< "telemetry.sdk.version": "1.43.0"
< },
< "scope": "io.opentelemetry.java-http-client"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60006",
< "parentSpanId": "a1b2c3d4e5f60003",
< "name": "POST",
< "kind": "CLIENT",
< "startTime": "2026-10-01T12:00:00.124Z",
< "durationMs": 80,
< "attributes": {
< "http.request.method": "POST",
< "server.address": "fraud-check.shop.svc.cluster.local",
< "url.full": "http://fraud-check.shop.svc.cluster.local:8080/score"
< },
< "resource": {
< "service.name": "checkout",
< "service.version": "1.5.0",
< "deployment.environment.name": "production",
< "service.instance.id": "checkout-5c2a",
< "telemetry.sdk.language": "java",
< "telemetry.sdk.version": "1.43.0"
< },
< "scope": "io.opentelemetry.java-http-client"
< },
< {
< "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
< "spanId": "a1b2c3d4e5f60007",
< "parentSpanId": "a1b2c3d4e5f60003",
< "name": "POST",
< "kind": "CLIENT",
< "startTime": "2026-10-01T12:00:00.206Z",
< "durationMs": 120,
< "attributes": {
< "http.request.method": "POST",
< "server.address": "api.stripe.com",
< "url.full": "https://api.stripe.com/v1/payment_intents"
< },
< "resource": {
< "service.name": "checkout",
< "service.version": "1.5.0",
< "deployment.environment.name": "production",
< "service.instance.id": "checkout-5c2a",
< "telemetry.sdk.language": "java",
< "telemetry.sdk.version": "1.43.0"
< },
< "scope": "io.opentelemetry.java-http-client"
< },
< {
< "traceId": "8f2a1c9d3e4b5a6f7081928374655647",
< "spanId": "b1b2c3d4e5f60001",
< "name": "GET /stock/{sku}",
< "kind": "SERVER",
< "startTime": "2026-10-01T12:00:00.075Z",
< "durationMs": 44,
< "attributes": {
< "http.request.method": "GET",
< "http.route": "/stock/{sku}",
< "url.path": "/stock/1042",
< "http.response.status_code": 200
< },
< "resource": {
< "service.name": "inventory",
< "deployment.environment.name": "production",
< "telemetry.sdk.language": "python",
< "telemetry.sdk.version": "1.16.0"
< },
< "scope": "opentelemetry.instrumentation.fastapi"
< }
< ],
< "traceSetName": "shop-production",
< "expectedServices": [
< "frontend",
< "checkout",
< "inventory",
< "shipping"
< ]
<}' |
<apify call michiganpublictech/otel-coverage-auditor --silent --output-dataset