Skip to content

Commit 97c1d7a

Browse files
jchrostek-ddclaude
andcommitted
Add span.kind=server to aws.lambda span
This aligns the tracer-created span with the extension's behavior, enabling server-based features in Datadog APM for Lambda functions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent e4bdd73 commit 97c1d7a

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

src/trace/listener.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ describe("TraceListener", () => {
113113
resource: "my-Lambda",
114114
service: "my-Lambda",
115115
tags: {
116+
"span.kind": "server",
116117
cold_start: "true",
117118
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
118119
function_version: "$LATEST",
@@ -153,6 +154,7 @@ describe("TraceListener", () => {
153154
resource: "my-Lambda",
154155
service: "my-Lambda",
155156
tags: {
157+
"span.kind": "server",
156158
cold_start: "true",
157159
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
158160
function_version: "$LATEST",
@@ -186,6 +188,7 @@ describe("TraceListener", () => {
186188
resource: "my-Lambda",
187189
service: "my-Lambda",
188190
tags: {
191+
"span.kind": "server",
189192
cold_start: "true",
190193
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
191194
function_version: "$LATEST",
@@ -227,6 +230,7 @@ describe("TraceListener", () => {
227230
resource: "my-Lambda",
228231
service: "my-Lambda",
229232
tags: {
233+
"span.kind": "server",
230234
cold_start: "true",
231235
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
232236
function_version: "$LATEST",
@@ -258,6 +262,7 @@ describe("TraceListener", () => {
258262
resource: "my-Lambda",
259263
service: "my-Lambda",
260264
tags: {
265+
"span.kind": "server",
261266
cold_start: "true",
262267
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
263268
function_version: "alias",
@@ -287,6 +292,7 @@ describe("TraceListener", () => {
287292
resource: "my-Lambda",
288293
service: "my-Lambda",
289294
tags: {
295+
"span.kind": "server",
290296
cold_start: "true",
291297
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
292298
function_version: "1",
@@ -361,6 +367,7 @@ describe("TraceListener", () => {
361367
resource: "my-Lambda",
362368
service: "my-Lambda",
363369
tags: {
370+
"span.kind": "server",
364371
cold_start: "true",
365372
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
366373
function_version: "$LATEST",
@@ -428,6 +435,7 @@ describe("TraceListener", () => {
428435
resource: "my-Lambda",
429436
service: "my-custom-service",
430437
tags: {
438+
"span.kind": "server",
431439
cold_start: "true",
432440
function_arn: "arn:aws:lambda:us-east-1:123456789101:function:my-lambda",
433441
function_version: "$LATEST",

src/trace/listener.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ export class TraceListener {
307307
const functionArn = (this.context.invokedFunctionArn ?? "").toLowerCase();
308308
const tk = functionArn.split(":");
309309
options.tags = {
310+
"span.kind": "server",
310311
cold_start: String(didFunctionColdStart()).toLowerCase(),
311312
function_arn: tk.length > 7 ? tk.slice(0, 7).join(":") : functionArn,
312313
function_version: tk.length > 7 ? tk[7] : "$LATEST",

0 commit comments

Comments
 (0)