-
Notifications
You must be signed in to change notification settings - Fork 20
Comparing changes
Open a pull request
base repository: DataDog/datadog-lambda-extension
base: v90
head repository: DataDog/datadog-lambda-extension
compare: v91
- 18 commits
- 69 files changed
- 10 contributors
Commits on Dec 1, 2025
-
fix: [SVLS-8072] run apt-get update and apt-get install in same layer (…
…#949) ## Overview Fixes below error: https://github.com/DataDog/datadog-lambda-extension/actions/runs/19829559230/job/56812757592 ``` #16 [compresser 3/10] RUN apt-get install -y zip binutils #16 0.095 Reading package lists... #16 1.033 Building dependency tree... #16 1.217 Reading state information... #16 1.357 The following additional packages will be installed: #16 1.358 binutils-common binutils-x86-64-linux-gnu libbinutils libctf-nobfd0 libctf0 #16 1.358 unzip #16 1.359 Suggested packages: #16 1.359 binutils-doc #16 1.392 The following NEW packages will be installed: #16 1.392 binutils binutils-common binutils-x86-64-linux-gnu libbinutils libctf-nobfd0 #16 1.393 libctf0 unzip zip #16 1.648 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. #16 1.648 Need to get 3769 kB of archives. #16 1.648 After this operation, 15.7 MB of additional disk space will be used. #16 1.648 Err:1 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils-common amd64 2.38-4ubuntu2.11 #16 1.648 404 Not Found [IP: 91.189.91.82 80] #16 1.727 Err:2 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libbinutils amd64 2.38-4ubuntu2.11 #16 1.727 404 Not Found [IP: 91.189.91.82 80] #16 1.727 Err:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libctf-nobfd0 amd64 2.38-4ubuntu2.11 #16 1.727 404 Not Found [IP: 91.189.91.82 80] #16 1.727 Err:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libctf0 amd64 2.38-4ubuntu2.11 #16 1.727 404 Not Found [IP: 91.189.91.82 80] #16 1.727 Err:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils-x86-64-linux-gnu amd64 2.38-4ubuntu2.11 #16 1.727 404 Not Found [IP: 91.189.91.82 80] #16 1.727 Err:6 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils amd64 2.38-4ubuntu2.11 #16 1.727 404 Not Found [IP: 91.189.91.82 80] #16 1.838 Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 unzip amd64 6.0-26ubuntu3.2 [175 kB] #16 2.515 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 zip amd64 3.0-12build2 [176 kB] #16 2.625 Fetched 350 kB in 1s (287 kB/s) #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils-common_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libbinutils_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libctf-nobfd0_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libctf0_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils-x86-64-linux-gnu_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils_2.38-4ubuntu2.11_amd64.deb 404 Not Found [IP: 91.189.91.82 80] #16 2.625 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? #16 ERROR: process "/bin/sh -c apt-get install -y zip binutils" did not complete successfully: exit code: 100 ``` ## Testing
Configuration menu - View commit details
-
Copy full SHA for 585c745 - Browse repository at this point
Copy the full SHA 585c745View commit details
Commits on Dec 2, 2025
-
chore: Remove committed RIE binaries and download at build time (#950)
https://datadoghq.atlassian.net/browse/SVLS-8083 ## Overview chore: Remove committed RIE binaries and download at build time - Delete local_tests/rie/bottlecap/arm64/rie binary - Delete local_tests/rie/bottlecap/x86/rie binary - Update Dockerfile to download AWS Lambda RIE from GitHub releases instead of copying local binary - Improves maintainability by avoiding committed binaries in version control ## Testing Confirmed by local debugging tests Co-authored-by: tianning.li <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34a45d0 - Browse repository at this point
Copy the full SHA 34a45d0View commit details
Commits on Dec 3, 2025
-
[SVLS-8054] add integration testing (#946)
## Overview Setup integration tests for the lambda extension. These integration tests will run on every PR. ### Details This PR includes: * CDK stacks for deploying lambda integration tests. This is for the lambda, and any related resources, we want to test against. * Integration tests, setup with Jest. These invoke lambda functions, wait, then get Datadog telemetry data to test/verify against. * Gitlab Integration Test Step (info below). * `README.md` for how to run tests locally. Note: * For simplicity, this is setup to just test against the ARM variant (not AMD). This also doesn't include FIPS or AppSec builds. I think this should be a reasonable starting point for our integration tests and we can evaluate adding additional configuration support as needed. ### Gitlab Integration Test Step The integration tests step in Gitlab will: 1. Publish the lambda extension. 2. Deploy CDK stacks, using the newly published lambda extension. 3. Run a test suite. 4. Destroy the CDK stacks. 5. Delete the lambda extension. ### Executing the integration tests The integration tests will automatically run on every PR. Developers can also run the integration tests locally by running `npm run test`. Full information is included in `README.md`. ### Example Integration Tests I added a 2 basic tests, one for node and one for python. These lambda function logs 'Hello World' and are setup with the extension and tracer library. The integration test gets the logs and traces from Datadog. It confirms that we have a log with the message 'Hello World!'. It also confirms we have spans with names `aws.lambda.cold_start`, `aws.lambda.load` and `aws.lambda`. Note that this isn't actually working correct for python for `aws.lambda.load` and `aws.lambda.cold_start`. Those spans are created, but with a different traceId so they aren't getting linked to `aws.lambda`. I will follow up and investigate. I plan on having a follow up PR with other runtimes. ## Testing This PR triggered the integration tests, can see the [corresponding gitlab pipeline](https://gitlab.ddbuild.io/DataDog/datadog-lambda-extension/-/pipelines/84401218) with the newly added step 'integration-tests'. (Or see the 'dd-gitlab/integration-test' in the checks for this PR) The results from the integration test can be obtained by going to [integration step](https://gitlab.ddbuild.io/DataDog/datadog-lambda-extension/-/jobs/1262527100) and downloading the artifacts. Screenshot attached below. <img width="1786" height="1177" alt="Screenshot 2025-12-01 at 9 14 03 AM" src="https://github.com/user-attachments/assets/d1e1313c-b986-44d8-ad65-ab6341d0b909" />
Configuration menu - View commit details
-
Copy full SHA for 581af89 - Browse repository at this point
Copy the full SHA 581af89View commit details
Commits on Dec 4, 2025
-
fix(config): support colons in tag values (URLs, etc.) (#953)
https://datadoghq.atlassian.net/browse/SVLS-8095 ## Overview Tag parsing previously used split(':') which broke values containing colons like URLs (git.repository_url:https://...). Changed to usesplitn(2, ':') to split only on the first colon, preserving the rest as the value. Changes: - Add parse_key_value_tag() helper to centralize parsing logic - Refactor deserialize_key_value_pairs to use helper - Refactor deserialize_key_value_pair_array_to_hashmap to use helper - Add comprehensive test coverage for URL values and edge cases ## Testing unit test and expect e2e tests to pass Co-authored-by: tianning.li <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 56d4a07 - Browse repository at this point
Copy the full SHA 56d4a07View commit details -
docs: Add Lambda Managed Instance mode documentation (#951)
docs: Add Lambda Managed Instance mode documentation https://datadoghq.atlassian.net/browse/SVLS-8083 ## Overview Add comprehensive documentation for Lambda Managed Instance support (v90+): - Overview of Managed Instance mode and how it differs from standard Lambda - Automatic detection and optimization behavior - Background continuous flushing architecture with zero per-invocation overhead - Key differences comparison table (invocation model, flushing, use cases) - Getting started guide for users Also clarifies that custom continuous flush intervals are respected in Managed Instance mode (not completely ignored as previously stated). ## Testing n/a
Configuration menu - View commit details
-
Copy full SHA for 1dbbc30 - Browse repository at this point
Copy the full SHA 1dbbc30View commit details
Commits on Dec 8, 2025
-
fix(github): update vulnerability scans (#941)
## Overview Updates vulnerability scans to check on Rust binaries and dependencies ## Testing GH actions
Configuration menu - View commit details
-
Copy full SHA for fdcb0ee - Browse repository at this point
Copy the full SHA fdcb0eeView commit details -
fix(vulnerabilities): update rust dependencies (#955)
## Overview Updates Rust dependencies ## Testing GH action
Configuration menu - View commit details
-
Copy full SHA for 1615f47 - Browse repository at this point
Copy the full SHA 1615f47View commit details -
## Overview * Integ test stacks aren't getting cleaned up. * Fixing issue. ## Testing
Configuration menu - View commit details
-
Copy full SHA for 32d89e5 - Browse repository at this point
Copy the full SHA 32d89e5View commit details
Commits on Dec 9, 2025
-
add integration tests for node and java (#958)
## Overview * Adding integration tests for Java and Dotnet. These are similar to the existing Node/Python integration in that they just test very basic functionality - we get logs/traces from the lambda function. These tests are meant to be our starting point and serve as example setup for other integration tests. * Fixed how we are filtering logs to use `@lambda.request_id:{requestId}`. This makes it use log attributes instead of checking the actual log message. * Updated stack cleanup step to just execute CLI command instead of CDK command. There was a slight issue when cleaning up the Java/Dotnet stacks due to their code assets, so the CLI command was easier. * Added tag the tag `extension_integration_test: true` to all of the stacks to make it easier to cleanup stacks if it gets missed (deployed locally and forgot to clean up, pipeline cancelled before cleanup step, etc.) A follow up item is to create a lambda function to periodically run and clean up all old stacks with this tag. ## Testing * Integ tests for this PR passed. * Checked AWS account and confirmed that there are no stacks with prefix `integ-61910f24`Configuration menu - View commit details
-
Copy full SHA for 0d69a7b - Browse repository at this point
Copy the full SHA 0d69a7bView commit details -
chore: Add a timer to avoid repeated debug logs (#954)
## Problem When the Lambda runtime spins down, the extension may enter a loop waiting for unfinished work, printing up to 100,000s identical lines of log: > LOGS_AGENT | No more events to process but still have senders, continuing to drain... For example, in one of my tests, this line was printed 31602 times within 1.28 seconds. <img width="1097" height="344" alt="image" src="https://github.com/user-attachments/assets/b3aff30c-596f-4837-a081-fbe165ba6254" /> This: 1. slightly complicates debugging for our engineers 2. adds costs and confusion for customers who turn on `DD_LOG_LEVEL=debug` to debug the extension ## This PR Add a timer and print this line at most once every 100ms, so it will be printed at most 20 times within the 2-second spindown time. ## Testing No testing for now. Should be straightforward. Will see if logs are reduced in future debugging.
Configuration menu - View commit details
-
Copy full SHA for b260205 - Browse repository at this point
Copy the full SHA b260205View commit details
Commits on Dec 10, 2025
-
APPSEC-60188: gracefully accept
nullin APIGW response (#960)I strongly suspect the .NET Lambda SDK (from Amazon) produces `null` values instead of omitting fields, which appears to be accepted by API Gateway but is presently rejected by our parsing logic. This addresses this problem and adds a new test case. JJ-Change-Id: vprmkv ZD: 2375557 Jira: APPSEC-60188
Configuration menu - View commit details
-
Copy full SHA for 7e278cd - Browse repository at this point
Copy the full SHA 7e278cdView commit details -
build(deps): bump anchore/scan-action from 7.2.1 to 7.2.2 (#962)
Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 7.2.1 to 7.2.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anchore/scan-action/releases">anchore/scan-action's releases</a>.</em></p> <blockquote> <h2>v7.2.2</h2> <h2>New in scan-action v7.2.2</h2> <ul> <li>update Grype to v0.104.2 (<a href="https://redirect.github.com/anchore/scan-action/issues/557">#557</a>) [[<a href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>](<a href="https://github.com/%5Banchore-actions-token-generator%5Bbot%5D%5D(https://github.com/apps/anchore-actions-token-generator))%5D">https://github.com/[anchore-actions-token-generator[bot]](https://github.com/apps/anchore-actions-token-generator))]</a></li> <li>bump glob from 10.4.5 to 10.5.0 (<a href="https://redirect.github.com/anchore/scan-action/issues/546">#546</a>) [[<a href="https://github.com/apps/dependabot">dependabot[bot]</a>](<a href="https://github.com/%5Bdependabot%5Bbot%5D%5D(https://github.com/apps/dependabot))%5D">https://github.com/[dependabot[bot]](https://github.com/apps/dependabot))]</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/anchore/scan-action/commit/3c9a191a0fbab285ca6b8530b5de5a642cba332f"><code>3c9a191</code></a> chore(deps): update Grype to v0.104.2 (<a href="https://redirect.github.com/anchore/scan-action/issues/557">#557</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/0a9fbe8211a960db3679b0885ce6754e8554a0b1"><code>0a9fbe8</code></a> chore(deps-dev): bump lint-staged from 16.2.6 to 16.2.7 (<a href="https://redirect.github.com/anchore/scan-action/issues/547">#547</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/5ac7f2aec0382580086343cec94d7b36d369047e"><code>5ac7f2a</code></a> chore(deps-dev): bump prettier from 3.6.2 to 3.7.4 (<a href="https://redirect.github.com/anchore/scan-action/issues/555">#555</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/563e915d07829f21025d3c1821b9d1cc9f10975c"><code>563e915</code></a> chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.11 (<a href="https://redirect.github.com/anchore/scan-action/issues/556">#556</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/49c6d261d1c975ab62c1eb10993425b7c6cb8ddc"><code>49c6d26</code></a> chore(deps): bump actions/checkout from 5.0.0 to 6.0.1 (<a href="https://redirect.github.com/anchore/scan-action/issues/554">#554</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/77906c36b05b7a0949cf47fadd0d2e3f2cf22d18"><code>77906c3</code></a> chore(deps): bump actions/setup-node from 6.0.0 to 6.1.0 (<a href="https://redirect.github.com/anchore/scan-action/issues/553">#553</a>)</li> <li><a href="https://github.com/anchore/scan-action/commit/ed82e81d1725e5ef6b41dbc1b1f3f13b366e417d"><code>ed82e81</code></a> chore(deps): bump glob from 10.4.5 to 10.5.0 (<a href="https://redirect.github.com/anchore/scan-action/issues/546">#546</a>)</li> <li>See full diff in <a href="https://github.com/anchore/scan-action/compare/40a61b52209e9d50e87917c5b901783d546b12d0...3c9a191a0fbab285ca6b8530b5de5a642cba332f">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7619068 - Browse repository at this point
Copy the full SHA 7619068View commit details -
fix build layer script usages (#931)
## Overview more accurate commenting on using the build_bottlecap_layer script Co-authored-by: olivier.ndjikenzia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea48140 - Browse repository at this point
Copy the full SHA ea48140View commit details
Commits on Dec 15, 2025
-
APPSEC-60188: downgrade integration response parsing log to debug (#959)
The message was incorrectly kept as `warn!` when we donwgraded all these log messages to `debug!` and this is very noisy in customer accounts. JJ-Change-Id: zkowts ZD: 2375557 Jira: APPSEC-60188
Configuration menu - View commit details
-
Copy full SHA for 4a4d90d - Browse repository at this point
Copy the full SHA 4a4d90dView commit details -
remove run bottlecap script (#966)
**Please include Jira ticket in title.** ## Overview This no longer works after the addition of ASM and isn't heavily used ## Testing
Configuration menu - View commit details
-
Copy full SHA for ebaddff - Browse repository at this point
Copy the full SHA ebaddffView commit details -
[SVLS-7934] feat: Support TLS certificate for trace/stats flusher (#961)
## Problem A customer reported that their Lambda is behind a proxy, and the Rust-based extension can't send traces to Datadog via the proxy, while the previous go-based extension worked. ## This PR Supports the env var `DD_TLS_CERT_FILE`: The path to a file of concatenated CA certificates in PEM format. Example: `DD_TLS_CERT_FILE=/opt/ca-cert.pem`, so the when the extension flushes traces/stats to Datadog, the HTTP client created can load and use this cert, and connect the proxy properly. ## Testing ### Steps 1. Create a Lambda in a VPC with an NGINX proxy. 2. Add a layer to the Lambda, which includes the CA certificate `ca-cert.pem` 3. Set env vars: - `DD_TLS_CERT_FILE=/opt/ca-cert.pem` - `DD_PROXY_HTTPS=http://10.0.0.30:3128`, where `10.0.0.30` is the private IP of the proxy EC2 instance - `DD_LOG_LEVEL=debug` 4. Update routing rules of security groups so the Lambda can reach `http://10.0.0.30:3128` 5. Invoke the Lambda ### Result **Before** Trace flush failed with error logs: > DD_EXTENSION | ERROR | Max retries exceeded, returning request error error=Network error: client error (Connect) attempts=1 DD_EXTENSION | ERROR | TRACES | Request failed: No requests sent **After** Trace flush is successful: > DD_EXTENSION | DEBUG | TRACES | Flushing 1 traces DD_EXTENSION | DEBUG | TRACES | Added root certificate from /opt/ca-cert.pem DD_EXTENSION | DEBUG | TRACES | Proxy connector created with proxy: Some("http://10.0.0.30:3128") DD_EXTENSION | DEBUG | Sending with retry url=https://trace.agent.datadoghq.com/api/v0.2/traces payload_size=1120 max_retries=1 DD_EXTENSION | DEBUG | Received response status=202 Accepted attempt=1 DD_EXTENSION | DEBUG | Request succeeded status=202 Accepted attempts=1 DD_EXTENSION | DEBUG | TRACES | Flushing took 1609 ms ## Notes This fix only covers trace flusher and stats flusher, which use `ServerlessTraceFlusher::get_http_client()` to create the HTTP client. It doesn't cover logs flusher and proxy flusher, which use a different function (http.rs:get_client()) to create the HTTP client. However, logs flushing was successful in my tests, even if no certificate was added. We can come back to logs/proxy flusher if someone reports an error.Configuration menu - View commit details
-
Copy full SHA for bae97ec - Browse repository at this point
Copy the full SHA bae97ecView commit details -
chore: Upgrade libdatadog (#964)
## Overview The crate `datadog-trace-obfuscation` has been renamed as `libdd-trace-obfuscation`. This PR updates this dependency. ## Testing
Configuration menu - View commit details
-
Copy full SHA for bce86ea - Browse repository at this point
Copy the full SHA bce86eaView commit details
Commits on Dec 17, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 948a938 - Browse repository at this point
Copy the full SHA 948a938View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v90...v91