Skip to content

Commit 6e86ae5

Browse files
authored
feat: Set upstream context for function URLs (#327)
* feat: Set upstream context for function URLs * feat: specs
1 parent 47c5508 commit 6e86ae5

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/trace/span-inferrer.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ describe("SpanInferrer", () => {
284284
inferrer.createInferredSpan(functionUrlEvent, {} as any, {} as SpanContext);
285285

286286
expect(mockWrapper.startSpan).toBeCalledWith("aws.lambda.url", {
287+
childOf: {},
287288
startTime: 1637169449721,
288289
tags: {
289290
_inferred_span: {

src/trace/span-inferrer.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class SpanInferrer {
3030
): any {
3131
const eventSource = parseEventSource(event);
3232
if (eventSource === eventTypes.lambdaUrl) {
33-
return this.createInferredSpanForLambdaUrl(event, context);
33+
return this.createInferredSpanForLambdaUrl(event, context, parentSpanContext);
3434
}
3535
if (eventSource === eventTypes.apiGateway) {
3636
return this.createInferredSpanForApiGateway(event, context, parentSpanContext, decodeAuthorizerContext);
@@ -158,7 +158,11 @@ export class SpanInferrer {
158158
return new SpanWrapper(this.traceWrapper.startSpan("aws.apigateway", options), spanWrapperOptions);
159159
}
160160

161-
createInferredSpanForLambdaUrl(event: any, context: Context | undefined): any {
161+
createInferredSpanForLambdaUrl(
162+
event: any,
163+
context: Context | undefined,
164+
parentSpanContext: SpanContext | undefined,
165+
): any {
162166
const options: SpanOptions = {};
163167
const domain = event.requestContext.domainName;
164168
const path = event.rawPath;
@@ -188,6 +192,9 @@ export class SpanInferrer {
188192
const spanWrapperOptions = {
189193
isAsync: false,
190194
};
195+
if (parentSpanContext) {
196+
options.childOf = parentSpanContext;
197+
}
191198
return new SpanWrapper(this.traceWrapper.startSpan("aws.lambda.url", options), spanWrapperOptions);
192199
}
193200

0 commit comments

Comments
 (0)