From ba8870516e424bcb6eac2d38809490d3dbb4cae8 Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Thu, 19 Nov 2020 11:59:21 -0500 Subject: [PATCH 1/6] Change method of extension detection to use the filesystem --- package.json | 4 +++- scripts/publish_staging.sh | 2 +- src/index.ts | 2 +- src/metrics/extension.spec.ts | 19 ++++++++++++++++++- src/metrics/extension.ts | 15 +++++++++++++++ yarn.lock | 12 ++++++++++++ 6 files changed, 50 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index f06d6b7e..7075928d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "datadog-lambda-js", - "version": "3.37.0", + "version": "3.38.0", "description": "Lambda client library that supports hybrid tracing in node js", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -20,12 +20,14 @@ "@types/aws-lambda": "^8.10.64", "@types/aws-sdk": "^2.7.0", "@types/jest": "^26.0.15", + "@types/mock-fs": "true4.13.0", "@types/nock": "^11.1.0", "@types/node": "^14.14.7", "@types/promise-retry": "^1.1.3", "@types/shimmer": "^1.0.1", "dd-trace": "0.28.1", "jest": "^26.6.3", + "mock-fs": "true4.13.0", "nock": "13.0.5", "prettier": "^2.1.2", "ts-jest": "^26.4.4", diff --git a/scripts/publish_staging.sh b/scripts/publish_staging.sh index 25360e49..3ba04c6c 100755 --- a/scripts/publish_staging.sh +++ b/scripts/publish_staging.sh @@ -2,4 +2,4 @@ set -e ./scripts/build_layers.sh -./scripts/publish_layers.sh us-east-1 +./scripts/publish_layers.sh sa-east-1 diff --git a/src/index.ts b/src/index.ts index 2675eb57..aeec3862 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -import { Handler, Context } from "aws-lambda"; +import { Handler, Context, SQSEvent } from "aws-lambda"; import { incrementErrorsMetric, diff --git a/src/metrics/extension.spec.ts b/src/metrics/extension.spec.ts index cf78f74d..3fc97def 100644 --- a/src/metrics/extension.spec.ts +++ b/src/metrics/extension.spec.ts @@ -1,20 +1,37 @@ import nock from "nock"; import { isAgentRunning, flushExtension, AGENT_URL } from "./extension"; +import mock from "mock-fs"; describe("isAgentRunning", () => { - it("returns true when agent responds", async () => { + afterEach(() => { + mock.restore(); + }); + it("returns true when agent exists and responds", async () => { + mock({ + "/extensions/datadog-agent": Buffer.from([0]), + }); const scope = nock(AGENT_URL).get("/lambda/hello").reply(200); const ran = await isAgentRunning(); expect(scope.isDone()).toBeTruthy(); expect(ran).toBeTruthy(); }); it("returns false when agent doesn't respond", async () => { + mock({ + "/extensions/datadog-agent": Buffer.from([0]), + }); const scope = nock(AGENT_URL).get("/lambda/hello").replyWithError("Unreachable"); const ran = await isAgentRunning(); expect(scope.isDone()).toBeTruthy(); expect(ran).toBeFalsy(); }); + it("returns false when agent doesn't exist", async () => { + mock({}); + const scope = nock(AGENT_URL).get("/lambda/hello").replyWithError("Unreachable"); + const ran = await isAgentRunning(); + expect(scope.isDone()).toBeFalsy(); + expect(ran).toBeFalsy(); + }); }); describe("flushExtension", () => { it("calls flush on the agent", async () => { diff --git a/src/metrics/extension.ts b/src/metrics/extension.ts index 58f2c944..09b0a5ee 100644 --- a/src/metrics/extension.ts +++ b/src/metrics/extension.ts @@ -1,11 +1,19 @@ import { URL } from "url"; import { get, post, logDebug } from "../utils"; +import fs from "fs"; export const AGENT_URL = "http://127.0.0.1:8124"; const HELLO_PATH = "/lambda/hello"; const FLUSH_PATH = "/lambda/flush"; +const EXTENSION_PATH = "/extensions/datadog-agent"; const AGENT_TIMEOUT_MS = 100; export async function isAgentRunning() { + const extensionExists = await fileExists(EXTENSION_PATH); + if (!extensionExists) { + logDebug(`Agent isn't present in sandbox`); + return false; + } + const url = new URL(HELLO_PATH, AGENT_URL); try { await get(url, { timeout: AGENT_TIMEOUT_MS }); @@ -26,3 +34,10 @@ export async function flushExtension() { } return true; } + +function fileExists(filename: string): Promise { + return fs.promises + .access(filename, fs.constants.F_OK) + .then(() => true) + .catch(() => false); +} diff --git a/yarn.lock b/yarn.lock index 43a69bc8..1cc7e8e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -624,6 +624,13 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== +"@types/mock-fs@true4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@types/mock-fs/-/mock-fs-4.13.0.tgz#b8b01cd2db588668b2532ecd21b1babd3fffb2c0" + integrity sha512-FUqxhURwqFtFBCuUj3uQMp7rPSQs//b3O9XecAVxhqS9y4/W8SIJEZFq2mmpnFVZBXwR/2OyPLE97CpyYiB8Mw== + dependencies: + "@types/node" "*" + "@types/nock@^11.1.0": version "11.1.0" resolved "https://registry.yarnpkg.com/@types/nock/-/nock-11.1.0.tgz#0a8c1056a31ba32a959843abccf99626dd90a538" @@ -2936,6 +2943,11 @@ mkdirp@^0.5.1, mkdirp@^0.5.3: dependencies: minimist "^1.2.5" +mock-fs@true4.13.0: + version "4.13.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.13.0.tgz#31c02263673ec3789f90eb7b6963676aa407a598" + integrity sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA== + module-details-from-path@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" From daaba4deeed05b5dac14b540d79622a034cea8ce Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Mon, 23 Nov 2020 16:09:14 -0500 Subject: [PATCH 2/6] Fix agent path --- src/metrics/extension.spec.ts | 4 ++-- src/metrics/extension.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/metrics/extension.spec.ts b/src/metrics/extension.spec.ts index 3fc97def..ebb72e07 100644 --- a/src/metrics/extension.spec.ts +++ b/src/metrics/extension.spec.ts @@ -9,7 +9,7 @@ describe("isAgentRunning", () => { }); it("returns true when agent exists and responds", async () => { mock({ - "/extensions/datadog-agent": Buffer.from([0]), + "/opt/extensions/datadog-agent": Buffer.from([0]), }); const scope = nock(AGENT_URL).get("/lambda/hello").reply(200); const ran = await isAgentRunning(); @@ -18,7 +18,7 @@ describe("isAgentRunning", () => { }); it("returns false when agent doesn't respond", async () => { mock({ - "/extensions/datadog-agent": Buffer.from([0]), + "/opt/extensions/datadog-agent": Buffer.from([0]), }); const scope = nock(AGENT_URL).get("/lambda/hello").replyWithError("Unreachable"); const ran = await isAgentRunning(); diff --git a/src/metrics/extension.ts b/src/metrics/extension.ts index 09b0a5ee..653b0cec 100644 --- a/src/metrics/extension.ts +++ b/src/metrics/extension.ts @@ -5,7 +5,7 @@ import fs from "fs"; export const AGENT_URL = "http://127.0.0.1:8124"; const HELLO_PATH = "/lambda/hello"; const FLUSH_PATH = "/lambda/flush"; -const EXTENSION_PATH = "/extensions/datadog-agent"; +const EXTENSION_PATH = "/opt/extensions/datadog-agent"; const AGENT_TIMEOUT_MS = 100; export async function isAgentRunning() { const extensionExists = await fileExists(EXTENSION_PATH); From 214b0697023efea7fd9335d91a5f7c4e7fc011f0 Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Mon, 23 Nov 2020 17:33:42 -0500 Subject: [PATCH 3/6] Remove unused import --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index aeec3862..2675eb57 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -import { Handler, Context, SQSEvent } from "aws-lambda"; +import { Handler, Context } from "aws-lambda"; import { incrementErrorsMetric, From 764b956985775c93c74129d52861b4c32e65fe32 Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Tue, 24 Nov 2020 10:55:23 -0500 Subject: [PATCH 4/6] Change lambda tracing to not include extension flushing --- .../snapshots/logs/async-metrics_node10.log | 1 - .../snapshots/logs/async-metrics_node12.log | 1 - .../snapshots/logs/http-requests_node10.log | 1 - .../logs/http-requests_node10_with_plugin.log | 6 +-- .../snapshots/logs/http-requests_node12.log | 1 - .../logs/http-requests_node12_with_plugin.log | 6 +-- .../logs/process-input-traced_node10.log | 2 +- .../logs/process-input-traced_node12.log | 2 +- .../snapshots/logs/sync-metrics_node10.log | 1 - .../snapshots/logs/sync-metrics_node12.log | 1 - .../logs/sync-metrics_node12_with_plugin.log | 2 +- .../logs/throw-error-traced_node10.log | 7 ++- .../throw-error-traced_node10_with_plugin.log | 12 ++--- .../logs/throw-error-traced_node12.log | 7 ++- .../throw-error-traced_node12_with_plugin.log | 12 ++--- src/index.ts | 53 +++++++++++-------- 16 files changed, 58 insertions(+), 57 deletions(-) diff --git a/integration_tests/snapshots/logs/async-metrics_node10.log b/integration_tests/snapshots/logs/async-metrics_node10.log index a4ee652e..61c75e4c 100644 --- a/integration_tests/snapshots/logs/async-metrics_node10.log +++ b/integration_tests/snapshots/logs/async-metrics_node10.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-async-metrics_node10","resource:integration-dev-async-metrics_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:APIGateway","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request diff --git a/integration_tests/snapshots/logs/async-metrics_node12.log b/integration_tests/snapshots/logs/async-metrics_node12.log index 6a2aecff..a8a2d743 100644 --- a/integration_tests/snapshots/logs/async-metrics_node12.log +++ b/integration_tests/snapshots/logs/async-metrics_node12.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-async-metrics_node12","resource:integration-dev-async-metrics_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:APIGateway","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request diff --git a/integration_tests/snapshots/logs/http-requests_node10.log b/integration_tests/snapshots/logs/http-requests_node10.log index c7e1fbae..bcb4671e 100644 --- a/integration_tests/snapshots/logs/http-requests_node10.log +++ b/integration_tests/snapshots/logs/http-requests_node10.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-http-requests_node10","resource:integration-dev-http-requests_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} HTTP GET https://ip-ranges.datadoghq.com/ Headers: ["Accept:application/json, text/plain, */*","User-Agent:axios/0.19.2","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] HTTP GET https://ip-ranges.datadoghq.eu/ Headers: ["Accept:application/json, text/plain, */*","User-Agent:axios/0.19.2","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] diff --git a/integration_tests/snapshots/logs/http-requests_node10_with_plugin.log b/integration_tests/snapshots/logs/http-requests_node10_with_plugin.log index 05d9c64b..6e6e0e27 100644 --- a/integration_tests/snapshots/logs/http-requests_node10_with_plugin.log +++ b/integration_tests/snapshots/logs/http-requests_node10_with_plugin.log @@ -2,7 +2,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node10_with_plugin","resource:integration-plugin-dev-http-requests_node10_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"true","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"true","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -11,7 +11,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node10_with_plugin","resource:integration-plugin-dev-http-requests_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -20,7 +20,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node10_with_plugin","resource:integration-plugin-dev-http-requests_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node10_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/http-requests_node12.log b/integration_tests/snapshots/logs/http-requests_node12.log index 563ca8ec..0e665119 100644 --- a/integration_tests/snapshots/logs/http-requests_node12.log +++ b/integration_tests/snapshots/logs/http-requests_node12.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-http-requests_node12","resource:integration-dev-http-requests_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} HTTP GET https://ip-ranges.datadoghq.com/ Headers: ["Accept:application/json, text/plain, */*","User-Agent:axios/0.19.2","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] HTTP GET https://ip-ranges.datadoghq.eu/ Headers: ["Accept:application/json, text/plain, */*","User-Agent:axios/0.19.2","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] diff --git a/integration_tests/snapshots/logs/http-requests_node12_with_plugin.log b/integration_tests/snapshots/logs/http-requests_node12_with_plugin.log index c27a8926..87e22627 100644 --- a/integration_tests/snapshots/logs/http-requests_node12_with_plugin.log +++ b/integration_tests/snapshots/logs/http-requests_node12_with_plugin.log @@ -2,7 +2,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node12_with_plugin","resource:integration-plugin-dev-http-requests_node12_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"true","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"true","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -11,7 +11,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node12_with_plugin","resource:integration-plugin-dev-http-requests_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -20,7 +20,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-http-requests_node12_with_plugin","resource:integration-plugin-dev-http-requests_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:http-request","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Snapshot test http requests successfully made to URLs: https://ip-ranges.datadoghq.com,https://ip-ranges.datadoghq.eu -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.com/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","span.kind":"client","http.method":"GET","http.url":"https://ip-ranges.datadoghq.eu/","http.status_code":"200"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"integration-plugin-dev-http-requests_node12_with_plugin-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-http-requests_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-http-requests_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-http-requests_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/process-input-traced_node10.log b/integration_tests/snapshots/logs/process-input-traced_node10.log index 2304df53..7689a158 100644 --- a/integration_tests/snapshots/logs/process-input-traced_node10.log +++ b/integration_tests/snapshots/logs/process-input-traced_node10.log @@ -1,7 +1,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-process-input-traced_node10","resource:integration-dev-process-input-traced_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"tcp.connect","resource":"127.0.0.1:8124","error":1,"meta":{"service":"integration-dev-process-input-traced_node10","span.kind":"client","tcp.remote.host":"127.0.0.1","tcp.remote.port":"8124","tcp.family":"IPv4","out.host":"127.0.0.1","out.port":"8124","error.type":"Error","error.msg":"connect ECONNREFUSED 127.0.0.1:8124","error.stack":"Error: connect ECONNREFUSED 127.0.0.1:8124\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10-tcp"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":1,"meta":{"service":"integration-dev-process-input-traced_node10","span.kind":"client","http.method":"GET","http.url":"http://127.0.0.1:8124/lambda/hello","error.type":"Error","error.msg":"connect ECONNREFUSED 127.0.0.1:8124","error.stack":"Error: connect ECONNREFUSED 127.0.0.1:8124\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)"},"metrics":{"_sample_rate":1,"_dd.agent_psr":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-dev-process-input-traced_node10","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","cold_start":"true","function_arn":"XXXX_node10","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-dev-process-input-traced_node10","datadog_lambda":"XXXX","dd_trace":"XXXX","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node10"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-dev-process-input-traced_node10","error":0,"meta":{"service":"integration-dev-process-input-traced_node10","cold_start":"true","function_arn":"XXXX_node10","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-dev-process-input-traced_node10","datadog_lambda":"XXXX","dd_trace":"XXXX","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway"},"metrics":{"_sample_rate":1,"_dd.agent_psr":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/process-input-traced_node12.log b/integration_tests/snapshots/logs/process-input-traced_node12.log index 83036e93..5c130517 100644 --- a/integration_tests/snapshots/logs/process-input-traced_node12.log +++ b/integration_tests/snapshots/logs/process-input-traced_node12.log @@ -1,7 +1,7 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-process-input-traced_node12","resource:integration-dev-process-input-traced_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"tcp.connect","resource":"127.0.0.1:8124","error":1,"meta":{"service":"integration-dev-process-input-traced_node12","span.kind":"client","tcp.remote.host":"127.0.0.1","tcp.remote.port":"8124","tcp.family":"IPv4","out.host":"127.0.0.1","out.port":"8124","error.type":"Error","error.msg":"connect ECONNREFUSED 127.0.0.1:8124","error.stack":"Error: connect ECONNREFUSED 127.0.0.1:8124\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)\n at TCPConnectWrap.callbackTrampoline (internal/async_hooks.js:120:14)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12-tcp"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"http.request","resource":"GET","error":1,"meta":{"service":"integration-dev-process-input-traced_node12","span.kind":"client","http.method":"GET","http.url":"http://127.0.0.1:8124/lambda/hello","error.type":"Error","error.msg":"connect ECONNREFUSED 127.0.0.1:8124","error.stack":"Error: connect ECONNREFUSED 127.0.0.1:8124\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)\n at TCPConnectWrap.callbackTrampoline (internal/async_hooks.js:120:14)"},"metrics":{"_sample_rate":1,"_dd.agent_psr":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12-http-client","type":"http"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-dev-process-input-traced_node12","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","cold_start":"true","function_arn":"XXXX_node12","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-dev-process-input-traced_node12","datadog_lambda":"XXXX","dd_trace":"XXXX","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway","language":"javascript"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"integration-dev-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-dev-process-input-traced_node12","error":0,"meta":{"service":"integration-dev-process-input-traced_node12","cold_start":"true","function_arn":"XXXX_node12","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-dev-process-input-traced_node12","datadog_lambda":"XXXX","dd_trace":"XXXX","api_gateway_request_id":"41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9","event_type":"APIGateway"},"metrics":{"_sample_rate":1,"_dd.agent_psr":1,"_sampling_priority_v1":1},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/sync-metrics_node10.log b/integration_tests/snapshots/logs/sync-metrics_node10.log index 82eb6fab..530fa3a4 100644 --- a/integration_tests/snapshots/logs/sync-metrics_node10.log +++ b/integration_tests/snapshots/logs/sync-metrics_node10.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-sync-metrics_node10","resource:integration-dev-sync-metrics_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] diff --git a/integration_tests/snapshots/logs/sync-metrics_node12.log b/integration_tests/snapshots/logs/sync-metrics_node12.log index 2e82dd25..8848092c 100644 --- a/integration_tests/snapshots/logs/sync-metrics_node12.log +++ b/integration_tests/snapshots/logs/sync-metrics_node12.log @@ -1,5 +1,4 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-sync-metrics_node12","resource:integration-dev-sync-metrics_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] diff --git a/integration_tests/snapshots/logs/sync-metrics_node12_with_plugin.log b/integration_tests/snapshots/logs/sync-metrics_node12_with_plugin.log index c0020812..6e1caace 100644 --- a/integration_tests/snapshots/logs/sync-metrics_node12_with_plugin.log +++ b/integration_tests/snapshots/logs/sync-metrics_node12_with_plugin.log @@ -1,8 +1,8 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-sync-metrics_node12_with_plugin","resource:integration-plugin-dev-sync-metrics_node12_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:APIGateway","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request {"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-sync-metrics_node12_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-sync-metrics_node12_with_plugin","cold_start":"true","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-sync-metrics_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/throw-error-traced_node10.log b/integration_tests/snapshots/logs/throw-error-traced_node10.log index b00bd002..5d9d9a0a 100644 --- a/integration_tests/snapshots/logs/throw-error-traced_node10.log +++ b/integration_tests/snapshots/logs/throw-error-traced_node10.log @@ -1,8 +1,7 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"," at process._tickCallback (internal/process/next_tick.js:68:7)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -10,7 +9,7 @@ XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -18,7 +17,7 @@ XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node10","resource:integration-dev-throw-error-traced_node10","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/throw-error-traced_node10_with_plugin.log b/integration_tests/snapshots/logs/throw-error-traced_node10_with_plugin.log index 16da1fc5..adc3eced 100644 --- a/integration_tests/snapshots/logs/throw-error-traced_node10_with_plugin.log +++ b/integration_tests/snapshots/logs/throw-error-traced_node10_with_plugin.log @@ -1,26 +1,26 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"true","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)\n at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"true","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)\n at process._tickCallback (internal/process/next_tick.js:68:7)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"," at process._tickCallback (internal/process/next_tick.js:68:7)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)"," at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)\n at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)"," at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)\n at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node10_with_plugin","resource:integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs10.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node10_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node10_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at tracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53)"," at result.scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_hooks.js:54:14)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:23"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:158:75)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/throw-error-traced_node12.log b/integration_tests/snapshots/logs/throw-error-traced_node12.log index c1483261..fa61c440 100644 --- a/integration_tests/snapshots/logs/throw-error-traced_node12.log +++ b/integration_tests/snapshots/logs/throw-error-traced_node12.log @@ -1,8 +1,7 @@ START RequestId: XXXX Version: $LATEST -HTTP GET http://127.0.0.1:8124/lambda/hello Headers: ["content-type:application/json","x-datadog-parent-id:XXXX","x-datadog-sampling-priority:2","x-datadog-trace-id:XXXX"] {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"," at processTicksAndRejections (internal/process/task_queues.js:97:5)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -10,7 +9,7 @@ XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true @@ -18,7 +17,7 @@ XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-throw-error-traced_node12","resource:integration-dev-throw-error-traced_node12","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:156:62"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /var/task/node_modules/datadog-lambda-js/dist/index.js:158:75"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/integration_tests/snapshots/logs/throw-error-traced_node12_with_plugin.log b/integration_tests/snapshots/logs/throw-error-traced_node12_with_plugin.log index 9b17f51c..b2eadbcb 100644 --- a/integration_tests/snapshots/logs/throw-error-traced_node12_with_plugin.log +++ b/integration_tests/snapshots/logs/throw-error-traced_node12_with_plugin.log @@ -1,26 +1,26 @@ START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"true","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56\n at async_hooks.js:300:14\n at AsyncResource.runInAsyncScope (async_hooks.js:189:9)\n at AsyncLocalStorage.run (async_hooks.js:298:35)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:true","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"true","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)\n at processTicksAndRejections (internal/process/task_queues.js:97:5)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"," at processTicksAndRejections (internal/process/task_queues.js:97:5)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56"," at async_hooks.js:300:14"," at AsyncResource.runInAsyncScope (async_hooks.js:189:9)"," at AsyncLocalStorage.run (async_hooks.js:298:35)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56\n at async_hooks.js:300:14\n at AsyncResource.runInAsyncScope (async_hooks.js:189:9)\n at AsyncLocalStorage.run (async_hooks.js:298:35)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56"," at async_hooks.js:300:14"," at AsyncResource.runInAsyncScope (async_hooks.js:189:9)"," at AsyncLocalStorage.run (async_hooks.js:298:35)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true START RequestId: XXXX Version: $LATEST {"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} +{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53\n at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56\n at async_hooks.js:300:14\n at AsyncResource.runInAsyncScope (async_hooks.js:189:9)\n at AsyncLocalStorage.run (async_hooks.js:298:35)\n at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)\n at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)\n at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} {"e":XXXX,"m":"aws.lambda.enhanced.errors","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-throw-error-traced_node12_with_plugin","resource:integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start:false","memorysize:1024","datadog_lambda:vX.X.X","runtime:nodejs12.x"],"v":1} -{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-throw-error-traced_node12_with_plugin","error":1,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-throw-error-traced_node12_with_plugin","cold_start":"false","function_arn":"XXXX_node12_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-throw-error-traced_node12_with_plugin","datadog_lambda":"XXXX","dd_trace":"XXXX","_dd.parent_source":"xray","error.type":"Error","error.msg":"Hello","error.stack":"Error: Hello\n at handle (/var/task/throw-error-traced.js:4:11)\n at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25\n at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)\n at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)\n at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)\n at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]} -XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at Object. (/var/task/node_modules/datadog-lambda-js/dist/index.js:156:62)"," at step (/var/task/node_modules/datadog-lambda-js/dist/index.js:44:23)"," at Object.next (/var/task/node_modules/datadog-lambda-js/dist/index.js:25:53)"," at fulfilled (/var/task/node_modules/datadog-lambda-js/dist/index.js:16:58)"]} +XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX ERROR [dd.trace_id=XXXX dd.span_id=XXXX] Invoke Error {"errorType":"Error","errorMessage":"Hello","stack":["Error: Hello"," at handle (/var/task/throw-error-traced.js:4:11)"," at /var/task/node_modules/datadog-lambda-js/dist/utils/handler.js:150:25"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:93:53"," at /opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:56"," at async_hooks.js:300:14"," at AsyncResource.runInAsyncScope (async_hooks.js:189:9)"," at AsyncLocalStorage.run (async_hooks.js:298:35)"," at Scope._activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/async_local_storage.js:25:26)"," at Scope.activate (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/scope/base.js:12:19)"," at DatadogTracer.trace (/opt/nodejs/node_modules/dd-trace/packages/dd-trace/src/tracer.js:45:35)"]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB XRAY TraceId: XXXX SegmentId: XXXX Sampled: true diff --git a/src/index.ts b/src/index.ts index 2675eb57..aa1ea8a5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -111,32 +111,41 @@ export function datadog( currentMetricsListener = metricsListener; currentTraceListener = traceListener; - await traceListener.onStartInvocation(event, context); + try { + await traceListener.onStartInvocation(event, context); + await metricsListener.onStartInvocation(event); + if (finalConfig.enhancedMetrics) { + incrementInvocationsMetric(metricsListener, context); + } + } catch (err) { + logDebug(`Failed to start listeners with error ${err}`); + } + let result: TResult | undefined; + let error: any; + let didThrow = false; + try { - result = await traceListener.onWrap(async (localEvent: TEvent, localContext: Context) => { - await metricsListener.onStartInvocation(localEvent); - if (finalConfig.enhancedMetrics) { - incrementInvocationsMetric(metricsListener, localContext); - } - let localResult: TResult | undefined; - try { - localResult = (await promHandler(localEvent, localContext)) as TResult | undefined; - } catch (err) { - if (finalConfig.enhancedMetrics) { - incrementErrorsMetric(metricsListener, localContext); - } - throw err; - } finally { - await metricsListener.onCompleteInvocation(); - } - return localResult; - })(event, context); - } finally { + result = await traceListener.onWrap(promHandler)(event, context); + } catch (err) { + didThrow = true; + error = err; + } + try { + await metricsListener.onCompleteInvocation(); await traceListener.onCompleteInvocation(); - currentMetricsListener = undefined; - currentTraceListener = undefined; + if (didThrow && finalConfig.enhancedMetrics) { + incrementErrorsMetric(metricsListener, context); + } + } catch (err) { + logDebug(`Failed to complete listeners with error ${err}`); } + currentMetricsListener = undefined; + currentTraceListener = undefined; + if (didThrow) { + throw error; + } + return result as TResult; }; From 800c6d060c33185ee7d33b20e34e629e91c9913c Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Tue, 24 Nov 2020 15:22:09 -0500 Subject: [PATCH 5/6] Wrap handler correctly --- src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index aa1ea8a5..6c71ae49 100644 --- a/src/index.ts +++ b/src/index.ts @@ -126,7 +126,9 @@ export function datadog( let didThrow = false; try { - result = await traceListener.onWrap(promHandler)(event, context); + result = await traceListener.onWrap((event: TEvent, context: Context) => { + return promHandler(event, context); + })(event, context); } catch (err) { didThrow = true; error = err; From 61563b1f8fa3a197223bc8a98348cc903a4f6831 Mon Sep 17 00:00:00 2001 From: DarcyRaynerDD Date: Tue, 24 Nov 2020 15:25:55 -0500 Subject: [PATCH 6/6] Fix lint error --- src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 6c71ae49..4cfa9382 100644 --- a/src/index.ts +++ b/src/index.ts @@ -126,8 +126,8 @@ export function datadog( let didThrow = false; try { - result = await traceListener.onWrap((event: TEvent, context: Context) => { - return promHandler(event, context); + result = await traceListener.onWrap((localEvent: TEvent, localContext: Context) => { + return promHandler(localEvent, localContext); })(event, context); } catch (err) { didThrow = true;