Skip to content

Conversation

joeyzhao2018
Copy link

@joeyzhao2018 joeyzhao2018 commented Sep 3, 2025

What does this PR do?

We are moving datadog-lambda-go to dd-trace-go (finally) !!!

This PR just

  1. moves the code
  2. adds the go.mod files and changes the relative imports
  3. adapts to the dd-trace-go V2 APIs (the same things we have done in feat: use dd-trace-go v2 datadog-lambda-go#206)

After this PR, datadog-lambda-go's release will be done along with dd-trace-go as github.com/DataDog/dd-trace-go/contrib/aws/datadog-lambda-go/v2

This PR does NOT include

  1. the previous integration tests in datadog-lambda-go. That migration has a dedicated PR: misc: migrate datadog-lambda-go integration tests #3987
  2. System tests and benchmarking updates. We will prioritize those but currently not a block for this migration.

Motivation

  1. Upgrade dd-trace-go v2 datadog-lambda-go#204 datadog-lambda-go needs to use dd-trace-go v2 but releasing a datadog-lambda-goV2 separately will likely cause many maintenance issues and confuse the customers. The best approach is to release it along with dd-trace-go.
  2. Moving datadog-lambda-go to dd-trace-go is in general a better structure for future enhancements and maintenance.
  3. Pave the road for using Orchestrion for AWS Lambda as the internal APIs in this PR will be needed.

Testing

Smoke tested with a real lambda. Note that the datadog-lambda version will be the same as dd-trace-go version.
Screenshot 2025-09-24 at 3 00 50 PM

Reviewer's Checklist

  • Changed code has unit tests for its functionality at or near 100% coverage.
  • New code is free of linting errors. You can check this by running ./scripts/lint.sh locally.
  • Non-trivial go.mod changes, e.g. adding new modules, are reviewed by @DataDog/dd-trace-go-guild.
  • Add an appropriate team label so this PR gets put in the right place for the release notes.

Benchmark and system-tests are going to be in other PRs.

  • System-Tests covering this feature have been added and enabled with the va.b.c-dev version tag.
    • If this interacts with the agent in a new way, a system test has been added.
  • There is a benchmark for any new code, or changes to existing code.

https://datadoghq.atlassian.net/browse/APMSVLS-183

@github-actions github-actions bot added the apm:ecosystem contrib/* related feature requests or bugs label Sep 3, 2025
@pr-commenter
Copy link

pr-commenter bot commented Sep 3, 2025

Benchmarks

Benchmark execution time: 2025-09-25 12:06:43

Comparing candidate commit 8b4d6a7 in PR branch joey/migration with baseline commit 45aa5ed in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 24 metrics, 0 unstable metrics.

Copy link

datadog-official bot commented Sep 3, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8b4d6a7 | Docs | Was this helpful? Give us feedback!

@joeyzhao2018 joeyzhao2018 changed the title Migrate datadog-lambda-go feat: datadog-lambda-go Sep 15, 2025
@joeyzhao2018 joeyzhao2018 marked this pull request as ready for review September 24, 2025 18:59
@joeyzhao2018 joeyzhao2018 requested review from a team as code owners September 24, 2025 18:59
pkgs := GetPackages()
for pkg, info := range pkgs {
t.Run(string(pkg), func(t *testing.T) {
// Skip packages that don't implement analytics functionality
Copy link
Author

Choose a reason for hiding this comment

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

Let me know if this kind of skip is acceptable. Currently the datadog-lambda-go doesn't support instrumentation telemetry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apm:ecosystem contrib/* related feature requests or bugs serverless
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant