Skip to content

Commit e3797e8

Browse files
authored
Merge branch 'main' into chris.agocs/add_us5_site
2 parents b7f27c2 + 8dfb457 commit e3797e8

34 files changed

+1254
-640
lines changed

.github/workflows/build.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: build
22

3-
on: push
3+
on:
4+
push:
5+
branches:
6+
- 'main'
7+
pull_request:
48

59
jobs:
610
lint:
@@ -118,3 +122,20 @@ jobs:
118122
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
119123
RUNTIME_PARAM: ${{ matrix.runtime-param }}
120124
run: ./scripts/run_integration_tests.sh
125+
126+
- name: Send success metric
127+
env:
128+
DD_API_KEY: ${{ secrets.DD_API_KEY }}
129+
run: ./scripts/send_status_metric.sh 0 $DD_API_KEY
130+
131+
integration-test-failure:
132+
runs-on: ubuntu-latest
133+
needs: [integration-test]
134+
if: always() && (needs.integration-test.result == 'failure')
135+
steps:
136+
- name: Checkout
137+
uses: actions/checkout@v2
138+
- name: Send a failure metric
139+
env:
140+
DD_API_KEY: ${{ secrets.DD_API_KEY }}
141+
run: ./scripts/send_status_metric.sh 1 $DD_API_KEY

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Ignore code that was originally part of the Lambda runtime
2+
runtime

.prettierrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"printWidth": 120,
33
"trailingComma": "all",
4-
"arrowParens": "always"
4+
"arrowParens": "always",
5+
"semi": true
56
}

Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ RUN rm -rf /nodejs/node_modules/dd-trace/prebuilds
3131
RUN rm -rf /nodejs/node_modules/dd-trace/dist
3232
RUN rm -rf /nodejs/node_modules/hdr-histogram-js/build
3333
RUN rm -rf /nodejs/node_modules/protobufjs/dist
34+
RUN rm -rf /nodejs/node_modules/protobufjs/cli
35+
RUN find /nodejs/node_modules -name "*.d.ts" -delete
36+
RUN find /nodejs/node_modules -name "*.js.map" -delete
37+
RUN find /nodejs/node_modules -name "*.ts.map" -delete

LICENSE-3rdparty.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Component,Origin,License,Copyright
22
async-listener,github.com/othiym23/async-listener,BSD-2-Clause,"Copyright (c) 2013-2017, Forrest L Norvell All rights reserved."
33
async,github.com/caolan/async,MIT,Copyright (c) 2010-2014 Caolan McMahon
44
atomic-batcher,github.com/mafintosh/atomic-batcher,MIT,Copyright (c) 2016 Mathias Buus
5+
aws-lambda-nodejs-runtime-interface-client,github.com/aws/aws-lambda-nodejs-runtime-interface-client,Apache 2.0,Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
56
aws-sdk,github.com/aws/aws-sdk-js,Apache-2.0,"Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved."
67
aws-xray-sdk-core,github.com/aws/aws-xray-sdk-node/tree/master/packages/core,Apache-2.0,"Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved."
78
base64-js,github.com/beatgammit/base64-js,MIT,Copyright (c) 2014 Jameson Little

NOTICE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@ Datadog datadog-lambda-js
22
Copyright 2019 Datadog, Inc.
33

44
This product includes software developed at Datadog (https://www.datadoghq.com/).
5+
6+
The Initial Developer of the files in the runtime directory is Amazon.com, Inc.
7+
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.

integration_tests/snapshots/logs/process-input-traced_node12.log

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ START RequestId: XXXX Version: $LATEST
33
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1}
44
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node12","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
55
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
6-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
6+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
77
END RequestId: XXXX
88
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms
99

@@ -12,7 +12,7 @@ START RequestId: XXXX Version: $LATEST
1212
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1}
1313
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node12","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
1414
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
15-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
15+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
1616
END RequestId: XXXX
1717
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
1818

@@ -21,6 +21,6 @@ START RequestId: XXXX Version: $LATEST
2121
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev12.XX.X"],"v":1}
2222
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node12","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
2323
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
24-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
24+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node12"}]]}
2525
END RequestId: XXXX
2626
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB

integration_tests/snapshots/logs/process-input-traced_node14.log

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ START RequestId: XXXX Version: $LATEST
33
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev14.XX.X"],"v":1}
44
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getAPIGatewayRequestId","resource":"getAPIGatewayRequestId","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node14","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
55
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
6-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
6+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
77
END RequestId: XXXX
88
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms
99

@@ -12,7 +12,7 @@ START RequestId: XXXX Version: $LATEST
1212
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev14.XX.X"],"v":1}
1313
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node14","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
1414
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
15-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
15+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
1616
END RequestId: XXXX
1717
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
1818

@@ -21,6 +21,6 @@ START RequestId: XXXX Version: $LATEST
2121
{"e":XXXX,"m":"serverless.integration_test.execution","t":["function:process-input-traced","dd_lambda_layer:datadog-nodev14.XX.X"],"v":1}
2222
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"getRecordIds","resource":"getRecordIds","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"},{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-tests-js-XXXX-process-input-traced_node14","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
2323
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"0.0.0.0","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
24-
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.254.79.2","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
24+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"dns.lookup","resource":"169.X.X.X","error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"start":XXXX,"duration":XXXX,"service":"integration-tests-js-XXXX-process-input-traced_node14"}]]}
2525
END RequestId: XXXX
2626
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "datadog-lambda-js",
3-
"version": "4.61.0",
3+
"version": "4.64.0",
44
"description": "Lambda client library that supports hybrid tracing in node js",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

scripts/create_documentation_pr.sh

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/bin/bash
2+
3+
# Unless explicitly stated otherwise all files in this repository are licensed
4+
# under the Apache License Version 2.0.
5+
# This product includes software developed at Datadog (https://www.datadoghq.com/).
6+
# Copyright 2019 Datadog, Inc.
7+
8+
# This script automatically opens a PR to the Documentation repo for lambda layer deploys
9+
10+
GREEN="\033[0;32m"
11+
NC="\033[0;0m"
12+
DOCUMENTATION_REPO_PATH=$HOME/go/src/github.com/DataDog/documentation
13+
DOCUMENTATION_FILE=./layouts/shortcodes/latest-lambda-layer-version.html
14+
15+
function print_color {
16+
printf "$GREEN$1$NC\n"
17+
}
18+
19+
print_color "Creating a Github PR to update documentation"
20+
21+
if [ ! -d $DOCUMENTATION_REPO_PATH ]; then
22+
print_color "Documentation directory does not exist, cloning into $DOCUMENTATION_REPO_PATH"
23+
git clone [email protected]:DataDog/documentation $DOCUMENTATION_REPO_PATH
24+
fi
25+
26+
cd $DOCUMENTATION_REPO_PATH
27+
28+
# Make sure they don't have any local changes
29+
if [ ! -z "$(git status --porcelain)" ]; then
30+
print_color "Documentation directory is dirty -- please stash or save your changes and manually create the PR"
31+
exit 1
32+
fi
33+
34+
print_color "Pulling latest changes from Github"
35+
git checkout master
36+
git pull
37+
38+
print_color "Checking out new branch that has version changes"
39+
git checkout -b $USER/bump-nodejs-layer-version-$VERSION
40+
sed -i '' -e '/.*"node"/{' -e 'n;s/.*/ '"$VERSION"'/' -e '}' $DOCUMENTATION_FILE
41+
git add $DOCUMENTATION_FILE
42+
43+
print_color "Creating commit -- please tap your Yubikey if prompted"
44+
git commit -m "Bump $LAYER layer to version $VERSION"
45+
git push --set-upstream origin $USER/bump-nodejs-layer-version-$VERSION
46+
dd-pr
47+
48+
# Reset documentation repo to clean a state that's tracking master
49+
print_color "Resetting documentation git branch to master"
50+
git checkout -B master origin/master

scripts/publish_prod.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,6 @@ git push origin "refs/tags/v$NEW_VERSION"
8989
echo
9090
echo "Now create a new release with the tag v${NEW_VERSION} created"
9191
echo "https://github.com/DataDog/datadog-lambda-js/releases/new?tag=v$NEW_VERSION&title=v$NEW_VERSION"
92-
echo "Also, remember to update ${HOME}/go/src/github.com/datadog/documentation/layouts/shortcodes/latest-lambda-layer-version.html"
92+
93+
# Open a PR to the documentation repo to automatically bump layer version
94+
VERSION=$VERSION LAYER=datadog-lambda-js ./scripts/create_documentation_pr.sh

scripts/publish_sandbox.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# Usage: VERSION=5 aws-vault exec sandbox-acccount-admin -- publish_sandbox.sh
3+
# Usage: VERSION=5 aws-vault exec sandbox-account-admin -- publish_sandbox.sh
44
set -e
55

66
if [ -z "$VERSION" ]; then
@@ -12,3 +12,7 @@ fi
1212
./scripts/build_layers.sh
1313
./scripts/sign_layers.sh sandbox
1414
VERSION=$VERSION REGIONS=sa-east-1 ./scripts/publish_layers.sh
15+
16+
# Automatically create PR against github.com/DataDog/documentation
17+
# If you'd like to test, please uncomment the below line
18+
# VERSION=$VERSION LAYER=datadog-lambda-js ./scripts/create_documentation_pr.sh

scripts/run_integration_tests.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,9 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do
207207
# Remove metrics and metas in logged traces (their order is inconsistent)
208208
perl -p -e 's/"(meta|metrics)":{(.*?)}/"\1":{"XXXX": "XXXX"}/g' |
209209
# Normalize enhanced metric datadog_lambda tag
210-
perl -p -e "s/(datadog_lambda:v)[0-9\.]+/\1X.X.X/g"
210+
perl -p -e "s/(datadog_lambda:v)[0-9\.]+/\1X.X.X/g" |
211+
# Normalize lookup resource
212+
perl -p -e "s/(\"resource\":\"169.)[0-9\.]+/\1X.X.X/g"
211213
)
212214

213215
if [ ! -f $function_snapshot_path ]; then

scripts/send_status_metric.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
if [ -z $GITHUB_REF ]; then
2+
echo "GITHUB_REF is not set, not sending the metric"
3+
exit 0
4+
fi
5+
6+
if [ "$GITHUB_REF" != "refs/heads/main" ]; then
7+
echo "Not on the main branch, not sending the metric"
8+
exit 0
9+
fi
10+
11+
#Retrieve the status
12+
# 0 means success
13+
# 1 means failure
14+
STATUS=$1
15+
16+
API_KEY=$2
17+
CURRENT_TIME=$(date +%s)
18+
19+
#Send the metric
20+
curl -H "Content-type: application/json" \
21+
-H "DD-API-KEY: ${API_KEY}" \
22+
-d "{ \"series\" :
23+
[{\"metric\":\"serverless.integration_test.nodejs.status\",
24+
\"points\":[[$CURRENT_TIME, $STATUS]],
25+
\"type\":\"gauge\",
26+
\"tags\":[\"service:serverless-integration-test\"]}
27+
]
28+
}" \
29+
'https://app.datadoghq.com/api/v1/series'

src/handler.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { datadog, datadogHandlerEnvVar, lambdaTaskRootEnvVar, traceExtractorEnvVar, getEnvValue } from "./index";
22
import { TraceExtractor } from "./trace";
33
import { logDebug, logError } from "./utils";
4-
// We reuse the function loading logic already inside the lambda runtime.
5-
// tslint:disable-next-line:no-var-requires
6-
const { load } = require("/var/runtime/UserFunction") as any;
4+
import { load } from "./runtime";
75

86
if (process.env.DD_TRACE_DISABLED_PLUGINS === undefined) {
97
process.env.DD_TRACE_DISABLED_PLUGINS = "fs";

0 commit comments

Comments
 (0)