Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1089f32
feat(datadog-aws-lambda): add root invocation span with OTel tracing
Dogbu-cyber Apr 21, 2026
75b9f9c
refactor(datadog-aws-lambda): address pr feedback and accept tower::S…
Dogbu-cyber Apr 22, 2026
5c920bf
test(datadog-aws-lambda): add WrappedHandler call and middleware tests
Dogbu-cyber Apr 22, 2026
530847b
fix(datadog-aws-lambda): resolve clippy type_complexity with type ali…
Dogbu-cyber Apr 22, 2026
8680568
chore(datadog-aws-lambda): clarify why payload is deserialized manually
Dogbu-cyber Apr 22, 2026
5b4d53a
feat(datadog-aws-lambda): tag root span with crate version
Dogbu-cyber Apr 23, 2026
2cd84c3
refactor(datadog-aws-lambda): take config builder
Dogbu-cyber Apr 23, 2026
ff2cb0f
fix(datadog-aws-lambda): remove test-utils feature from production de…
Dogbu-cyber Apr 23, 2026
72fa484
Revert "fix(datadog-aws-lambda): remove test-utils feature from produ…
Dogbu-cyber Apr 23, 2026
e5de6a3
Fix format
ygree Apr 27, 2026
8cab1d9
feat(datadog-aws-lambda): add root invocation span with OTel tracing
Dogbu-cyber Apr 21, 2026
90a9c84
Fix Cargo.lock
ygree Apr 28, 2026
70f982c
refactor(datadog-aws-lambda): wrap a Service instead of a plain handler
ygree May 6, 2026
06dc260
refactor(datadog-aws-lambda): import opentelemetry_sdk trace types
ygree May 6, 2026
54b30c5
fix(datadog-aws-lambda): use aws.lambda as root span name
ygree May 6, 2026
ddfe75c
refactor(datadog-aws-lambda): simplify tracing imports
ygree May 6, 2026
2dbf552
refactor(datadog-aws-lambda): simplify tracing config for WrappedHandler
ygree May 6, 2026
19feab9
refactor(datadog-aws-lambda): rename WrappedHandler to TracedService
ygree May 6, 2026
b9e8297
refactor(datadog-aws-lambda): align TracedService error bounds with l…
ygree May 6, 2026
aa5fc55
refactor(datadog-aws-lambda): remove redundant provider flush
ygree May 6, 2026
817e9ea
fix(datadog-aws-lambda): propagate invocation context through sync se…
ygree May 6, 2026
aaf242a
feat(datadog-aws-lambda): add trigger extraction and inferred spans
Dogbu-cyber Apr 21, 2026
6f6a9e0
Fix Cargo.toml
ygree Apr 28, 2026
c5fd42f
refactor(aws-lambda): remove duplicate x-datadog-trace-id literal in …
ygree Apr 29, 2026
6b2ea39
Merge branch 'main' into ygree/lambda-integration
ygree May 22, 2026
db83efe
test(datadog-aws-lambda): add regression for wrapped inferred span
ygree May 23, 2026
bc898f1
fix(datadog-aws-lambda): end wrapped inferred spans at inner event time
ygree May 23, 2026
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
117 changes: 117 additions & 0 deletions instrumentation/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions instrumentation/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ authors = ["Datadog Inc. <info@datadoghq.com>"]
publish = false

[workspace.dependencies]
libdd-trace-inferrer = { git = "https://github.com/DataDog/libdatadog", branch = "david.ogbureke/libdd-trace-inferrer" }
serde = "1.0.194"
serde_json = "1.0.140"
opentelemetry = { version = "0.31.0", features = ["trace", "metrics", "logs"], default-features = false }
Expand Down
4 changes: 3 additions & 1 deletion instrumentation/datadog-aws-lambda/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

[package]
name = "datadog-aws-lambda"
description = "Datadog distributed tracing for AWS Lambda."
description = "Datadog distributed tracing for AWS Lambda. Provides inferred spans and trace context extraction for SQS, SNS, EventBridge, API Gateway (REST and HTTP APIs), and Lambda Function URLs."
version.workspace = true
edition.workspace = true
rust-version = "1.85.0"
Expand All @@ -14,10 +14,12 @@ publish.workspace = true

[dependencies]
datadog-opentelemetry = { version = "0.3", path = "../../datadog-opentelemetry" }
libdd-trace-inferrer = { workspace = true }
lambda_runtime = "0.13"
serde = { workspace = true }
serde_json = { workspace = true, features = ["raw_value"] }
opentelemetry = { workspace = true }
opentelemetry-semantic-conventions = { workspace = true }
opentelemetry_sdk = { workspace = true, features = ["trace", "metrics", "logs"] }
tracing = { workspace = true }

Expand Down
8 changes: 8 additions & 0 deletions instrumentation/datadog-aws-lambda/src/attribute_keys.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
// SPDX-License-Identifier: Apache-2.0

pub(crate) const OPERATION_NAME: &str = "operation.name";
// `operation_name` duplicates `operation.name` as a custom attribute
pub(crate) const OPERATION_NAME_CUSTOM: &str = "operation_name";
pub(crate) const RESOURCE_NAME: &str = "resource.name";
pub(crate) const SPAN_TYPE: &str = "span.type";
pub(crate) const ERROR: &str = "error";
Expand All @@ -11,8 +13,14 @@ pub(crate) const ERROR_MESSAGE: &str = "error.message";
pub(crate) const LANGUAGE: &str = "language";
pub(crate) const REQUEST_ID: &str = "request_id";
pub(crate) const COLD_START: &str = "cold_start";
pub(crate) const ASYNC_INVOCATION: &str = "async_invocation";
pub(crate) const FUNCTION_ARN: &str = "function_arn";
pub(crate) const FUNCTION_VERSION: &str = "function_version";
pub(crate) const FUNCTION_NAME: &str = "functionname";
pub(crate) const RESOURCE_NAMES: &str = "resource_names";
pub(crate) const DD_ORIGIN: &str = "_dd.origin";
pub(crate) const FUNCTION_TRIGGER_EVENT_SOURCE: &str = "function_trigger.event_source";
pub(crate) const FUNCTION_TRIGGER_EVENT_SOURCE_ARN: &str = "function_trigger.event_source_arn";

// OpenTelemetry semantic convention keys
pub(crate) use opentelemetry_semantic_conventions::attribute::{PEER_SERVICE, SERVICE_NAME};
Loading
Loading