diff --git a/integration_tests/snapshots/logs/process-input-traced_node18.log b/integration_tests/snapshots/logs/process-input-traced_node18.log index 49a3dc3f..105013c4 100644 --- a/integration_tests/snapshots/logs/process-input-traced_node18.log +++ b/integration_tests/snapshots/logs/process-input-traced_node18.log @@ -43,6 +43,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -56,6 +57,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -90,7 +92,6 @@ START "api_gateway_request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "event_type": "APIGateway", "http.status_code": "200", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -102,7 +103,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -202,6 +203,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -215,6 +217,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -245,7 +248,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -257,7 +259,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -355,6 +357,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -368,6 +371,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -398,7 +402,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -410,7 +413,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -508,6 +511,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -521,6 +525,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -551,7 +556,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -563,7 +567,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -660,6 +664,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -673,6 +678,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -704,7 +710,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -716,7 +721,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -792,6 +797,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -805,6 +811,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -836,7 +843,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -848,7 +854,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -924,6 +930,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -937,6 +944,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -968,7 +976,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -980,7 +987,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -1055,6 +1062,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -1069,6 +1077,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -1099,7 +1108,6 @@ START "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "event_type": "SNS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -1111,7 +1119,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { @@ -1186,6 +1194,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -1198,6 +1207,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -1229,7 +1239,6 @@ START "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "event_type": "SQS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node18", "language": "javascript" }, "metrics": { @@ -1241,7 +1250,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node18", "type": "serverless" }, { diff --git a/integration_tests/snapshots/logs/process-input-traced_node20.log b/integration_tests/snapshots/logs/process-input-traced_node20.log index 4a047a7e..3f25e314 100644 --- a/integration_tests/snapshots/logs/process-input-traced_node20.log +++ b/integration_tests/snapshots/logs/process-input-traced_node20.log @@ -43,6 +43,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -56,6 +57,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -90,7 +92,6 @@ START "api_gateway_request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "event_type": "APIGateway", "http.status_code": "200", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -102,7 +103,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -202,6 +203,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -215,6 +217,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -245,7 +248,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -257,7 +259,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -355,6 +357,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -368,6 +371,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -398,7 +402,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -410,7 +413,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -508,6 +511,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -521,6 +525,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -551,7 +556,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -563,7 +567,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -660,6 +664,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -673,6 +678,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -704,7 +710,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -716,7 +721,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -792,6 +797,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -805,6 +811,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -836,7 +843,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -848,7 +854,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -924,6 +930,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -937,6 +944,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -968,7 +976,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -980,7 +987,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -1055,6 +1062,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -1069,6 +1077,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -1099,7 +1108,6 @@ START "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "event_type": "SNS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -1111,7 +1119,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { @@ -1186,6 +1194,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -1198,6 +1207,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -1229,7 +1239,6 @@ START "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "event_type": "SQS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node20", "language": "javascript" }, "metrics": { @@ -1241,7 +1250,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node20", "type": "serverless" }, { diff --git a/integration_tests/snapshots/logs/process-input-traced_node22.log b/integration_tests/snapshots/logs/process-input-traced_node22.log index f845f3e1..b1e246cd 100644 --- a/integration_tests/snapshots/logs/process-input-traced_node22.log +++ b/integration_tests/snapshots/logs/process-input-traced_node22.log @@ -43,6 +43,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -56,6 +57,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -90,7 +92,6 @@ START "api_gateway_request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "event_type": "APIGateway", "http.status_code": "200", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -102,7 +103,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -202,6 +203,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -215,6 +217,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -245,7 +248,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -257,7 +259,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -355,6 +357,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -368,6 +371,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -398,7 +402,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -410,7 +413,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -508,6 +511,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -521,6 +525,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -551,7 +556,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -563,7 +567,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -660,6 +664,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -673,6 +678,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -704,7 +710,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -716,7 +721,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -792,6 +797,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -805,6 +811,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -836,7 +843,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -848,7 +854,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -924,6 +930,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -937,6 +944,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -968,7 +976,6 @@ START "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", "event_type": "S3", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -980,7 +987,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -1055,6 +1062,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -1069,6 +1077,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -1099,7 +1108,6 @@ START "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "event_type": "SNS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -1111,7 +1119,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { @@ -1186,6 +1194,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -1198,6 +1207,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -1229,7 +1239,6 @@ START "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "event_type": "SQS", - "_dd.base_service": "integration-tests-js-XXXX-process-input-traced_node22", "language": "javascript" }, "metrics": { @@ -1241,7 +1250,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-process-input-traced_node22", "type": "serverless" }, { diff --git a/integration_tests/snapshots/logs/status-code-500s_node18.log b/integration_tests/snapshots/logs/status-code-500s_node18.log index 2e3b87e4..f5ddef66 100644 --- a/integration_tests/snapshots/logs/status-code-500s_node18.log +++ b/integration_tests/snapshots/logs/status-code-500s_node18.log @@ -49,6 +49,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -62,6 +63,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -94,7 +96,6 @@ START "http.method": "GET", "http.route": "/{proxy+}", "http.status_code": "500", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -106,7 +107,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -149,6 +150,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -162,6 +164,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -192,7 +195,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -204,7 +206,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -247,6 +249,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -260,6 +263,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -290,7 +294,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -302,7 +305,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -345,6 +348,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -358,6 +362,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -388,7 +393,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -400,7 +404,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -442,6 +446,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -455,6 +460,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -485,7 +491,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -497,7 +502,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -539,6 +544,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -552,6 +558,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -582,7 +589,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -594,7 +600,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -636,6 +642,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -649,6 +656,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -679,7 +687,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -691,7 +698,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -732,6 +739,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -746,6 +754,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -775,7 +784,6 @@ START "dd_trace": "", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -787,7 +795,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] @@ -828,6 +836,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -840,6 +849,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -870,7 +880,6 @@ START "dd_trace": "", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node18", "language": "javascript" }, "metrics": { @@ -882,7 +891,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node18", "type": "serverless" } ] diff --git a/integration_tests/snapshots/logs/status-code-500s_node20.log b/integration_tests/snapshots/logs/status-code-500s_node20.log index 505aa45c..58c41cd3 100644 --- a/integration_tests/snapshots/logs/status-code-500s_node20.log +++ b/integration_tests/snapshots/logs/status-code-500s_node20.log @@ -49,6 +49,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -62,6 +63,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -94,7 +96,6 @@ START "http.method": "GET", "http.route": "/{proxy+}", "http.status_code": "500", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -106,7 +107,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -149,6 +150,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -162,6 +164,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -192,7 +195,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -204,7 +206,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -247,6 +249,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -260,6 +263,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -290,7 +294,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -302,7 +305,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -345,6 +348,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -358,6 +362,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -388,7 +393,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -400,7 +404,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -442,6 +446,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -455,6 +460,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -485,7 +491,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -497,7 +502,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -539,6 +544,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -552,6 +558,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -582,7 +589,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -594,7 +600,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -636,6 +642,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -649,6 +656,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -679,7 +687,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -691,7 +698,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -732,6 +739,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -746,6 +754,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -775,7 +784,6 @@ START "dd_trace": "", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -787,7 +795,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] @@ -828,6 +836,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -840,6 +849,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -870,7 +880,6 @@ START "dd_trace": "", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node20", "language": "javascript" }, "metrics": { @@ -882,7 +891,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node20", "type": "serverless" } ] diff --git a/integration_tests/snapshots/logs/status-code-500s_node22.log b/integration_tests/snapshots/logs/status-code-500s_node22.log index 645f322c..a5f0df49 100644 --- a/integration_tests/snapshots/logs/status-code-500s_node22.log +++ b/integration_tests/snapshots/logs/status-code-500s_node22.log @@ -49,6 +49,7 @@ START "http.url": "https://undefined", "resource_names": "GET /{proxy+}", "request_id":"XXXX", + "span.kind": "server", "apiid":"XXXX", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "sync", @@ -62,6 +63,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -94,7 +96,6 @@ START "http.method": "GET", "http.route": "/{proxy+}", "http.status_code": "500", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -106,7 +107,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -149,6 +150,7 @@ START "tablename": "someTableName", "resource_names": "MODIFY someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "MODIFY", @@ -162,6 +164,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -192,7 +195,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -204,7 +206,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -247,6 +249,7 @@ START "tablename": "someTableName", "resource_names": "REMOVE someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "REMOVE", @@ -260,6 +263,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -290,7 +294,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -302,7 +305,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -345,6 +348,7 @@ START "tablename": "someTableName", "resource_names": "INSERT someTableName", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "event_name": "INSERT", @@ -358,6 +362,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "size_bytes": 37, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -388,7 +393,6 @@ START "dd_trace": "", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -400,7 +404,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -442,6 +446,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -455,6 +460,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 8388608, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -485,7 +491,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -497,7 +502,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -539,6 +544,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -552,6 +558,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -582,7 +589,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -594,7 +600,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -636,6 +642,7 @@ START "operation_name": "aws.s3", "resource_names": "my-bucket-name", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "bucketname": "my-bucket-name", @@ -649,6 +656,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "object_size": 100, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -679,7 +687,6 @@ START "dd_trace": "", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -691,7 +698,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -732,6 +739,7 @@ START "operation_name": "aws.sns", "resource_names": "sns-lambda", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "type": "Notification", @@ -746,6 +754,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "process_id":XXXX, "_sampling_priority_v1": 1 }, @@ -775,7 +784,6 @@ START "dd_trace": "", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -787,7 +795,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] @@ -828,6 +836,7 @@ START "operation_name": "aws.sqs", "resource_names": "my-queue", "request_id":"XXXX", + "span.kind": "server", "_inferred_span.tag_source": "self", "_inferred_span.synchronicity": "async", "queuename": "my-queue", @@ -840,6 +849,7 @@ START "metrics": { "_dd.agent_psr": 1, "_dd.top_level": 1, + "_dd.measured": 1, "retry_count": 1, "process_id":XXXX, "_sampling_priority_v1": 1 @@ -870,7 +880,6 @@ START "dd_trace": "", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", - "_dd.base_service": "integration-tests-js-XXXX-status-code-500s_node22", "language": "javascript" }, "metrics": { @@ -882,7 +891,7 @@ START "start":XXXX, "duration":XXXX, "links": [], - "service": "aws.lambda", + "service": "integration-tests-js-XXXX-status-code-500s_node22", "type": "serverless" } ] diff --git a/src/trace/listener.spec.ts b/src/trace/listener.spec.ts index fa192fe6..8745a55b 100644 --- a/src/trace/listener.spec.ts +++ b/src/trace/listener.spec.ts @@ -113,7 +113,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", @@ -153,7 +153,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", @@ -186,7 +186,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", @@ -227,7 +227,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", @@ -258,7 +258,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", @@ -287,7 +287,7 @@ describe("TraceListener", () => { "aws.lambda", { resource: "my-Lambda", - service: "aws.lambda", + service: "my-Lambda", tags: { cold_start: true, function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda", diff --git a/src/trace/listener.ts b/src/trace/listener.ts index a1531fde..873a45db 100644 --- a/src/trace/listener.ts +++ b/src/trace/listener.ts @@ -322,6 +322,7 @@ export class TraceListener { options.service = "aws.lambda"; if (this.context) { options.resource = this.context.functionName; + options.service = this.context.functionName; } return this.tracerWrapper.wrap("aws.lambda", options, func); } diff --git a/src/trace/span-inferrer.spec.ts b/src/trace/span-inferrer.spec.ts index 2cf47be0..4ed993fd 100644 --- a/src/trace/span-inferrer.spec.ts +++ b/src/trace/span-inferrer.spec.ts @@ -74,50 +74,67 @@ describe("SpanInferrer", () => { it("determines service name correctly based on specific key", () => { process.env.DD_SERVICE_MAPPING = "key1:value1,key2:value2"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); - const serviceName = SpanInferrer.determineServiceName("key1", "key2", "fallback"); + const serviceName = SpanInferrer.determineServiceName("key1", "key2", "extractedKey", "fallback"); expect(serviceName).toBe("value1"); }); it("determines service name correctly based on generic key when specific key is not in service mapping", () => { process.env.DD_SERVICE_MAPPING = "key1:value1,key2:value2"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); - const serviceName = SpanInferrer.determineServiceName("non_existent_key", "key2", "fallback"); + const serviceName = SpanInferrer.determineServiceName("non_existent_key", "key2", "extractedKey", "fallback"); expect(serviceName).toBe("value2"); }); - it("falls back to fallback value when neither specific nor generic key is in service mapping", () => { + it("determines service name correctly based on extracted key when no service mapping", () => { process.env.DD_SERVICE_MAPPING = "key1:value1,key2:value2"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); - const serviceName = SpanInferrer.determineServiceName("non_existent_key", "another_non_existent_key", "fallback"); + const serviceName = SpanInferrer.determineServiceName( + "non_existent_key", + "another_non_existent_key", + "extractedKey", + "fallback", + ); + expect(serviceName).toBe("extractedKey"); + }); + + it("falls back to fallback value when no service mapping is set and no extracted key is provided", () => { + process.env.DD_SERVICE_MAPPING = "key1:value1,key2:value2"; + const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); + const serviceName = SpanInferrer.determineServiceName( + "non_existent_key", + "another_non_existent_key", + "", + "fallback", + ); expect(serviceName).toBe("fallback"); }); - it("falls back to default span service name when service mapping has incorrect delimiters", () => { + it("extracts service name from event when service mapping has incorrect delimiters", () => { process.env.DD_SERVICE_MAPPING = "key1-value1,key2=value2"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); inferrer.createInferredSpan(snsEvent, {} as any, {} as SpanContext); - expect(getStartSpanServiceTag(1)).toBe("sns"); + expect(getStartSpanServiceTag(1)).toBe("ExampleTopic"); }); - it("falls back to default span service name when service mapping has no value for a key", () => { + it("extracts service name from event when service mapping has no value for a key", () => { process.env.DD_SERVICE_MAPPING = "key1:value1,key2:"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); inferrer.createInferredSpan(snsEvent, {} as any, {} as SpanContext); - expect(getStartSpanServiceTag(1)).toBe("sns"); + expect(getStartSpanServiceTag(1)).toBe("ExampleTopic"); }); - it("falls back to default span service name when service mapping has no key", () => { + it("extracts service name from event when service mapping has no key", () => { process.env.DD_SERVICE_MAPPING = "key1:value1,:value2"; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); inferrer.createInferredSpan(snsEvent, {} as any, {} as SpanContext); - expect(getStartSpanServiceTag(1)).toBe("sns"); + expect(getStartSpanServiceTag(1)).toBe("ExampleTopic"); }); - it("falls back to default span service name when service mapping is not set", () => { + it("extracts service name from event when service mapping is not set", () => { delete process.env.DD_SERVICE_MAPPING; const inferrer = new SpanInferrer(mockWrapper as unknown as TracerWrapper); inferrer.createInferredSpan(snsEvent, {} as any, {} as SpanContext); - expect(getStartSpanServiceTag(1)).toBe("sns"); + expect(getStartSpanServiceTag(1)).toBe("ExampleTopic"); }); it("handles mappings without a value", () => { @@ -191,7 +208,7 @@ describe("SpanInferrer", () => { modifiedSnsEvent.Records[0].Sns.TopicArn = "arn:aws:sns:us-east-1:123456789012:DifferentTopic"; inferrer.createInferredSpan(modifiedSnsEvent, {} as any, {} as SpanContext); - expect(getStartSpanServiceTag(1)).toBe("sns"); + expect(getStartSpanServiceTag(1)).toBe("ExampleTopic"); expect(getStartSpanServiceTag(2)).toBe("new-name"); }); @@ -221,7 +238,7 @@ describe("SpanInferrer", () => { inferrer.createInferredSpan(modifiedDdbEvent, {} as any, {} as SpanContext); expect(getStartSpanServiceTag(1)).toBe("new-name"); - expect(getStartSpanServiceTag(2)).toBe("sqs"); + expect(getStartSpanServiceTag(2)).toBe("DifferentQueue"); }); it("remaps all ddb inferred span service name based on DD_SERVICE_MAPPING", () => { @@ -251,7 +268,7 @@ describe("SpanInferrer", () => { inferrer.createInferredSpan(modifiedDdbEvent, {} as any, {} as SpanContext); expect(getStartSpanServiceTag(1)).toBe("new-name"); - expect(getStartSpanServiceTag(2)).toBe("aws.dynamodb"); + expect(getStartSpanServiceTag(2)).toBe("DifferentTableWithStream"); }); it("remaps all kinesis inferred span service name based on DD_SERVICE_MAPPING", () => { @@ -279,7 +296,7 @@ describe("SpanInferrer", () => { inferrer.createInferredSpan(modifiedKinesisEvent, {} as any, {} as SpanContext); expect(getStartSpanServiceTag(1)).toBe("new-name"); - expect(getStartSpanServiceTag(2)).toBe("kinesis"); + expect(getStartSpanServiceTag(2)).toBe("DIFFERENT_EXAMPLE"); }); it("remaps sns sqs inferred spans service names based on DD_SERVICE_MAPPING", () => { @@ -317,7 +334,7 @@ describe("SpanInferrer", () => { inferrer.createInferredSpan(modifiedDdbEvent, {} as any, {} as SpanContext); expect(getStartSpanServiceTag(1)).toBe("new-name"); - expect(getStartSpanServiceTag(2)).toBe("eventbridge"); + expect(getStartSpanServiceTag(2)).toBe("my.different.event"); }); it("remaps all API Gateway inferred span service names based on DD_SERVICE_MAPPING", () => { @@ -395,7 +412,7 @@ describe("SpanInferrer", () => { inferrer.createInferredSpan(modifiedS3Event, {} as any, {} as SpanContext); expect(getStartSpanServiceTag(1)).toBe("new-name"); - expect(getStartSpanServiceTag(2)).toBe("s3"); + expect(getStartSpanServiceTag(2)).toBe("different-example-bucket"); }); it("creates an inferred span for sns events", () => { @@ -414,8 +431,9 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "ExampleTopic", resource_names: "ExampleTopic", - service: "sns", - "service.name": "sns", + service: "ExampleTopic", + "service.name": "ExampleTopic", + "span.kind": "server", "span.type": "sns", subject: "example subject", topic_arn: "arn:aws:sns:us-east-1:123456789012:ExampleTopic", @@ -444,8 +462,9 @@ describe("SpanInferrer", () => { resource_names: "MyQueue", retry_count: 1, sender_id: "123456789012", - service: "sqs", - "service.name": "sqs", + service: "MyQueue", + "service.name": "MyQueue", + "span.kind": "server", "span.type": "web", }, }); @@ -471,9 +490,10 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "INSERT ExampleTableWithStream", resource_names: "INSERT ExampleTableWithStream", - service: "aws.dynamodb", - "service.name": "aws.dynamodb", + service: "ExampleTableWithStream", + "service.name": "ExampleTableWithStream", size_bytes: 26, + "span.kind": "server", "span.type": "web", stream_view_type: "NEW_AND_OLD_IMAGES", }, @@ -499,9 +519,10 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "EXAMPLE", resource_names: "EXAMPLE", - service: "kinesis", - "service.name": "kinesis", + service: "EXAMPLE", + "service.name": "EXAMPLE", shardid: "49545115243490985018280067714973144582180062593244200961", + "span.kind": "server", "span.type": "web", streamname: "EXAMPLE", }, @@ -526,8 +547,9 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "js-library-test-dev-demoTopic-15WGUVRCBMPAA", resource_names: "js-library-test-dev-demoTopic-15WGUVRCBMPAA", - service: "sns", - "service.name": "sns", + service: "js-library-test-dev-demoTopic-15WGUVRCBMPAA", + "service.name": "js-library-test-dev-demoTopic-15WGUVRCBMPAA", + "span.kind": "server", "span.type": "sns", subject: undefined, topic_arn: "arn:aws:sns:eu-west-1:601427279990:js-library-test-dev-demoTopic-15WGUVRCBMPAA", @@ -554,8 +576,9 @@ describe("SpanInferrer", () => { resource_names: "aj-js-library-test-dev-demo-queue", retry_count: 1, sender_id: "AIDAIOA2GYWSHW4E2VXIO", - service: "sqs", - "service.name": "sqs", + service: "aj-js-library-test-dev-demo-queue", + "service.name": "aj-js-library-test-dev-demo-queue", + "span.kind": "server", "span.type": "web", }, }, @@ -577,8 +600,9 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "my.event", resource_names: "my.event", - service: "eventbridge", - "service.name": "eventbridge", + service: "my.event", + "service.name": "my.event", + "span.kind": "server", "span.type": "web", }, }); @@ -601,8 +625,9 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "my.Source", resource_names: "my.Source", - service: "eventbridge", - "service.name": "eventbridge", + service: "my.Source", + "service.name": "my.Source", + "span.kind": "server", "span.type": "web", }, }, @@ -625,8 +650,9 @@ describe("SpanInferrer", () => { resource_names: "lambda-eb-sqs-lambda-dev-demo-queue", retry_count: 1, sender_id: "AIDAJXNJGGKNS7OSV23OI", - service: "sqs", - "service.name": "sqs", + service: "lambda-eb-sqs-lambda-dev-demo-queue", + "service.name": "lambda-eb-sqs-lambda-dev-demo-queue", + "span.kind": "server", "span.type": "web", }, }, @@ -656,6 +682,7 @@ describe("SpanInferrer", () => { resource_names: "08se3mvh28.execute-api.eu-west-1.amazonaws.com $connect", service: "08se3mvh28.execute-api.eu-west-1.amazonaws.com", "service.name": "08se3mvh28.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", }, }); @@ -682,6 +709,7 @@ describe("SpanInferrer", () => { resource_names: "GET /path", service: "id.execute-api.us-east-1.amazonaws.com", "service.name": "id.execute-api.us-east-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "$default", }, @@ -709,6 +737,7 @@ describe("SpanInferrer", () => { resource_names: "GET /default/nodejs-apig-function-1G3XMPLZXVXYI", service: "r3pmxmplak.execute-api.us-east-2.amazonaws.com", "service.name": "r3pmxmplak.execute-api.us-east-2.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "default", }, @@ -736,6 +765,7 @@ describe("SpanInferrer", () => { resource_names: "GET /user/{id}", service: "mcwkra0ya4.execute-api.sa-east-1.amazonaws.com", "service.name": "mcwkra0ya4.execute-api.sa-east-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -763,6 +793,7 @@ describe("SpanInferrer", () => { resource_names: "GET /user/{id}", service: "9vj54we5ih.execute-api.sa-east-1.amazonaws.com", "service.name": "9vj54we5ih.execute-api.sa-east-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "$default", }, @@ -791,6 +822,7 @@ describe("SpanInferrer", () => { resource_names: "GET /", service: "a8hyhsshac.lambda-url.eu-south-1.amazonaws.com", "service.name": "a8hyhsshac.lambda-url.eu-south-1.amazonaws.com", + "span.kind": "server", "span.type": "http", }, }); @@ -816,8 +848,9 @@ describe("SpanInferrer", () => { request_id: undefined, "resource.name": "example-bucket", resource_names: "example-bucket", - service: "s3", - "service.name": "s3", + service: "example-bucket", + "service.name": "example-bucket", + "span.kind": "server", "span.type": "web", }, }); @@ -876,6 +909,7 @@ describe("Authorizer Spans", () => { resource_names: "POST /hello", service: "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", "service.name": "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -900,6 +934,7 @@ describe("Authorizer Spans", () => { resource_names: "POST /hello", service: "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", "service.name": "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -929,6 +964,7 @@ describe("Authorizer Spans", () => { resource_names: "POST /hello", service: "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", "service.name": "3gsxz7lha4.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -958,6 +994,7 @@ describe("Authorizer Spans", () => { resource_names: "GET /hi", service: "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", "service.name": "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -982,6 +1019,7 @@ describe("Authorizer Spans", () => { resource_names: "GET /hi", service: "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", "service.name": "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -1011,6 +1049,7 @@ describe("Authorizer Spans", () => { resource_names: "GET /hi", service: "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", "service.name": "4dyr9xqip7.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "dev", }, @@ -1040,6 +1079,7 @@ describe("Authorizer Spans", () => { resource_names: "GET /hello", service: "l9flvsey83.execute-api.eu-west-1.amazonaws.com", "service.name": "l9flvsey83.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "$default", }, @@ -1069,6 +1109,7 @@ describe("Authorizer Spans", () => { resource_names: "GET /hello", service: "l9flvsey83.execute-api.eu-west-1.amazonaws.com", "service.name": "l9flvsey83.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", stage: "$default", }, @@ -1099,6 +1140,7 @@ describe("Authorizer Spans", () => { resource_names: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com $connect", service: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", "service.name": "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", }, }, @@ -1123,6 +1165,7 @@ describe("Authorizer Spans", () => { resource_names: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com $connect", service: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", "service.name": "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", }, }, @@ -1152,6 +1195,7 @@ describe("Authorizer Spans", () => { resource_names: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com hello", service: "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", "service.name": "85fj5nw29d.execute-api.eu-west-1.amazonaws.com", + "span.kind": "server", "span.type": "http", }, }, diff --git a/src/trace/span-inferrer.ts b/src/trace/span-inferrer.ts index 90754fdf..2ef63b9a 100644 --- a/src/trace/span-inferrer.ts +++ b/src/trace/span-inferrer.ts @@ -81,8 +81,12 @@ export class SpanInferrer { return "sync"; } - static determineServiceName(specificKey: string, genericKey: string, fallback: string): string { - return this.serviceMapping[specificKey] || this.serviceMapping[genericKey] || fallback; + static determineServiceName(specificKey: string, genericKey: string, extractedKey: string, fallback: string): string { + return ( + this.serviceMapping[specificKey] || + this.serviceMapping[genericKey] || + (extractedKey?.trim() ? extractedKey : fallback) + ); } createInferredSpanForApiGateway( @@ -105,7 +109,7 @@ export class SpanInferrer { } const resourceName = [method || domain, resourcePath].join(" "); const apiId = event.requestContext.apiId || ""; - const serviceName = SpanInferrer.determineServiceName(apiId, "lambda_api_gateway", domain); + const serviceName = SpanInferrer.determineServiceName(apiId, "lambda_api_gateway", domain, "aws.apigateway"); options.tags = { operation_name: "aws.apigateway", @@ -118,6 +122,7 @@ export class SpanInferrer { "span.type": "http", "resource.name": resourceName, "peer.service": this.service, + "span.kind": "server", apiid: apiId, _inferred_span: { tag_source: "self", @@ -203,7 +208,7 @@ export class SpanInferrer { } const resourceName = [method || domain, path].join(" "); const apiId: string = event.requestContext.apiId || ""; - const serviceName: string = SpanInferrer.determineServiceName(apiId, "lambda_url", domain); + const serviceName: string = SpanInferrer.determineServiceName(apiId, "lambda_url", domain, "aws.lambda_url"); options.tags = { operation_name: "aws.lambda.url", @@ -217,6 +222,7 @@ export class SpanInferrer { "span.type": "http", "resource.name": resourceName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "sync", @@ -243,7 +249,7 @@ export class SpanInferrer { const { eventSourceARN, eventName, eventVersion, eventID, dynamodb } = referenceRecord; const [tableArn, tableName] = eventSourceARN?.split("/") || ["", ""]; const resourceName = `${eventName} ${tableName}`; - const serviceName = SpanInferrer.determineServiceName(tableName, "lambda_dynamodb", "aws.dynamodb"); + const serviceName = SpanInferrer.determineServiceName(tableName, "lambda_dynamodb", tableName, "aws.dynamodb"); options.tags = { operation_name: "aws.dynamodb", tablename: tableName, @@ -254,6 +260,7 @@ export class SpanInferrer { "span.type": "web", "resource.name": resourceName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async", @@ -298,7 +305,7 @@ export class SpanInferrer { const topicName = TopicArn?.split(":").pop() || ""; const resourceName = topicName; - const serviceName = SpanInferrer.determineServiceName(topicName, "lambda_sns", "sns"); + const serviceName = SpanInferrer.determineServiceName(topicName, "lambda_sns", topicName, "aws.sns"); options.tags = { operation_name: "aws.sns", resource_names: resourceName, @@ -308,6 +315,7 @@ export class SpanInferrer { "span.type": "sns", "resource.name": resourceName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async", @@ -349,7 +357,7 @@ export class SpanInferrer { } = referenceRecord; const queueName = eventSourceARN?.split(":").pop() || ""; const resourceName = queueName; - const serviceName = SpanInferrer.determineServiceName(queueName, "lambda_sqs", "sqs"); + const serviceName = SpanInferrer.determineServiceName(queueName, "lambda_sqs", queueName, "aws.sqs"); options.tags = { operation_name: "aws.sqs", resource_names: resourceName, @@ -359,6 +367,7 @@ export class SpanInferrer { "span.type": "web", "resource.name": resourceName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async", @@ -413,9 +422,9 @@ export class SpanInferrer { eventVersion, eventID, } = referenceRecord; - const streamName = eventSourceARN?.split(":").pop() || ""; + const streamName = (eventSourceARN?.split(":").pop() || "").replace(/^stream\//, ""); const shardId = eventID.split(":").pop(); - const serviceName = SpanInferrer.determineServiceName(streamName, "lambda_kinesis", "kinesis"); + const serviceName = SpanInferrer.determineServiceName(streamName, "lambda_kinesis", streamName, "aws.kinesis"); options.tags = { operation_name: "aws.kinesis", resource_names: streamName, @@ -425,6 +434,7 @@ export class SpanInferrer { "span.type": "web", "resource.name": streamName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async", @@ -463,7 +473,7 @@ export class SpanInferrer { eventTime, eventName, } = referenceRecord; - const serviceName = SpanInferrer.determineServiceName(bucketName, "lambda_s3", "s3"); + const serviceName = SpanInferrer.determineServiceName(bucketName, "lambda_s3", bucketName, "aws.s3"); options.tags = { operation_name: "aws.s3", resource_names: bucketName, @@ -473,6 +483,7 @@ export class SpanInferrer { "span.type": "web", "resource.name": bucketName, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async", @@ -501,7 +512,7 @@ export class SpanInferrer { ): SpanWrapper { const options: SpanOptions = {}; const { time, source } = event as EventBridgeEvent; - const serviceName = SpanInferrer.determineServiceName(source, "lambda_eventbridge", "eventbridge"); + const serviceName = SpanInferrer.determineServiceName(source, "lambda_eventbridge", source, "aws.eventbridge"); options.tags = { operation_name: "aws.eventbridge", resource_names: source, @@ -511,6 +522,7 @@ export class SpanInferrer { "span.type": "web", "resource.name": source, "peer.service": this.service, + "span.kind": "server", _inferred_span: { tag_source: "self", synchronicity: "async",