mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[APM Fix missing error.culprit (#205242)
fixes [#205240](https://github.com/elastic/kibana/issues/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>
This commit is contained in:
parent
b64ff10204
commit
12608c3659
3 changed files with 11 additions and 1 deletions
|
@ -13,6 +13,7 @@ import {
|
|||
AGENT_NAME,
|
||||
AGENT_VERSION,
|
||||
AT_TIMESTAMP,
|
||||
ERROR_CULPRIT,
|
||||
ERROR_EXCEPTION,
|
||||
ERROR_GROUP_ID,
|
||||
ERROR_ID,
|
||||
|
@ -82,6 +83,7 @@ export async function getErrorSampleDetails({
|
|||
SPAN_ID,
|
||||
AGENT_VERSION,
|
||||
PROCESSOR_NAME,
|
||||
ERROR_CULPRIT,
|
||||
ERROR_STACK_TRACE,
|
||||
ERROR_EXC_MESSAGE,
|
||||
ERROR_EXC_HANDLED,
|
||||
|
|
|
@ -59,7 +59,11 @@ export async function generateData({
|
|||
.transaction({ transactionName: transaction.name })
|
||||
.errors(
|
||||
serviceGoProdInstance
|
||||
.error({ message: `Error ${index}`, type: transaction.name })
|
||||
.error({
|
||||
message: `Error ${index}`,
|
||||
type: transaction.name,
|
||||
culprit: `Error culprit ${index}`,
|
||||
})
|
||||
.timestamp(timestamp)
|
||||
)
|
||||
.duration(1000)
|
||||
|
|
|
@ -134,6 +134,10 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
'Error 1'
|
||||
);
|
||||
});
|
||||
|
||||
it('displays correct error culprit info', () => {
|
||||
expect(errorSampleDetailsResponse.error.error.culprit).to.equal('Error culprit 1');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue