Skip to content

Commit b12b35a

Browse files
authored
Revert "[SLS-1674] Additional attributes for different managed services (#200)"
This reverts commit ba58ecd.
1 parent ba58ecd commit b12b35a

11 files changed

+110
-183
lines changed

datadog_lambda/tracing.py

Lines changed: 25 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@
77
import os
88
import json
99
from datetime import datetime, timezone
10-
from typing import Optional, Dict
11-
12-
try:
13-
from typing import Literal
14-
except ImportError:
15-
# Literal was added to typing in python 3.8
16-
from typing_extensions import Literal
10+
from typing import Optional, Literal, Dict
1711

1812
from datadog_lambda.constants import (
1913
SamplingPriority,
@@ -448,30 +442,24 @@ def is_api_gateway_invocation_async(event):
448442

449443

450444
def create_inferred_span_from_api_gateway_websocket_event(event, context):
451-
request_context = event["requestContext"]
452-
domain = request_context["domainName"]
453-
endpoint = request_context["routeKey"]
445+
domain = event["requestContext"]["domainName"]
446+
endpoint = event["requestContext"]["routeKey"]
454447
tags = {
455448
"operation_name": "aws.apigateway.websocket",
456449
"http.url": domain + endpoint,
457450
"endpoint": endpoint,
458-
"resource_names": endpoint,
459-
"apiid": request_context["apiId"],
460-
"apiname": request_context["apiId"],
461-
"stage": request_context["stage"],
462-
"request_id": request_context["requestId"],
463-
"connection_id": request_context["connectionId"],
464-
"event_type": request_context["eventType"],
465-
"message_direction": request_context["messageDirection"],
451+
"resource_names": domain + endpoint,
452+
"request_id": context.aws_request_id,
453+
"connection_id": event["requestContext"]["connectionId"],
466454
}
467-
request_time_epoch = request_context["requestTimeEpoch"]
468455
if is_api_gateway_invocation_async(event):
469456
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
470457
else:
471458
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync")
459+
request_time_epoch = event["requestContext"]["requestTimeEpoch"]
472460
args = {
473461
"service": domain,
474-
"resource": endpoint,
462+
"resource": domain + endpoint,
475463
"span_type": "web",
476464
}
477465
tracer.set_tags({"_dd.origin": "lambda"})
@@ -483,30 +471,24 @@ def create_inferred_span_from_api_gateway_websocket_event(event, context):
483471

484472

485473
def create_inferred_span_from_api_gateway_event(event, context):
486-
request_context = event["requestContext"]
487-
domain = request_context["domainName"]
488-
method = event["httpMethod"]
474+
domain = event["requestContext"]["domainName"]
489475
path = event["path"]
490-
resource = "{0} {1}".format(method, path)
491476
tags = {
492477
"operation_name": "aws.apigateway.rest",
493478
"http.url": domain + path,
494479
"endpoint": path,
495-
"http.method": method,
496-
"resource_names": resource,
497-
"apiid": request_context["apiId"],
498-
"apiname": request_context["apiId"],
499-
"stage": request_context["stage"],
500-
"request_id": request_context["requestId"],
480+
"http.method": event["httpMethod"],
481+
"resource_names": domain + path,
482+
"request_id": context.aws_request_id,
501483
}
502-
request_time_epoch = request_context["requestTimeEpoch"]
503484
if is_api_gateway_invocation_async(event):
504485
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
505486
else:
506487
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync")
488+
request_time_epoch = event["requestContext"]["requestTimeEpoch"]
507489
args = {
508490
"service": domain,
509-
"resource": resource,
491+
"resource": domain + path,
510492
"span_type": "http",
511493
}
512494
tracer.set_tags({"_dd.origin": "lambda"})
@@ -518,33 +500,24 @@ def create_inferred_span_from_api_gateway_event(event, context):
518500

519501

520502
def create_inferred_span_from_http_api_event(event, context):
521-
request_context = event["requestContext"]
522-
domain = request_context["domainName"]
523-
method = request_context["http"]["method"]
503+
domain = event["requestContext"]["domainName"]
524504
path = event["rawPath"]
525-
resource = "{0} {1}".format(method, path)
526505
tags = {
527506
"operation_name": "aws.httpapi",
528-
"endpoint": path,
529507
"http.url": domain + path,
530-
"http.method": request_context["http"]["method"],
531-
"http.protocol": request_context["http"]["protocol"],
532-
"http.source_ip": request_context["http"]["sourceIp"],
533-
"http.user_agent": request_context["http"]["userAgent"],
534-
"resource_names": resource,
508+
"endpoint": path,
509+
"http.method": event["requestContext"]["http"]["method"],
510+
"resource_names": domain + path,
535511
"request_id": context.aws_request_id,
536-
"apiid": request_context["apiId"],
537-
"apiname": request_context["apiId"],
538-
"stage": request_context["stage"],
539512
}
540-
request_time_epoch = request_context["timeEpoch"]
541513
if is_api_gateway_invocation_async(event):
542514
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
543515
else:
544516
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync")
517+
request_time_epoch = event["requestContext"]["timeEpoch"]
545518
args = {
546519
"service": domain,
547-
"resource": resource,
520+
"resource": domain + path,
548521
"span_type": "http",
549522
}
550523
tracer.set_tags({"_dd.origin": "lambda"})
@@ -557,15 +530,10 @@ def create_inferred_span_from_http_api_event(event, context):
557530

558531
def create_inferred_span_from_sqs_event(event, context):
559532
event_record = get_first_record(event)
560-
event_source_arn = event_record["eventSourceARN"]
561-
queue_name = event_source_arn.split(":")[-1]
533+
queue_name = event_record["eventSourceARN"].split(":")[-1]
562534
tags = {
563535
"operation_name": "aws.sqs",
564536
"resource_names": queue_name,
565-
"queuename": queue_name,
566-
"event_source_arn": event_source_arn,
567-
"receipt_handle": event_record["receiptHandle"],
568-
"sender_id": event_record["attributes"]["SenderId"],
569537
}
570538
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
571539
request_time_epoch = event_record["attributes"]["SentTimestamp"]
@@ -584,18 +552,10 @@ def create_inferred_span_from_sqs_event(event, context):
584552

585553
def create_inferred_span_from_sns_event(event, context):
586554
event_record = get_first_record(event)
587-
sns_message = event_record["Sns"]
588-
topic_arn = event_record["Sns"]["TopicArn"]
589-
topic_name = topic_arn.split(":")[-1]
555+
topic_name = event_record["Sns"]["TopicArn"].split(":")[-1]
590556
tags = {
591557
"operation_name": "aws.sns",
592558
"resource_names": topic_name,
593-
"topicname": topic_name,
594-
"topic_arn": topic_arn,
595-
"message_id": sns_message["MessageId"],
596-
"type": sns_message["Type"],
597-
"subject": sns_message["Subject"],
598-
"event_subscription_arn": event_record["EventSubscriptionArn"],
599559
}
600560
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
601561
sns_dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
@@ -617,20 +577,10 @@ def create_inferred_span_from_sns_event(event, context):
617577

618578
def create_inferred_span_from_kinesis_event(event, context):
619579
event_record = get_first_record(event)
620-
event_source_arn = event_record["eventSourceARN"]
621-
event_id = event_record["eventID"]
622-
stream_name = event_source_arn.split(":")[-1]
623-
shard_id = event_id.split(":")[0]
580+
stream_name = event_record["eventSourceARN"].split(":")[-1]
624581
tags = {
625582
"operation_name": "aws.kinesis",
626583
"resource_names": stream_name,
627-
"streamname": stream_name,
628-
"shardid": shard_id,
629-
"event_source_arn": event_source_arn,
630-
"event_id": event_id,
631-
"event_name": event_record["eventName"],
632-
"event_version": event_record["eventVersion"],
633-
"partition_key": event_record["kinesis"]["partitionKey"],
634584
}
635585
InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async")
636586
request_time_epoch = event_record["kinesis"]["approximateArrivalTimestamp"]
@@ -650,22 +600,14 @@ def create_inferred_span_from_kinesis_event(event, context):
650600

651601
def create_inferred_span_from_dynamodb_event(event, context):
652602
event_record = get_first_record(event)
653-
event_source_arn = event_record["eventSourceARN"]
654-
table_name = event_source_arn.split("/")[1]
655-
dynamodb_message = event_record["dynamodb"]
603+
table_name = event_record["eventSourceARN"].split("/")[1]
656604
tags = {
657605
"operation_name": "aws.dynamodb",
658606
"resource_names": table_name,
659-
"tablename": table_name,
660-
"event_source_arn": event_source_arn,
661-
"event_id": event_record["eventID"],
662-
"event_name": event_record["eventName"],
663-
"event_version": event_record["eventVersion"],
664-
"stream_view_type": dynamodb_message["StreamViewType"],
665-
"size_bytes": dynamodb_message["SizeBytes"],
666607
}
667608
InferredSpanInfo.set_tags(tags, synchronicity="async", tag_source="self")
668609
request_time_epoch = event_record["dynamodb"]["ApproximateCreationDateTime"]
610+
669611
args = {
670612
"service": "dynamodb",
671613
"resource": table_name,
@@ -675,7 +617,6 @@ def create_inferred_span_from_dynamodb_event(event, context):
675617
span = tracer.trace("aws.dynamodb", **args)
676618
if span:
677619
span.set_tags(tags)
678-
679620
span.start = int(request_time_epoch)
680621
return span
681622

@@ -686,12 +627,6 @@ def create_inferred_span_from_s3_event(event, context):
686627
tags = {
687628
"operation_name": "aws.s3",
688629
"resource_names": bucket_name,
689-
"event_name": event_record["eventName"],
690-
"bucketname": bucket_name,
691-
"bucket_arn": event_record["s3"]["bucket"]["arn"],
692-
"object_key": event_record["s3"]["object"]["key"],
693-
"object_size": event_record["s3"]["object"]["size"],
694-
"object_etag": event_record["s3"]["etag"],
695630
}
696631
InferredSpanInfo.set_tags(tags, synchronicity="async", tag_source="self")
697632
dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
@@ -716,7 +651,6 @@ def create_inferred_span_from_eventbridge_event(event, context):
716651
tags = {
717652
"operation_name": "aws.eventbridge",
718653
"resource_names": source,
719-
"detail_type": event["detail-type"],
720654
}
721655
InferredSpanInfo.set_tags(
722656
tags,

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ datadog = "^0.41.0"
2828
wrapt = "^1.11.2"
2929
ddtrace = "^0.50.0"
3030
importlib_metadata = {version = "^1.0", python = "<3.8"}
31-
typing_extensions = {version = "^4.0", python = "<3.8"}
3231
boto3 = { version = "^1.10.33", optional = true }
3332
requests = { version ="^2.22.0", optional = true }
3433
nose2 = { version= "^0.9.1", optional = true }

0 commit comments

Comments
 (0)