Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[APM Fix missing error.culprit (elastic#205242)
fixes [elastic#205240](elastic#205240) ## Summary Fixes the issue where `error.culprit` is always missing. <img width="800" alt="image" src="https://github.com/user-attachments/assets/9dad6797-dd40-4206-b508-daf8d69d653d" /> <img width="800" alt="image" src="https://github.com/user-attachments/assets/6a0ac25a-bc4b-4a26-b126-86eecbe7e769" /> ### How to test - Run `simple_trace` synthtrace scenario - Run the request below <details> <summary>POST logs-apm.error-default/_doc</summary> ``` POST logs-apm.error-default/_doc { "container": { "id": "80cc20ecab1b57865d7aca0f66ab75a0c6ec2c51f7c53da04a8540215369c359" }, "kubernetes": { "node": { "name": "ip-192-168-55-136.ec2.internal" }, "pod": { "uid": "9bbfe3dc-dace-4638-b8f5-aa6ccf435cbe", "name": "otel-demo-green-3-cartservice-5d5ccc86dd-gcxtr" }, "namespace": "otel-demo-green-3" }, "parent": { "id": "f39639f56a540e0e" }, "agent": { "name": "opentelemetry/dotnet", "version": "1.6.0" }, "source": { "port": 35136, "ip": "::ffff:192.168.50.132" }, "error": { "exception": [ { "handled": true, "message": "Exception (plain, .NET) without culprit", "type": "Grpc.Core.RpcException" } ], "culprit": "culprit msg", // remove to test the N/A scenario "id": "60674e9b23c8b06d83889e63ffe82c1c", //change the id on every run "stack_trace": "Grpc.Core.RpcException: Status(StatusCode=\"FailedPrecondition\", Detail=\"Can't access cart storage. System.ApplicationException: Wasn't able to connect to redis\n at cartservice.cartstore.RedisCartStore.EnsureRedisConnected() in /usr/src/app/src/cartstore/RedisCartStore.cs:line 79\n at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 157\")\n at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 166\n at cartservice.services.CartService.EmptyCart(EmptyCartRequest request, ServerCallContext context) in /usr/src/app/src/services/CartService.cs:line 65", "grouping_key": "6082c58afd7fa6838ebc27eef6e04829" }, "message": "Exception (plain, .NET)", "url": { "path": "/oteldemo.CartService/EmptyCart", "original": "http://otel-demo-green-3-cartservice:8080/oteldemo.CartService/EmptyCart", "scheme": "http", "port": 8080, "domain": "otel-demo-green-3-cartservice", "full": "http://otel-demo-green-3-cartservice:8080/oteldemo.CartService/EmptyCart" }, "labels": { "k8s_pod_ip": "192.168.62.174", "k8s_pod_start_time": "2024-12-17T02:55:54Z", "service_namespace": "opentelemetry-demo", "k8s_deployment_name": "otel-demo-green-3-cartservice" }, "observer": { "hostname": "450fbf7ab701", "type": "apm-server", "version": "8.13.2" }, "trace": { "id": "699f6d1039fc873191a1c983790db3a2" }, "@timestamp": "2024-12-30T10:30:00.000Z", "data_stream": { "namespace": "default", "type": "logs", "dataset": "apm.error" }, "service": { "node": { "name": "80cc20ecab1b57865d7aca0f66ab75a0c6ec2c51f7c53da04a8540215369c359" }, "framework": { "name": "Microsoft.AspNetCore" }, "name": "synth-node-0", "language": { "name": "dotnet" } }, "host": { "hostname": "ip-192-168-55-136.ec2.internal", "name": "ip-192-168-55-136.ec2.internal" }, "client": { "port": 35136, "ip": "::ffff:192.168.50.132" }, "http": { "request": { "method": "POST" }, "response": { "status_code": 200 }, "version": "2" }, "event": { "agent_id_status": "missing", "ingested": "2024-12-18T18:04:22Z" }, "transaction": { "id": "f39639f56a540e0e", "type": "request", "sampled": true }, "user_agent": { "original": "grpc-go/1.59.0", "name": "Other", "device": { "name": "Other" } }, "span": { "id": "f39639f56a540e0e" }, "timestamp": { "us": 1704892605838000 } } ``` </details>
- Loading branch information