Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
node-version: [18.12, 20.19, 22.11]
node-version: [18.12, 20.19, 22.11, 24.11]
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -67,7 +67,7 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-
- name: Install NodeGYP
if: matrix.node-version == '20.19' || matrix.node-version == '22.11'
if: matrix.node-version == '20.19' || matrix.node-version == '22.11' || matrix.node-version == '24.11'
run: yarn global add node-gyp

- name: Install dependencies
Expand Down
3 changes: 3 additions & 0 deletions .gitlab/datasources/runtimes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ runtimes:
- name: "node22"
node_version: "22.11"
node_major_version: "22"
- name: "node24"
node_version: "24.11"
node_major_version: "24"
8 changes: 4 additions & 4 deletions .gitlab/scripts/publish_layers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
set -e

# Available runtimes: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
AWS_CLI_NODE_VERSIONS=("nodejs18.x" "nodejs20.x" "nodejs22.x")
LAYER_PATHS=(".layers/datadog_lambda_node18.12.zip" ".layers/datadog_lambda_node20.19.zip" ".layers/datadog_lambda_node22.11.zip")
LAYERS=("Datadog-Node18-x" "Datadog-Node20-x" "Datadog-Node22-x")
NODE_VERSIONS=("18.12" "20.19" "22.11")
AWS_CLI_NODE_VERSIONS=("nodejs18.x" "nodejs20.x" "nodejs22.x" "nodejs24.x")
LAYER_PATHS=(".layers/datadog_lambda_node18.12.zip" ".layers/datadog_lambda_node20.19.zip" ".layers/datadog_lambda_node22.11.zip" ".layers/datadog_lambda_node24.11.zip")
LAYERS=("Datadog-Node18-x" "Datadog-Node20-x" "Datadog-Node22-x" "Datadog-Node24-x")
NODE_VERSIONS=("18.12" "20.19" "22.11" "24.11")
STAGES=('prod', 'sandbox', 'staging')

printf "Starting script...\n\n"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![Slack](https://chat.datadoghq.com/badge.svg?bg=632CA6)](https://chat.datadoghq.com/)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/datadog-lambda-js/blob/main/LICENSE)

Datadog Lambda Library for Node.js (18.x, 20.x, and 22.x) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions.
Datadog Lambda Library for Node.js (18.x, 20.x, 22.x, and 24.x) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: deprecate v18.x because it's been deprecated by lambda since september

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should I do that here or maybe split into a different PR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

different PR is fine


## Installation

Expand Down
284 changes: 284 additions & 0 deletions integration_tests/snapshots/logs/async-metrics_node24.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@

START
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:true",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.outside_handler",
"t": [
"tagkey:tagvalue",
"eventsource:outside_handler",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:APIGateway",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB
START
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed undefined request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:undefined",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SNS request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.records_processed",
"t": [
"tagkey:tagvalue",
"eventsource:SNS",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:SNS",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
START
XXXX-XX-XX XX:XX:XX.XXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SQS request
{
"e": XXXX,
"m": "aws.lambda.enhanced.invocations",
"t": [
"region:eu-west-1",
"account_id:XXXX",
"functionname:integration-tests-js-XXXX-async-metrics_node24",
"resource:integration-tests-js-XXXX-async-metrics_node24",
"memorysize:1024",
"cold_start:false",
"datadog_lambda:vX.X.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.records_processed",
"t": [
"tagkey:tagvalue",
"eventsource:SQS",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.records_processed",
"t": [
"tagkey:tagvalue",
"eventsource:SQS",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
{
"e": XXXX,
"m": "serverless.integration_test.execution",
"t": [
"tagkey:tagvalue",
"eventsource:SQS",
"dd_lambda_layer:datadog-nodev24.XX.X"
],
"v": 1
}
END Duration: XXXX ms Memory Used: XXXX MB
Loading
Loading