13
13
TraceHeader ,
14
14
TraceContextSource ,
15
15
XrayDaemon ,
16
- IS_ASYNC_TAG ,
16
+ InferredSpanTags ,
17
17
)
18
18
from datadog_lambda .xray import (
19
19
send_segment ,
32
32
33
33
logger = logging .getLogger (__name__ )
34
34
35
-
36
- SPAN_TYPE_TAG = "span_type"
37
- SPAN_TYPE_INFERRED = "inferred"
38
-
39
35
dd_trace_context = {}
40
36
dd_tracing_enabled = os .environ .get ("DD_TRACE_ENABLED" , "false" ).lower () == "true"
41
37
@@ -450,17 +446,17 @@ def create_inferred_span_from_api_gateway_websocket_event(event, context):
450
446
endpoint = event ["requestContext" ]["routeKey" ]
451
447
tags = {
452
448
"operation_name" : "aws.apigateway.websocket" ,
453
- "service.name" : domain ,
454
449
"http.url" : domain + endpoint ,
455
450
"endpoint" : endpoint ,
456
451
"resource_names" : domain + endpoint ,
457
452
"request_id" : context .aws_request_id ,
458
453
"connection_id" : event ["requestContext" ]["connectionId" ],
459
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
460
- IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
454
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
455
+ InferredSpanTags . IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
461
456
}
462
457
request_time_epoch = event ["requestContext" ]["requestTimeEpoch" ]
463
458
args = {
459
+ "service" : domain ,
464
460
"resource" : domain + endpoint ,
465
461
"span_type" : "web" ,
466
462
}
@@ -477,17 +473,17 @@ def create_inferred_span_from_api_gateway_event(event, context):
477
473
path = event ["path" ]
478
474
tags = {
479
475
"operation_name" : "aws.apigateway.rest" ,
480
- "service.name" : domain ,
481
476
"http.url" : domain + path ,
482
477
"endpoint" : path ,
483
478
"http.method" : event ["httpMethod" ],
484
479
"resource_names" : domain + path ,
485
480
"request_id" : context .aws_request_id ,
486
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
487
- IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
481
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
482
+ InferredSpanTags . IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
488
483
}
489
484
request_time_epoch = event ["requestContext" ]["requestTimeEpoch" ]
490
485
args = {
486
+ "service" : domain ,
491
487
"resource" : domain + path ,
492
488
"span_type" : "http" ,
493
489
}
@@ -504,17 +500,17 @@ def create_inferred_span_from_http_api_event(event, context):
504
500
path = event ["rawPath" ]
505
501
tags = {
506
502
"operation_name" : "aws.httpapi" ,
507
- "service.name" : domain ,
508
503
"http.url" : domain + path ,
509
504
"endpoint" : path ,
510
505
"http.method" : event ["requestContext" ]["http" ]["method" ],
511
506
"resource_names" : domain + path ,
512
507
"request_id" : context .aws_request_id ,
513
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
514
- IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
508
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
509
+ InferredSpanTags . IS_ASYNC_TAG : is_api_gateway_invocation_async (event ),
515
510
}
516
511
request_time_epoch = event ["requestContext" ]["timeEpoch" ]
517
512
args = {
513
+ "service" : domain ,
518
514
"resource" : domain + path ,
519
515
"span_type" : "http" ,
520
516
}
@@ -531,13 +527,13 @@ def create_inferred_span_from_sqs_event(event, context):
531
527
queue_name = event_record ["eventSourceARN" ].split (":" )[- 1 ]
532
528
tags = {
533
529
"operation_name" : "aws.sqs" ,
534
- "service.name" : "sqs" ,
535
530
"resource_names" : queue_name ,
536
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
537
- IS_ASYNC_TAG : True ,
531
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
532
+ InferredSpanTags . IS_ASYNC_TAG : True ,
538
533
}
539
534
request_time_epoch = event_record ["attributes" ]["SentTimestamp" ]
540
535
args = {
536
+ "service" : "sqs" ,
541
537
"resource" : queue_name ,
542
538
"span_type" : "web" ,
543
539
}
@@ -554,16 +550,16 @@ def create_inferred_span_from_sns_event(event, context):
554
550
topic_name = event_record ["Sns" ]["TopicArn" ].split (":" )[- 1 ]
555
551
tags = {
556
552
"operation_name" : "aws.sns" ,
557
- "service.name" : "sns" ,
558
553
"resource_names" : topic_name ,
559
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
560
- IS_ASYNC_TAG : True ,
554
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
555
+ InferredSpanTags . IS_ASYNC_TAG : True ,
561
556
}
562
557
sns_dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
563
558
timestamp = event_record ["Sns" ]["Timestamp" ]
564
559
dt = datetime .strptime (timestamp , sns_dt_format )
565
560
566
561
args = {
562
+ "service" : "sns" ,
567
563
"resource" : topic_name ,
568
564
"span_type" : "web" ,
569
565
}
@@ -580,14 +576,14 @@ def create_inferred_span_from_kinesis_event(event, context):
580
576
stream_name = event_record ["eventSourceARN" ].split (":" )[- 1 ]
581
577
tags = {
582
578
"operation_name" : "aws.kinesis" ,
583
- "service.name" : "kinesis" ,
584
579
"resource_names" : stream_name ,
585
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
586
- IS_ASYNC_TAG : True ,
580
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
581
+ InferredSpanTags . IS_ASYNC_TAG : True ,
587
582
}
588
583
request_time_epoch = event_record ["kinesis" ]["approximateArrivalTimestamp" ]
589
584
590
585
args = {
586
+ "service" : "kinesis" ,
591
587
"resource" : stream_name ,
592
588
"span_type" : "web" ,
593
589
}
@@ -604,14 +600,14 @@ def create_inferred_span_from_dynamodb_event(event, context):
604
600
table_name = event_record ["eventSourceARN" ].split ("/" )[1 ]
605
601
tags = {
606
602
"operation_name" : "aws.dynamodb" ,
607
- "service.name" : "dynamodb" ,
608
603
"resource_names" : table_name ,
609
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
610
- IS_ASYNC_TAG : True ,
604
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
605
+ InferredSpanTags . IS_ASYNC_TAG : True ,
611
606
}
612
607
request_time_epoch = event_record ["dynamodb" ]["ApproximateCreationDateTime" ]
613
608
614
609
args = {
610
+ "service" : "dynamodb" ,
615
611
"resource" : table_name ,
616
612
"span_type" : "web" ,
617
613
}
@@ -628,16 +624,16 @@ def create_inferred_span_from_s3_event(event, context):
628
624
bucket_name = event_record ["s3" ]["bucket" ]["name" ]
629
625
tags = {
630
626
"operation_name" : "aws.s3" ,
631
- "service.name" : "s3" ,
632
627
"resource_names" : bucket_name ,
633
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
634
- IS_ASYNC_TAG : True ,
628
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
629
+ InferredSpanTags . IS_ASYNC_TAG : True ,
635
630
}
636
631
dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
637
632
timestamp = event_record ["eventTime" ]
638
633
dt = datetime .strptime (timestamp , dt_format )
639
634
640
635
args = {
636
+ "service" : "s3" ,
641
637
"resource" : bucket_name ,
642
638
"span_type" : "web" ,
643
639
}
@@ -653,16 +649,16 @@ def create_inferred_span_from_eventbridge_event(event, context):
653
649
source = event ["source" ]
654
650
tags = {
655
651
"operation_name" : "aws.eventbridge" ,
656
- "service.name" : "eventbridge" ,
657
652
"resource_names" : source ,
658
- SPAN_TYPE_TAG : SPAN_TYPE_INFERRED ,
659
- IS_ASYNC_TAG : True ,
653
+ InferredSpanTags . INHERIT_LAMBDA_TAG : False ,
654
+ InferredSpanTags . IS_ASYNC_TAG : True ,
660
655
}
661
656
dt_format = "%Y-%m-%dT%H:%M:%SZ"
662
657
timestamp = event ["time" ]
663
658
dt = datetime .strptime (timestamp , dt_format )
664
659
665
660
args = {
661
+ "service" : "eventbridge" ,
666
662
"resource" : source ,
667
663
"span_type" : "web" ,
668
664
}
0 commit comments