Skip to content

DOCS-10681 AWS Lambda Distributed Tracing refresh #29153

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

cswatt
Copy link
Contributor

@cswatt cswatt commented May 5, 2025

What does this PR do? What is the motivation?

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:
Merge queue is enabled in this repo. Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass in CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

To have your PR automatically merged after it receives the required reviews, add the following PR comment:

/merge

Additional notes

Outstanding things:

@cswatt cswatt added the WORK IN PROGRESS No review needed, it's a wip ;) label May 5, 2025
@cswatt cswatt requested review from a team as code owners May 5, 2025 19:08
@github-actions github-actions bot added Images Images are added/removed with this PR Guide Content impacting a guide labels May 5, 2025

{{< partial name="serverless/serverless-apm-recommendations.html" >}}
### Supported features

Copy link
Contributor

Choose a reason for hiding this comment

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

I suggest adding a bit of a preview of what Datadog provides for tracing, maybe

Suggested change
Datadog's libraries for tracing Lambdas provides auto-instrumentation for Lambda invocations and also handles context propagation across managed AWS services and compute that may be upstream or downstream of Lambda functions.

},
)
```
{{< img src="serverless/lambda/tracing/open-trace.png" alt="Your image description" style="width:90%;" >}}
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion is to add trace map feature in the docs screenshot


exports.handler = async event => {
Copy link
Contributor

Choose a reason for hiding this comment

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

I suggest adding two more sections here for 'Cold Start Tracing' - blog post here on docs
and 'Sampling traces' (which we talk about in the 'advanced configuration' part of our docs but customers ask about this a lot)


In Python, you can use the `get_dd_trace_context` helper function to pass tracing context to outgoing events in a Lambda functions:
In Datadog, the [Serverless > AWS Lambda][5] view displays all of your functions, grouped by service.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In Datadog, the [Serverless > AWS Lambda][5] view displays all of your functions, grouped by service.
In Datadog, the [Serverless > AWS Lambda][5] view displays all of your serverless apps when grouped by service. You can also individually click into a Lambda function.


## Send traces from your serverless application
{{< img src="serverless/serverless_custom_metrics.png" alt="Architecture diagram for collecting traces, enhanced metrics, custom metrics, and logs from an AWS Lambda application and sending the data to Datadog" >}}

Copy link
Contributor

Choose a reason for hiding this comment

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

We have developed a sample app with our Dev Advocates that allows customers to spin up an example of Datadog here and get them set up https://github.com/DataDog/serverless-sample-app

Is it Ok to link this ?

- Tracing HTTP requests invoking downstream Lambda functions or containers.
- Tracing dozens of additional out-of-the-box [Go][9] libraries.
Copy link
Contributor

Choose a reason for hiding this comment

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

Go also supports

  • Tracing through API GW, SQS, SNS, Kinesis, EB, Dynamo, and S3
  • cold start tracing

#### Java

The Datadog Lambda Library and tracing libraries for Java support:
- Correlation of Lambda logs and traces with trace ID and tag injection. See [Connecting Java logs and traces][10] for more details.
Copy link
Contributor

Choose a reason for hiding this comment

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

Java also supports
-Tracing through API GW, SQS, SNS, Kinesis, EB, Dynamo, and S3

  • cold start tracing

The tracing library for .NET supports:
{{% /tab %}}
{{% tab "Go" %}}
- Manual correlation of Lambda logs and traces with trace ID and tag injection.
Copy link
Contributor

Choose a reason for hiding this comment

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

.NET also supports

Tracing through API GW, SQS, SNS, Kinesis, EB, Dynamo, and S3
cold start tracing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Guide Content impacting a guide Images Images are added/removed with this PR WORK IN PROGRESS No review needed, it's a wip ;)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants