diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7cf30ef2..87097f43 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -98,7 +98,7 @@ jobs: pip install .[dev] - name: Install Serverless Framework - run: sudo yarn global add serverless --prefix /usr/local + run: sudo yarn global add serverless@^2.72.2 --prefix /usr/local - name: Install Crossbuild Deps run: sudo apt install -y qemu-user-static binfmt-support diff --git a/README.md b/README.md index 7b0f486f..0b7d041d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Slack](https://chat.datadoghq.com/badge.svg?bg=632CA6)](https://chat.datadoghq.com/) [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/datadog-lambda-python/blob/main/LICENSE) -Datadog Lambda Library for Python (3.6, 3.7, 3.8, and 3.9) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions. +Datadog Lambda Library for Python (3.6, 3.7, 3.8, and 3.9) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions. **IMPORTANT NOTE:** AWS Lambda is expected to receive a [breaking change](https://aws.amazon.com/blogs/compute/upcoming-changes-to-the-python-sdk-in-aws-lambda/) on **March 31, 2021**. If you are using Datadog Python Lambda layer version 7 or below, please upgrade to the latest. @@ -103,6 +103,24 @@ Initialize the Datadog tracer when set to `true`. Defaults to `false`. Set to `true` to merge the X-Ray trace and the Datadog trace, when using both the X-Ray and Datadog tracing. Defaults to `false`. +### DD_TRACE_MANAGED_SERVICES (experimental) + +Inferred Spans are spans that Datadog can create based on incoming event metadata. +Set `DD_TRACE_MANAGED_SERVICES` to `true` to infer spans based on Lambda events. +Inferring upstream spans is only supported if you are using the [Datadog Lambda Extension](https://docs.datadoghq.com/serverless/libraries_integrations/extension/). +Defaults to `true`. +Infers spans for: + +- API Gateway REST events +- API Gateway WebSocket events +- HTTP API events +- SQS +- SNS (SNS messaged delivered via SQS are also supported) +- Kinesis Streams (if data is a JSON string or base64 encoded JSON string) +- EventBridge (custom events, where Details is a JSON string) +- S3 +- DynamoDB + ## Opening Issues If you encounter a bug with this package, we want to hear about it. Before opening a new issue, search the existing issues to avoid duplicates. diff --git a/datadog_lambda/constants.py b/datadog_lambda/constants.py index d2c85378..9bd49ce3 100644 --- a/datadog_lambda/constants.py +++ b/datadog_lambda/constants.py @@ -3,8 +3,9 @@ # This product includes software developed at Datadog (https://www.datadoghq.com/). # Copyright 2019 Datadog, Inc. - # Datadog trace sampling priority + + class SamplingPriority(object): USER_REJECT = -1 AUTO_REJECT = 0 diff --git a/datadog_lambda/tracing.py b/datadog_lambda/tracing.py index 90cf7aac..86954ce5 100644 --- a/datadog_lambda/tracing.py +++ b/datadog_lambda/tracing.py @@ -6,6 +6,15 @@ import logging import os import json +import base64 +from datetime import datetime, timezone +from typing import Optional, Dict + +try: + from typing import Literal +except ImportError: + # Literal was added to typing in python 3.8 + from typing_extensions import Literal from datadog_lambda.constants import ( SamplingPriority, @@ -21,6 +30,12 @@ from ddtrace import __version__ as ddtrace_version from ddtrace.propagation.http import HTTPPropagator from datadog_lambda import __version__ as datadog_lambda_version +from datadog_lambda.trigger import ( + parse_event_source, + get_first_record, + EventTypes, + EventSubtypes, +) logger = logging.getLogger(__name__) @@ -170,7 +185,19 @@ def extract_context_from_http_event_or_context(event, lambda_context): return trace_id, parent_id, sampling_priority -def extract_context_from_sqs_event_or_context(event, lambda_context): +def create_sns_event(message): + return { + "Records": [ + { + "EventSource": "aws:sns", + "EventVersion": "1.0", + "Sns": message, + } + ] + } + + +def extract_context_from_sqs_or_sns_event_or_context(event, lambda_context): """ Extract Datadog trace context from the first SQS message attributes. @@ -178,15 +205,78 @@ def extract_context_from_sqs_event_or_context(event, lambda_context): """ try: first_record = event["Records"][0] - msg_attributes = first_record.get("messageAttributes", {}) - dd_json_data = msg_attributes.get("_datadog", {}).get("stringValue", r"{}") + + # logic to deal with SNS => SQS event + if "body" in first_record: + body_str = first_record.get("body", {}) + try: + body = json.loads(body_str) + if body.get("Type", "") == "Notification" and "TopicArn" in body: + logger.debug("Found SNS message inside SQS event") + first_record = get_first_record(create_sns_event(body)) + except Exception: + first_record = event["Records"][0] + pass + + msg_attributes = first_record.get( + "messageAttributes", + first_record.get("Sns", {}).get("MessageAttributes", {}), + ) + dd_payload = msg_attributes.get("_datadog", {}) + dd_json_data = dd_payload.get("stringValue", dd_payload.get("Value", r"{}")) dd_data = json.loads(dd_json_data) trace_id = dd_data.get(TraceHeader.TRACE_ID) parent_id = dd_data.get(TraceHeader.PARENT_ID) sampling_priority = dd_data.get(TraceHeader.SAMPLING_PRIORITY) return trace_id, parent_id, sampling_priority - except Exception: + except Exception as e: + logger.debug("The trace extractor returned with error %s", e) + return extract_context_from_lambda_context(lambda_context) + + +def extract_context_from_eventbridge_event(event, lambda_context): + """ + Extract datadog trace context from an EventBridge message's Details. + This is only possible if Details is a JSON string. + """ + try: + detail = event["detail"] + dd_context = detail.get("_datadog") + if not dd_context: + return extract_context_from_lambda_context(lambda_context) + trace_id = dd_context.get(TraceHeader.TRACE_ID) + parent_id = dd_context.get(TraceHeader.PARENT_ID) + sampling_priority = dd_context.get(TraceHeader.SAMPLING_PRIORITY) + return trace_id, parent_id, sampling_priority + except Exception as e: + logger.debug("The trace extractor returned with error %s", e) + return extract_context_from_lambda_context(lambda_context) + + +def extract_context_from_kinesis_event(event, lambda_context): + """ + Extract datadog trace context from a Kinesis Stream's base64 encoded data string + """ + try: + record = get_first_record(event) + data = record.get("kinesis", {}).get("data", None) + if data: + b64_bytes = data.encode("ascii") + str_bytes = base64.b64decode(b64_bytes) + data_str = str_bytes.decode("ascii") + data_obj = json.loads(data_str) + dd_ctx = data_obj.get("_datadog") + + if not dd_ctx: + return extract_context_from_lambda_context(lambda_context) + + trace_id = dd_ctx.get(TraceHeader.TRACE_ID) + parent_id = dd_ctx.get(TraceHeader.PARENT_ID) + sampling_priority = dd_ctx.get(TraceHeader.SAMPLING_PRIORITY) + return trace_id, parent_id, sampling_priority + except Exception as e: + logger.debug("The trace extractor returned with error %s", e) return extract_context_from_lambda_context(lambda_context) @@ -216,6 +306,7 @@ def extract_dd_trace_context(event, lambda_context, extractor=None): """ global dd_trace_context trace_context_source = None + event_source = parse_event_source(event) if extractor is not None: ( @@ -229,12 +320,24 @@ def extract_dd_trace_context(event, lambda_context, extractor=None): parent_id, sampling_priority, ) = extract_context_from_http_event_or_context(event, lambda_context) - elif "Records" in event: + elif event_source.equals(EventTypes.SNS) or event_source.equals(EventTypes.SQS): ( trace_id, parent_id, sampling_priority, - ) = extract_context_from_sqs_event_or_context(event, lambda_context) + ) = extract_context_from_sqs_or_sns_event_or_context(event, lambda_context) + elif event_source.equals(EventTypes.EVENTBRIDGE): + ( + trace_id, + parent_id, + sampling_priority, + ) = extract_context_from_eventbridge_event(event, lambda_context) + elif event_source.equals(EventTypes.KINESIS): + ( + trace_id, + parent_id, + sampling_priority, + ) = extract_context_from_kinesis_event(event, lambda_context) else: trace_id, parent_id, sampling_priority = extract_context_from_lambda_context( lambda_context @@ -377,6 +480,386 @@ def set_dd_trace_py_root(trace_context_source, merge_xray_traces): ) +def create_inferred_span(event, context): + event_source = parse_event_source(event) + try: + if event_source.equals( + EventTypes.API_GATEWAY, subtype=EventSubtypes.API_GATEWAY + ): + logger.debug("API Gateway event detected. Inferring a span") + return create_inferred_span_from_api_gateway_event(event, context) + elif event_source.equals( + EventTypes.API_GATEWAY, subtype=EventSubtypes.HTTP_API + ): + logger.debug("HTTP API event detected. Inferring a span") + return create_inferred_span_from_http_api_event(event, context) + elif event_source.equals( + EventTypes.API_GATEWAY, subtype=EventSubtypes.WEBSOCKET + ): + logger.debug("API Gateway Websocket event detected. Inferring a span") + return create_inferred_span_from_api_gateway_websocket_event(event, context) + elif event_source.equals(EventTypes.SQS): + logger.debug("SQS event detected. Inferring a span") + return create_inferred_span_from_sqs_event(event, context) + elif event_source.equals(EventTypes.SNS): + logger.debug("SNS event detected. Inferring a span") + return create_inferred_span_from_sns_event(event, context) + elif event_source.equals(EventTypes.KINESIS): + logger.debug("Kinesis event detected. Inferring a span") + return create_inferred_span_from_kinesis_event(event, context) + elif event_source.equals(EventTypes.DYNAMODB): + logger.debug("Dynamodb event detected. Inferring a span") + return create_inferred_span_from_dynamodb_event(event, context) + elif event_source.equals(EventTypes.S3): + logger.debug("S3 event detected. Inferring a span") + return create_inferred_span_from_s3_event(event, context) + elif event_source.equals(EventTypes.EVENTBRIDGE): + logger.debug("Eventbridge event detected. Inferring a span") + return create_inferred_span_from_eventbridge_event(event, context) + + except Exception as e: + logger.debug( + "Unable to infer span. Detected type: {}. Reason: {}", + event_source.to_string(), + e, + ) + return None + logger.debug("Unable to infer a span: unknown event type") + return None + + +def is_api_gateway_invocation_async(event): + return ( + "headers" in event + and "X-Amz-Invocation-Type" in event["headers"] + and event["headers"]["X-Amz-Invocation-Type"] == "Event" + ) + + +def create_inferred_span_from_api_gateway_websocket_event(event, context): + request_context = event["requestContext"] + domain = request_context["domainName"] + endpoint = request_context["routeKey"] + tags = { + "operation_name": "aws.apigateway.websocket", + "http.url": domain + endpoint, + "endpoint": endpoint, + "resource_names": endpoint, + "apiid": request_context["apiId"], + "apiname": request_context["apiId"], + "stage": request_context["stage"], + "request_id": request_context["requestId"], + "connection_id": request_context["connectionId"], + "event_type": request_context["eventType"], + "message_direction": request_context["messageDirection"], + } + request_time_epoch = request_context["requestTimeEpoch"] + if is_api_gateway_invocation_async(event): + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + else: + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync") + args = { + "service": domain, + "resource": endpoint, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.apigateway.websocket", **args) + if span: + span.set_tags(tags) + span.start = request_time_epoch / 1000 + return span + + +def create_inferred_span_from_api_gateway_event(event, context): + request_context = event["requestContext"] + domain = request_context["domainName"] + method = event["httpMethod"] + path = event["path"] + resource = "{0} {1}".format(method, path) + tags = { + "operation_name": "aws.apigateway.rest", + "http.url": domain + path, + "endpoint": path, + "http.method": method, + "resource_names": resource, + "apiid": request_context["apiId"], + "apiname": request_context["apiId"], + "stage": request_context["stage"], + "request_id": request_context["requestId"], + } + request_time_epoch = request_context["requestTimeEpoch"] + if is_api_gateway_invocation_async(event): + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + else: + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync") + args = { + "service": domain, + "resource": resource, + "span_type": "http", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.apigateway", **args) + if span: + span.set_tags(tags) + span.start = request_time_epoch / 1000 + return span + + +def create_inferred_span_from_http_api_event(event, context): + request_context = event["requestContext"] + domain = request_context["domainName"] + method = request_context["http"]["method"] + path = event["rawPath"] + resource = "{0} {1}".format(method, path) + tags = { + "operation_name": "aws.httpapi", + "endpoint": path, + "http.url": domain + path, + "http.method": request_context["http"]["method"], + "http.protocol": request_context["http"]["protocol"], + "http.source_ip": request_context["http"]["sourceIp"], + "http.user_agent": request_context["http"]["userAgent"], + "resource_names": resource, + "request_id": context.aws_request_id, + "apiid": request_context["apiId"], + "apiname": request_context["apiId"], + "stage": request_context["stage"], + } + request_time_epoch = request_context["timeEpoch"] + if is_api_gateway_invocation_async(event): + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + else: + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync") + args = { + "service": domain, + "resource": resource, + "span_type": "http", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.httpapi", **args) + if span: + span.set_tags(tags) + span.start = request_time_epoch / 1000 + return span + + +def create_inferred_span_from_sqs_event(event, context): + trace_ctx = tracer.current_trace_context() + + event_record = get_first_record(event) + event_source_arn = event_record["eventSourceARN"] + queue_name = event_source_arn.split(":")[-1] + tags = { + "operation_name": "aws.sqs", + "resource_names": queue_name, + "queuename": queue_name, + "event_source_arn": event_source_arn, + "receipt_handle": event_record["receiptHandle"], + "sender_id": event_record["attributes"]["SenderId"], + } + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + request_time_epoch = event_record["attributes"]["SentTimestamp"] + args = { + "service": "sqs", + "resource": queue_name, + "span_type": "web", + } + start_time = int(request_time_epoch) / 1000 + + # logic to deal with SNS => SQS event + sns_span = None + if "body" in event_record: + body_str = event_record.get("body", {}) + try: + body = json.loads(body_str) + if body.get("Type", "") == "Notification" and "TopicArn" in body: + logger.debug("Found SNS message inside SQS event") + sns_span = create_inferred_span_from_sns_event( + create_sns_event(body), context + ) + sns_span.finish(finish_time=start_time) + except Exception as e: + logger.debug( + "Unable to create SNS span from SQS message, with error %s" % e + ) + pass + + # trace context needs to be set again as it is reset + # when sns_span.finish executes + tracer.context_provider.activate(trace_ctx) + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.sqs", **args) + if span: + span.set_tags(tags) + span.start = start_time + if sns_span: + span.parent_id = sns_span.span_id + + return span + + +def create_inferred_span_from_sns_event(event, context): + event_record = get_first_record(event) + sns_message = event_record["Sns"] + topic_arn = event_record["Sns"]["TopicArn"] + topic_name = topic_arn.split(":")[-1] + tags = { + "operation_name": "aws.sns", + "resource_names": topic_name, + "topicname": topic_name, + "topic_arn": topic_arn, + "message_id": sns_message["MessageId"], + "type": sns_message["Type"], + } + + # Subject not available in SNS => SQS scenario + if "Subject" in sns_message and sns_message["Subject"]: + tags["subject"] = sns_message["Subject"] + + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + sns_dt_format = "%Y-%m-%dT%H:%M:%S.%fZ" + timestamp = event_record["Sns"]["Timestamp"] + dt = datetime.strptime(timestamp, sns_dt_format) + + args = { + "service": "sns", + "resource": topic_name, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.sns", **args) + if span: + span.set_tags(tags) + span.start = dt.replace(tzinfo=timezone.utc).timestamp() + return span + + +def create_inferred_span_from_kinesis_event(event, context): + event_record = get_first_record(event) + event_source_arn = event_record["eventSourceARN"] + event_id = event_record["eventID"] + stream_name = event_source_arn.split(":")[-1] + shard_id = event_id.split(":")[0] + tags = { + "operation_name": "aws.kinesis", + "resource_names": stream_name, + "streamname": stream_name, + "shardid": shard_id, + "event_source_arn": event_source_arn, + "event_id": event_id, + "event_name": event_record["eventName"], + "event_version": event_record["eventVersion"], + "partition_key": event_record["kinesis"]["partitionKey"], + } + InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="async") + request_time_epoch = event_record["kinesis"]["approximateArrivalTimestamp"] + + args = { + "service": "kinesis", + "resource": stream_name, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.kinesis", **args) + if span: + span.set_tags(tags) + span.start = request_time_epoch + return span + + +def create_inferred_span_from_dynamodb_event(event, context): + event_record = get_first_record(event) + event_source_arn = event_record["eventSourceARN"] + table_name = event_source_arn.split("/")[1] + dynamodb_message = event_record["dynamodb"] + tags = { + "operation_name": "aws.dynamodb", + "resource_names": table_name, + "tablename": table_name, + "event_source_arn": event_source_arn, + "event_id": event_record["eventID"], + "event_name": event_record["eventName"], + "event_version": event_record["eventVersion"], + "stream_view_type": dynamodb_message["StreamViewType"], + "size_bytes": str(dynamodb_message["SizeBytes"]), + } + InferredSpanInfo.set_tags(tags, synchronicity="async", tag_source="self") + request_time_epoch = event_record["dynamodb"]["ApproximateCreationDateTime"] + args = { + "service": "dynamodb", + "resource": table_name, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.dynamodb", **args) + if span: + span.set_tags(tags) + + span.start = int(request_time_epoch) + return span + + +def create_inferred_span_from_s3_event(event, context): + event_record = get_first_record(event) + bucket_name = event_record["s3"]["bucket"]["name"] + tags = { + "operation_name": "aws.s3", + "resource_names": bucket_name, + "event_name": event_record["eventName"], + "bucketname": bucket_name, + "bucket_arn": event_record["s3"]["bucket"]["arn"], + "object_key": event_record["s3"]["object"]["key"], + "object_size": str(event_record["s3"]["object"]["size"]), + "object_etag": event_record["s3"]["object"]["eTag"], + } + InferredSpanInfo.set_tags(tags, synchronicity="async", tag_source="self") + dt_format = "%Y-%m-%dT%H:%M:%S.%fZ" + timestamp = event_record["eventTime"] + dt = datetime.strptime(timestamp, dt_format) + + args = { + "service": "s3", + "resource": bucket_name, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.s3", **args) + if span: + span.set_tags(tags) + span.start = dt.replace(tzinfo=timezone.utc).timestamp() + return span + + +def create_inferred_span_from_eventbridge_event(event, context): + source = event["source"] + tags = { + "operation_name": "aws.eventbridge", + "resource_names": source, + "detail_type": event["detail-type"], + } + InferredSpanInfo.set_tags( + tags, + synchronicity="async", + tag_source="self", + ) + dt_format = "%Y-%m-%dT%H:%M:%SZ" + timestamp = event["time"] + dt = datetime.strptime(timestamp, dt_format) + + args = { + "service": "eventbridge", + "resource": source, + "span_type": "web", + } + tracer.set_tags({"_dd.origin": "lambda"}) + span = tracer.trace("aws.eventbridge", **args) + if span: + span.set_tags(tags) + span.start = dt.replace(tzinfo=timezone.utc).timestamp() + return span + + def create_function_execution_span( context, function_name, @@ -384,6 +867,7 @@ def create_function_execution_span( trace_context_source, merge_xray_traces, trigger_tags, + parent_span=None, ): tags = {} if context: @@ -402,6 +886,7 @@ def create_function_execution_span( else None, "datadog_lambda": datadog_lambda_version, "dd_trace": ddtrace_version, + "span.name": "aws.lambda", } if trace_context_source == TraceContextSource.XRAY and merge_xray_traces: tags["_dd.parent_source"] = trace_context_source @@ -415,4 +900,24 @@ def create_function_execution_span( span = tracer.trace("aws.lambda", **args) if span: span.set_tags(tags) + if parent_span: + span.parent_id = parent_span.span_id return span + + +class InferredSpanInfo(object): + BASE_NAME = "_inferred_span" + SYNCHRONICITY = f"{BASE_NAME}.synchronicity" + TAG_SOURCE = f"{BASE_NAME}.tag_source" + + @classmethod + def set_tags( + cls, + tags: Dict[str, str], + synchronicity: Optional[Literal["sync", "async"]] = None, + tag_source: Optional[Literal["labmda", "self"]] = None, + ): + if synchronicity is not None: + tags[cls.SYNCHRONICITY] = str(synchronicity) + if tag_source is not None: + tags[cls.TAG_SOURCE] = str(tag_source) diff --git a/datadog_lambda/trigger.py b/datadog_lambda/trigger.py index 7271f239..cd7909fe 100644 --- a/datadog_lambda/trigger.py +++ b/datadog_lambda/trigger.py @@ -7,15 +7,89 @@ import gzip import json from io import BytesIO, BufferedReader +from enum import Enum +from typing import Any -EVENT_SOURCES = [ - "aws:dynamodb", - "aws:kinesis", - "aws:s3", - "aws:sns", - "aws:sqs", -] +class _stringTypedEnum(Enum): + """ + _stringTypedEnum provides a type-hinted convenience function for getting the string value of + an enum. + """ + + def get_string(self) -> str: + return self.value + + +class EventTypes(_stringTypedEnum): + """ + EventTypes is an enum of Lambda event types we care about. + """ + + UNKNOWN = "unknown" + API_GATEWAY = "api-gateway" + APPSYNC = "appsync" + ALB = "application-load-balancer" + CLOUDWATCH_LOGS = "cloudwatch-logs" + CLOUDWATCH_EVENTS = "cloudwatch-events" + CLOUDFRONT = "cloudfront" + DYNAMODB = "dynamodb" + KINESIS = "kinesis" + S3 = "s3" + SNS = "sns" + SQS = "sqs" + EVENTBRIDGE = "eventbridge" + + +class EventSubtypes(_stringTypedEnum): + """ + EventSubtypes is an enum of Lambda event subtypes. + Currently, API Gateway events subtypes are supported, + e.g. HTTP-API and Websocket events vs vanilla API-Gateway events. + """ + + NONE = "none" + API_GATEWAY = "api-gateway" # regular API Gateway + WEBSOCKET = "websocket" + HTTP_API = "http-api" + + +class _EventSource: + """ + _EventSource holds an event's type and subtype. + """ + + def __init__( + self, + event_type: EventTypes, + subtype: EventSubtypes = EventSubtypes.NONE, + ): + self.event_type = event_type + self.subtype = subtype + + def to_string(self) -> str: + """ + to_string returns the string representation of an _EventSource. + Since to_string was added to support trigger tagging, + the event's subtype will never be included in the string. + """ + return self.event_type.get_string() + + def equals( + self, event_type: EventTypes, subtype: EventSubtypes = EventSubtypes.NONE + ) -> bool: + """ + equals provides syntactic sugar to determine whether this _EventSource has a given type + and subtype. + Unknown events will never equal other events. + """ + if self.event_type == EventTypes.UNKNOWN: + return False + if self.event_type != event_type: + return False + if self.subtype != subtype: + return False + return True def get_aws_partition_by_region(region): @@ -32,46 +106,61 @@ def get_first_record(event): return records[0] -def parse_event_source(event): - """Determines the source of the trigger event - - Possible Returns: - api-gateway | application-load-balancer | cloudwatch-logs | - cloudwatch-events | cloudfront | dynamodb | kinesis | s3 | sns | sqs - """ +def parse_event_source(event: dict) -> _EventSource: + """Determines the source of the trigger event""" if type(event) is not dict: - return - event_source = event.get("eventSource") or event.get("EventSource") + return _EventSource(EventTypes.UNKNOWN) + + event_source = _EventSource(EventTypes.UNKNOWN) request_context = event.get("requestContext") if request_context and request_context.get("stage"): - event_source = "api-gateway" + event_source = _EventSource(EventTypes.API_GATEWAY) + if "httpMethod" in event: + event_source.subtype = EventSubtypes.API_GATEWAY + if "routeKey" in event: + event_source.subtype = EventSubtypes.HTTP_API + if "requestContext" in event and "messageDirection" in event["requestContext"]: + event_source.subtype = EventSubtypes.WEBSOCKET if request_context and request_context.get("elb"): - event_source = "application-load-balancer" + event_source = _EventSource(EventTypes.ALB) if event.get("awslogs"): - event_source = "cloudwatch-logs" + event_source = _EventSource(EventTypes.CLOUDWATCH_LOGS) + + if event.get("detail-type"): + event_source = _EventSource(EventTypes.EVENTBRIDGE) event_detail = event.get("detail") cw_event_categories = event_detail and event_detail.get("EventCategories") if event.get("source") == "aws.events" or cw_event_categories: - event_source = "cloudwatch-events" + event_source = _EventSource(EventTypes.CLOUDWATCH_EVENTS) event_record = get_first_record(event) if event_record: - event_source = event_record.get("eventSource") or event_record.get( - "EventSource" + aws_event_source = event_record.get( + "eventSource", event_record.get("EventSource") ) + + if aws_event_source == "aws:dynamodb": + event_source = _EventSource(EventTypes.DYNAMODB) + if aws_event_source == "aws:kinesis": + event_source = _EventSource(EventTypes.KINESIS) + if aws_event_source == "aws:s3": + event_source = _EventSource(EventTypes.S3) + if aws_event_source == "aws:sns": + event_source = _EventSource(EventTypes.SNS) + if aws_event_source == "aws:sqs": + event_source = _EventSource(EventTypes.SQS) + if event_record.get("cf"): - event_source = "cloudfront" + event_source = _EventSource(EventTypes.CLOUDFRONT) - if event_source in EVENT_SOURCES: - event_source = event_source.replace("aws:", "") return event_source -def parse_event_source_arn(source, event, context): +def parse_event_source_arn(source: _EventSource, event: dict, context: Any) -> str: """ Parses the trigger event for an available ARN. If an ARN field is not provided in the event we stitch it together. @@ -83,34 +172,34 @@ def parse_event_source_arn(source, event, context): event_record = get_first_record(event) # e.g. arn:aws:s3:::lambda-xyz123-abc890 - if source == "s3": + if source.to_string() == "s3": return event_record.get("s3")["bucket"]["arn"] # e.g. arn:aws:sns:us-east-1:123456789012:sns-lambda - if source == "sns": + if source.to_string() == "sns": return event_record.get("Sns")["TopicArn"] # e.g. arn:aws:cloudfront::123456789012:distribution/ABC123XYZ - if source == "cloudfront": + if source.event_type == EventTypes.CLOUDFRONT: distribution_id = event_record.get("cf")["config"]["distributionId"] return "arn:{}:cloudfront::{}:distribution/{}".format( aws_arn, account_id, distribution_id ) # e.g. arn:aws:apigateway:us-east-1::/restapis/xyz123/stages/default - if source == "api-gateway": + if source.event_type == EventTypes.API_GATEWAY: request_context = event.get("requestContext") return "arn:{}:apigateway:{}::/restapis/{}/stages/{}".format( aws_arn, region, request_context["apiId"], request_context["stage"] ) # e.g. arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/lambda-xyz/123 - if source == "application-load-balancer": + if source.event_type == EventTypes.ALB: request_context = event.get("requestContext") return request_context.get("elb")["targetGroupArn"] # e.g. arn:aws:logs:us-west-1:123456789012:log-group:/my-log-group-xyz - if source == "cloudwatch-logs": + if source.event_type == EventTypes.CLOUDWATCH_LOGS: with gzip.GzipFile( fileobj=BytesIO(base64.b64decode(event["awslogs"]["data"])) ) as decompress_stream: @@ -122,11 +211,11 @@ def parse_event_source_arn(source, event, context): ) # e.g. arn:aws:events:us-east-1:123456789012:rule/my-schedule - if source == "cloudwatch-events" and event.get("resources"): + if source.event_type == EventTypes.CLOUDWATCH_EVENTS and event.get("resources"): return event.get("resources")[0] -def get_event_source_arn(source, event, context): +def get_event_source_arn(source: _EventSource, event: dict, context: Any) -> str: event_source_arn = event.get("eventSourceARN") or event.get("eventSourceArn") event_record = get_first_record(event) @@ -173,20 +262,20 @@ def extract_http_tags(event): return http_tags -def extract_trigger_tags(event, context): +def extract_trigger_tags(event: dict, context: Any) -> dict: """ Parses the trigger event object to get tags to be added to the span metadata """ trigger_tags = {} event_source = parse_event_source(event) - if event_source: - trigger_tags["function_trigger.event_source"] = event_source + if event_source.to_string() is not None and event_source.to_string() != "unknown": + trigger_tags["function_trigger.event_source"] = event_source.to_string() event_source_arn = get_event_source_arn(event_source, event, context) if event_source_arn: trigger_tags["function_trigger.event_source_arn"] = event_source_arn - if event_source in ["api-gateway", "application-load-balancer"]: + if event_source.event_type in [EventTypes.API_GATEWAY, EventTypes.ALB]: trigger_tags.update(extract_http_tags(event)) return trigger_tags diff --git a/datadog_lambda/wrapper.py b/datadog_lambda/wrapper.py index 1ba7f126..cf2efaa9 100644 --- a/datadog_lambda/wrapper.py +++ b/datadog_lambda/wrapper.py @@ -10,7 +10,10 @@ from datadog_lambda.extension import should_use_extension, flush_extension from datadog_lambda.cold_start import set_cold_start, is_cold_start -from datadog_lambda.constants import XraySubsegment, TraceContextSource +from datadog_lambda.constants import ( + XraySubsegment, + TraceContextSource, +) from datadog_lambda.metric import ( flush_stats, submit_invocations_metric, @@ -26,6 +29,8 @@ set_correlation_ids, set_dd_trace_py_root, create_function_execution_span, + create_inferred_span, + InferredSpanInfo, ) from datadog_lambda.trigger import extract_trigger_tags, extract_http_status_code_tag from datadog_lambda.tag_object import tag_object @@ -100,6 +105,10 @@ def __init__(self, func): self.extractor_env = os.environ.get("DD_TRACE_EXTRACTOR", None) self.trace_extractor = None self.span = None + self.inferred_span = None + self.make_inferred_span = ( + os.environ.get("DD_TRACE_MANAGED_SERVICES", "true").lower() == "true" + ) self.response = None if self.extractor_env: @@ -142,6 +151,7 @@ def __call__(self, event, context, **kwargs): def _before(self, event, context): try: + set_cold_start() submit_invocations_metric(context) self.trigger_tags = extract_trigger_tags(event, context) @@ -157,6 +167,8 @@ def _before(self, event, context): if dd_tracing_enabled: set_dd_trace_py_root(trace_context_source, self.merge_xray_traces) + if self.make_inferred_span: + self.inferred_span = create_inferred_span(event, context) self.span = create_function_execution_span( context, self.function_name, @@ -164,6 +176,7 @@ def _before(self, event, context): trace_context_source, self.merge_xray_traces, self.trigger_tags, + parent_span=self.inferred_span, ) else: set_correlation_ids() @@ -184,11 +197,6 @@ def _after(self, event, context): self.trigger_tags, XraySubsegment.LAMBDA_FUNCTION_TAGS_KEY ) - if not self.flush_to_log or should_use_extension: - flush_stats() - if should_use_extension: - flush_extension() - if self.span: if dd_capture_lambda_payload_enabled: tag_object(self.span, "function.request", event) @@ -197,6 +205,24 @@ def _after(self, event, context): if status_code: self.span.set_tag("http.status_code", status_code) self.span.finish() + + if self.inferred_span: + if status_code: + self.inferred_span.set_tag("http.status_code", status_code) + + if ( + self.inferred_span.get_tag(InferredSpanInfo.SYNCHRONICITY) + == "async" + and self.span + ): + self.inferred_span.finish(finish_time=self.span.start) + else: + self.inferred_span.finish() + + if not self.flush_to_log or should_use_extension: + flush_stats() + if should_use_extension: + flush_extension() logger.debug("datadog_lambda_wrapper _after() done") except Exception: traceback.print_exc() diff --git a/pyproject.toml b/pyproject.toml index b5140b16..f82846d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ wrapt = "^1.11.2" ddtrace = "^0.55.4" importlib_metadata = {version = "^1.0", python = "<3.8"} boto3 = { version = "^1.10.33", optional = true } +typing_extensions = {version = "^4.0", python = "<3.8"} requests = { version ="^2.22.0", optional = true } nose2 = { version= "^0.9.1", optional = true } flake8 = { version = "^3.7.9", optional = true } diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index db76665e..685b5bcf 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -207,15 +207,14 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do sed -E "s/(\"span_id\"\: \")[A-Z0-9\.\-]+/\1XXXX/g" | sed -E "s/(\"parent_id\"\: \")[A-Z0-9\.\-]+/\1XXXX/g" | sed -E "s/(\"request_id\"\: \")[a-z0-9\.\-]+/\1XXXX/g" | - sed -E "s/(\"duration\"\: )[0-9\.\-]+/\1XXXX/g" | - sed -E "s/(\"start\"\: )[0-9\.\-]+/\1XXXX/g" | - sed -E "s/(\"system\.pid\"\: )[0-9\.\-]+/\1XXXX/g" | + sed -E "s/(\"duration\"\: )[0-9\.\-]+/\1\"XXXX\"/g" | + sed -E "s/(\"start\"\: )[0-9\.\-]+/\1\"XXXX\"/g" | + sed -E "s/(\"system\.pid\"\: )[0-9\.\-]+/\1\"XXXX\"/g" | sed -E "s/(\"runtime-id\"\: \")[a-z0-9\.\-]+/\1XXXX/g" | sed -E "s/(\"datadog_lambda\"\: \")([0-9]+\.[0-9]+\.[0-9])/\1X.X.X/g" | sed -E "s/(\"dd_trace\"\: \")([0-9]+\.[0-9]+\.[0-9])/\1X.X.X/g" | - # Strip out main started and init completed - sed "/main started at epoch/d" | - sed "/init complete at epoch/d" + sed -E "/init complete at epoch/d" | + sed -E "/main started at epoch/d" ) if [ ! -f $function_snapshot_path ]; then diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index ca4864c8..9b5e87de 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -16,12 +16,10 @@ do docker build -t datadog-lambda-python-test:$python_version \ -f tests/Dockerfile . \ --build-arg python_version=$python_version - docker run -v `pwd`:/datadog-lambda-python \ - -w /datadog-lambda-python \ + docker run -w /test \ datadog-lambda-python-test:$python_version \ - nose2 -v - docker run -v `pwd`:/datadog-lambda-python \ - -w /datadog-lambda-python \ + nose2 -v + docker run -w /test \ datadog-lambda-python-test:$python_version \ flake8 datadog_lambda/ done diff --git a/tests/event_samples/api-gateway-non-proxy-async.json b/tests/event_samples/api-gateway-non-proxy-async.json new file mode 100644 index 00000000..46ca9d9a --- /dev/null +++ b/tests/event_samples/api-gateway-non-proxy-async.json @@ -0,0 +1,109 @@ +{ + "resource": "/http/get", + "path": "/http/get", + "httpMethod": "GET", + "headers": { + "Accept": "*/*", + "CloudFront-Forwarded-Proto": "https", + "CloudFront-Is-Desktop-Viewer": "true", + "CloudFront-Is-Mobile-Viewer": "false", + "CloudFront-Is-SmartTV-Viewer": "false", + "CloudFront-Is-Tablet-Viewer": "false", + "CloudFront-Viewer-Country": "US", + "Host": "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + "User-Agent": "curl/7.64.1", + "Via": "2.0 a1882a601559755135741e91a9f86c28.cloudfront.net (CloudFront)", + "X-Amz-Cf-Id": "dHMNSBrMT0Xjg3rtMrI0Ie9BDg3D_OIPoj7m0mTuIOpTujrU0Ob8_A==", + "X-Amzn-Trace-Id": "Root=1-613a4da3-5012576973e2e5670d4c549a", + "X-Forwarded-For": "38.122.226.210, 70.132.52.143", + "X-Forwarded-Port": "443", + "X-Forwarded-Proto": "https", + "X-Amz-Invocation-Type": "Event", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "multiValueHeaders": { + "Accept": [ + "*/*" + ], + "CloudFront-Forwarded-Proto": [ + "https" + ], + "CloudFront-Is-Desktop-Viewer": [ + "true" + ], + "CloudFront-Is-Mobile-Viewer": [ + "false" + ], + "CloudFront-Is-SmartTV-Viewer": [ + "false" + ], + "CloudFront-Is-Tablet-Viewer": [ + "false" + ], + "CloudFront-Viewer-Country": [ + "US" + ], + "Host": [ + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com" + ], + "User-Agent": [ + "curl/7.64.1" + ], + "Via": [ + "2.0 a1882a601559755135741e91a9f86c28.cloudfront.net (CloudFront)" + ], + "X-Amz-Cf-Id": [ + "dHMNSBrMT0Xjg3rtMrI0Ie9BDg3D_OIPoj7m0mTuIOpTujrU0Ob8_A==" + ], + "X-Amzn-Trace-Id": [ + "Root=1-613a4da3-5012576973e2e5670d4c549a" + ], + "X-Forwarded-For": [ + "38.122.226.210, 70.132.52.143" + ], + "X-Forwarded-Port": [ + "443" + ], + "X-Forwarded-Proto": [ + "https" + ] + }, + "queryStringParameters": null, + "multiValueQueryStringParameters": null, + "pathParameters": null, + "stageVariables": null, + "requestContext": { + "resourceId": "8ajqil", + "resourcePath": "/http/get", + "httpMethod": "GET", + "extendedRequestId": "FaERiG1RGjQFb6g=", + "requestTime": "09/Sep/2021:18:08:35 +0000", + "path": "/dev/http/get", + "accountId": "601427279990", + "protocol": "HTTP/1.1", + "stage": "dev", + "domainPrefix": "lgxbo6a518", + "requestTimeEpoch": 1631210915251, + "requestId": "7bf3b161-f698-432c-a639-6fef8b445137", + "identity": { + "cognitoIdentityPoolId": null, + "accountId": null, + "cognitoIdentityId": null, + "caller": null, + "sourceIp": "38.122.226.210", + "principalOrgId": null, + "accessKey": null, + "cognitoAuthenticationType": null, + "cognitoAuthenticationProvider": null, + "userArn": null, + "userAgent": "curl/7.64.1", + "user": null + }, + "domainName": "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + "apiId": "lgxbo6a518" + }, + "body": null, + "isBase64Encoded": false +} diff --git a/tests/event_samples/api-gateway-non-proxy.json b/tests/event_samples/api-gateway-non-proxy.json new file mode 100644 index 00000000..500351a1 --- /dev/null +++ b/tests/event_samples/api-gateway-non-proxy.json @@ -0,0 +1,108 @@ +{ + "resource": "/http/get", + "path": "/http/get", + "httpMethod": "GET", + "headers": { + "Accept": "*/*", + "CloudFront-Forwarded-Proto": "https", + "CloudFront-Is-Desktop-Viewer": "true", + "CloudFront-Is-Mobile-Viewer": "false", + "CloudFront-Is-SmartTV-Viewer": "false", + "CloudFront-Is-Tablet-Viewer": "false", + "CloudFront-Viewer-Country": "US", + "Host": "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + "User-Agent": "curl/7.64.1", + "Via": "2.0 a1882a601559755135741e91a9f86c28.cloudfront.net (CloudFront)", + "X-Amz-Cf-Id": "dHMNSBrMT0Xjg3rtMrI0Ie9BDg3D_OIPoj7m0mTuIOpTujrU0Ob8_A==", + "X-Amzn-Trace-Id": "Root=1-613a4da3-5012576973e2e5670d4c549a", + "X-Forwarded-For": "38.122.226.210, 70.132.52.143", + "X-Forwarded-Port": "443", + "X-Forwarded-Proto": "https", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "multiValueHeaders": { + "Accept": [ + "*/*" + ], + "CloudFront-Forwarded-Proto": [ + "https" + ], + "CloudFront-Is-Desktop-Viewer": [ + "true" + ], + "CloudFront-Is-Mobile-Viewer": [ + "false" + ], + "CloudFront-Is-SmartTV-Viewer": [ + "false" + ], + "CloudFront-Is-Tablet-Viewer": [ + "false" + ], + "CloudFront-Viewer-Country": [ + "US" + ], + "Host": [ + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com" + ], + "User-Agent": [ + "curl/7.64.1" + ], + "Via": [ + "2.0 a1882a601559755135741e91a9f86c28.cloudfront.net (CloudFront)" + ], + "X-Amz-Cf-Id": [ + "dHMNSBrMT0Xjg3rtMrI0Ie9BDg3D_OIPoj7m0mTuIOpTujrU0Ob8_A==" + ], + "X-Amzn-Trace-Id": [ + "Root=1-613a4da3-5012576973e2e5670d4c549a" + ], + "X-Forwarded-For": [ + "38.122.226.210, 70.132.52.143" + ], + "X-Forwarded-Port": [ + "443" + ], + "X-Forwarded-Proto": [ + "https" + ] + }, + "queryStringParameters": null, + "multiValueQueryStringParameters": null, + "pathParameters": null, + "stageVariables": null, + "requestContext": { + "resourceId": "8ajqil", + "resourcePath": "/http/get", + "httpMethod": "GET", + "extendedRequestId": "FaERiG1RGjQFb6g=", + "requestTime": "09/Sep/2021:18:08:35 +0000", + "path": "/dev/http/get", + "accountId": "601427279990", + "protocol": "HTTP/1.1", + "stage": "dev", + "domainPrefix": "lgxbo6a518", + "requestTimeEpoch": 1631210915251, + "requestId": "7bf3b161-f698-432c-a639-6fef8b445137", + "identity": { + "cognitoIdentityPoolId": null, + "accountId": null, + "cognitoIdentityId": null, + "caller": null, + "sourceIp": "38.122.226.210", + "principalOrgId": null, + "accessKey": null, + "cognitoAuthenticationType": null, + "cognitoAuthenticationProvider": null, + "userArn": null, + "userAgent": "curl/7.64.1", + "user": null + }, + "domainName": "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + "apiId": "lgxbo6a518" + }, + "body": null, + "isBase64Encoded": false +} diff --git a/tests/event_samples/api-gateway-websocket-connect.json b/tests/event_samples/api-gateway-websocket-connect.json new file mode 100644 index 00000000..73ccea31 --- /dev/null +++ b/tests/event_samples/api-gateway-websocket-connect.json @@ -0,0 +1,59 @@ +{ + "headers": { + "Host": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits", + "Sec-WebSocket-Key": "cdxrfyi/jZ7kKMSRkIgBjg==", + "Sec-WebSocket-Version": "13", + "X-Amzn-Trace-Id": "Root=1-613b6b23-34ae0ce37f8d09ae19095835", + "X-Forwarded-For": "38.122.226.210", + "X-Forwarded-Port": "443", + "X-Forwarded-Proto": "https", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "multiValueHeaders": { + "Host": [ + "p62c47itsb.execute-api.sa-east-1.amazonaws.com" + ], + "Sec-WebSocket-Extensions": [ + "permessage-deflate; client_max_window_bits" + ], + "Sec-WebSocket-Key": [ + "cdxrfyi/jZ7kKMSRkIgBjg==" + ], + "Sec-WebSocket-Version": [ + "13" + ], + "X-Amzn-Trace-Id": [ + "Root=1-613b6b23-34ae0ce37f8d09ae19095835" + ], + "X-Forwarded-For": [ + "38.122.226.210" + ], + "X-Forwarded-Port": [ + "443" + ], + "X-Forwarded-Proto": [ + "https" + ] + }, + "requestContext": { + "routeKey": "$connect", + "eventType": "CONNECT", + "extendedRequestId": "Fc2tgH1RmjQFnOg=", + "requestTime": "10/Sep/2021:14:26:43 +0000", + "messageDirection": "IN", + "stage": "dev", + "connectedAt": 1631284003070, + "requestTimeEpoch": 1631284003071, + "identity": { + "sourceIp": "38.122.226.210" + }, + "requestId": "Fc2tgH1RmjQFnOg=", + "domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "connectionId": "Fc2tgfl3mjQCJfA=", + "apiId": "p62c47itsb" + }, + "isBase64Encoded": false +} diff --git a/tests/event_samples/api-gateway-websocket-default.json b/tests/event_samples/api-gateway-websocket-default.json new file mode 100644 index 00000000..7fc07e1c --- /dev/null +++ b/tests/event_samples/api-gateway-websocket-default.json @@ -0,0 +1,45 @@ +{ + "headers": { + "Host": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "x-api-key": "", + "X-Forwarded-For": "", + "x-restapi": "", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "multiValueHeaders": { + "Host": [ + "p62c47itsb.execute-api.sa-east-1.amazonaws.com" + ], + "x-api-key": [ + "" + ], + "X-Forwarded-For": [ + "" + ], + "x-restapi": [ + "" + ] + }, + "requestContext": { + "routeKey": "$default", + "messageId": "Fc5S3coemjQCJlg=", + "eventType": "MESSAGE", + "extendedRequestId": "Fc5S3EvdGjQFtsQ=", + "requestTime": "10/Sep/2021:14:44:21 +0000", + "messageDirection": "IN", + "stage": "dev", + "connectedAt": 1631285060967, + "requestTimeEpoch": 1631285061365, + "identity": { + "sourceIp": "38.122.226.210" + }, + "requestId": "Fc5S3EvdGjQFtsQ=", + "domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "connectionId": "Fc5SzcoYGjQCJlg=", + "apiId": "p62c47itsb" + }, + "body": "\"What's good in the hood?\"", + "isBase64Encoded": false +} diff --git a/tests/event_samples/api-gateway-websocket-disconnect.json b/tests/event_samples/api-gateway-websocket-disconnect.json new file mode 100644 index 00000000..d518c030 --- /dev/null +++ b/tests/event_samples/api-gateway-websocket-disconnect.json @@ -0,0 +1,45 @@ +{ + "headers": { + "Host": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "x-api-key": "", + "X-Forwarded-For": "", + "x-restapi": "", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "multiValueHeaders": { + "Host": [ + "p62c47itsb.execute-api.sa-east-1.amazonaws.com" + ], + "x-api-key": [ + "" + ], + "X-Forwarded-For": [ + "" + ], + "x-restapi": [ + "" + ] + }, + "requestContext": { + "routeKey": "$disconnect", + "disconnectStatusCode": 1000, + "eventType": "DISCONNECT", + "extendedRequestId": "Fc2ydE4LmjQFhdg=", + "requestTime": "10/Sep/2021:14:27:14 +0000", + "messageDirection": "IN", + "disconnectReason": "", + "stage": "dev", + "connectedAt": 1631284003070, + "requestTimeEpoch": 1631284034737, + "identity": { + "sourceIp": "38.122.226.210" + }, + "requestId": "Fc2ydE4LmjQFhdg=", + "domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "connectionId": "Fc2tgfl3mjQCJfA=", + "apiId": "p62c47itsb" + }, + "isBase64Encoded": false +} diff --git a/tests/event_samples/api-gateway.json b/tests/event_samples/api-gateway.json index 5e13b6e3..b2c7f96e 100644 --- a/tests/event_samples/api-gateway.json +++ b/tests/event_samples/api-gateway.json @@ -36,7 +36,10 @@ "X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==", "X-Forwarded-For": "127.0.0.1, 127.0.0.2", "X-Forwarded-Port": "443", - "X-Forwarded-Proto": "https" + "X-Forwarded-Proto": "https", + "X-Datadog-Trace-Id": "12345", + "X-Datadog-Parent-Id": "67890", + "x-datadog-sampling-priority": "2" }, "multiValueHeaders": { "Accept": [ diff --git a/tests/event_samples/application-load-balancer.json b/tests/event_samples/application-load-balancer.json index fa8ed48a..bf177952 100644 --- a/tests/event_samples/application-load-balancer.json +++ b/tests/event_samples/application-load-balancer.json @@ -21,7 +21,10 @@ "x-forwarded-for": "72.12.164.125", "x-forwarded-port": "80", "x-forwarded-proto": "http", - "x-imforwards": "20" + "x-imforwards": "20", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" }, "body": "", "isBase64Encoded": false diff --git a/tests/event_samples/eventbridge-custom.json b/tests/event_samples/eventbridge-custom.json new file mode 100644 index 00000000..456980f8 --- /dev/null +++ b/tests/event_samples/eventbridge-custom.json @@ -0,0 +1,18 @@ +{ + "version": "0", + "id": "fd03f394-e769-eff5-08a8-53c228933591", + "detail-type": "testdetail", + "source": "eventbridge.custom.event.sender", + "account": "601427279990", + "time": "2021-11-04T01:37:45Z", + "region": "sa-east-1", + "resources": [], + "detail": { + "foo": "bar", + "_datadog": { + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + } + } +} diff --git a/tests/event_samples/http-api.json b/tests/event_samples/http-api.json new file mode 100644 index 00000000..602e795b --- /dev/null +++ b/tests/event_samples/http-api.json @@ -0,0 +1,38 @@ +{ + "version": "2.0", + "routeKey": "GET /httpapi/get", + "rawPath": "/httpapi/get", + "rawQueryString": "", + "headers": { + "accept": "*/*", + "content-length": "0", + "host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + "user-agent": "curl/7.64.1", + "x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", + "x-forwarded-for": "38.122.226.210", + "x-forwarded-port": "443", + "x-forwarded-proto": "https", + "x-datadog-trace-id": "12345", + "x-datadog-parent-id": "67890", + "x-datadog-sampling-priority": "2" + }, + "requestContext": { + "accountId": "601427279990", + "apiId": "x02yirxc7a", + "domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + "domainPrefix": "x02yirxc7a", + "http": { + "method": "GET", + "path": "/httpapi/get", + "protocol": "HTTP/1.1", + "sourceIp": "38.122.226.210", + "userAgent": "curl/7.64.1" + }, + "requestId": "FaHnXjKCGjQEJ7A=", + "routeKey": "GET /httpapi/get", + "stage": "$default", + "time": "09/Sep/2021:18:31:23 +0000", + "timeEpoch": 1631212283738 + }, + "isBase64Encoded": false +} diff --git a/tests/event_samples/kinesis-batch.json b/tests/event_samples/kinesis-batch.json new file mode 100644 index 00000000..e1d0833a --- /dev/null +++ b/tests/event_samples/kinesis-batch.json @@ -0,0 +1,36 @@ +{ + "Records": [ + { + "kinesis": { + "kinesisSchemaVersion": "1.0", + "partitionKey": "partitionkey", + "sequenceNumber": "49624230154685806402418173680709770494154422022871973922", + "data": "eyJmb28iOiAiYmFyIiwgIl9kYXRhZG9nIjogeyJ4LWRhdGFkb2ctdHJhY2UtaWQiOiAiNDk0ODM3NzMxNjM1NzI5MTQyMSIsICJ4LWRhdGFkb2ctcGFyZW50LWlkIjogIjI4NzYyNTMzODAwMTg2ODEwMjYiLCAieC1kYXRhZG9nLXNhbXBsaW5nLXByaW9yaXR5IjogIjEifX0=", + "approximateArrivalTimestamp": 1643638425.163 + }, + "eventSource": "aws:kinesis", + "eventVersion": "1.0", + "eventID": "shardId-000000000002:49624230154685806402418173680709770494154422022871973922", + "eventName": "aws:kinesis:record", + "invokeIdentityArn": "arn:aws:iam::601427279990:role/inferred-spans-python-dev-sa-east-1-lambdaRole", + "awsRegion": "sa-east-1", + "eventSourceARN": "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream" + }, + { + "kinesis": { + "kinesisSchemaVersion": "1.0", + "partitionKey": "partitionkey", + "sequenceNumber": "49624230154685806402418173680709770494154422022871973922", + "data": "eyJmb28iOiAiYmFyIiwgIl9kYXRhZG9nIjogeyJ4LWRhdGFkb2ctdHJhY2UtaWQiOiAiNDk0ODM3NzMxNjM1NzI5MTQyMSIsICJ4LWRhdGFkb2ctcGFyZW50LWlkIjogIjI4NzYyNTMzODAwMTg2ODEwMjYiLCAieC1kYXRhZG9nLXNhbXBsaW5nLXByaW9yaXR5IjogIjEifX0=", + "approximateArrivalTimestamp": 1643638425.163 + }, + "eventSource": "aws:kinesis", + "eventVersion": "1.0", + "eventID": "shardId-000000000002:49624230154685806402418173680709770494154422022871973922", + "eventName": "aws:kinesis:record", + "invokeIdentityArn": "arn:aws:iam::601427279990:role/inferred-spans-python-dev-sa-east-1-lambdaRole", + "awsRegion": "sa-east-1", + "eventSourceARN": "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream" + } + ] +} diff --git a/tests/event_samples/kinesis.json b/tests/event_samples/kinesis.json index 2d7f8887..7b9f444f 100644 --- a/tests/event_samples/kinesis.json +++ b/tests/event_samples/kinesis.json @@ -2,19 +2,19 @@ "Records": [ { "kinesis": { - "partitionKey": "partitionKey-03", "kinesisSchemaVersion": "1.0", - "data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", - "sequenceNumber": "49545115243490985018280067714973144582180062593244200961", - "approximateArrivalTimestamp": 1428537600 + "partitionKey": "partitionkey", + "sequenceNumber": "49624230154685806402418173680709770494154422022871973922", + "data": "eyJmb28iOiAiYmFyIiwgIl9kYXRhZG9nIjogeyJ4LWRhdGFkb2ctdHJhY2UtaWQiOiAiNDk0ODM3NzMxNjM1NzI5MTQyMSIsICJ4LWRhdGFkb2ctcGFyZW50LWlkIjogIjI4NzYyNTMzODAwMTg2ODEwMjYiLCAieC1kYXRhZG9nLXNhbXBsaW5nLXByaW9yaXR5IjogIjEifX0=", + "approximateArrivalTimestamp": 1643638425.163 }, "eventSource": "aws:kinesis", - "eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", - "invokeIdentityArn": "arn:aws:iam::EXAMPLE", "eventVersion": "1.0", + "eventID": "shardId-000000000002:49624230154685806402418173680709770494154422022871973922", "eventName": "aws:kinesis:record", - "eventSourceARN": "arn:aws:kinesis:EXAMPLE", - "awsRegion": "us-east-1" + "invokeIdentityArn": "arn:aws:iam::601427279990:role/inferred-spans-python-dev-sa-east-1-lambdaRole", + "awsRegion": "sa-east-1", + "eventSourceARN": "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream" } ] } diff --git a/tests/event_samples/sns-batch.json b/tests/event_samples/sns-batch.json new file mode 100644 index 00000000..c84da297 --- /dev/null +++ b/tests/event_samples/sns-batch.json @@ -0,0 +1,50 @@ +{ + "Records": [ + { + "EventSource": "aws:sns", + "EventVersion": "1.0", + "EventSubscriptionArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", + "Sns": { + "Type": "Notification", + "MessageId": "87056a47-f506-5d77-908b-303605d3b197", + "TopicArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", + "Subject": null, + "Message": "Asynchronously invoking a Lambda function with SNS.", + "Timestamp": "2022-01-31T14:13:41.637Z", + "SignatureVersion": "1", + "Signature": "BmwnJb0Ku2KgQef9QOgaSSTwLyUsbkRq90lzD5Vn4mAcRUOq2ForfMOYbxMB6idljWIWy9t/jK4AIMxPGk/eOGiRcENx3BvAcGcoDayBRFY13+xUGaPn5Lfoht/ZJ7/hmCgFWKRa8ooATZL+AwGAw6Id8qzf0R3M3k2asy5Vxa4ODKiFW9OzWY/zFgsYJhddR3JrQl9YOMRyIobNNHT96o1TwjGsSUTEemrxA6jQtb3QbardEKO+2SuataLEZki7gE2D2sA300WqZecumI339q7la+OIj6VDGDwFoppE2sh8hzJYXAH7oo11giwltE0V3/eLFCVhsE8Y1KD/yDPPsA==", + "SigningCertUrl": "https://sns.sa-east-1.amazonaws.com/SimpleNotificationService-7ff5318490ec183fbaddaa2a969abfda.pem", + "UnsubscribeUrl": "https://sns.sa-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", + "MessageAttributes": { + "_datadog": { + "Type": "String", + "Value": "{\"x-datadog-trace-id\": \"4948377316357291421\", \"x-datadog-parent-id\": \"6746998015037429512\", \"x-datadog-sampling-priority\": \"1\"}" + } + } + } + }, + { + "EventSource": "aws:sns", + "EventVersion": "1.0", + "EventSubscriptionArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", + "Sns": { + "Type": "Notification", + "MessageId": "87056a47-f506-5d77-908b-303605d3b197", + "TopicArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", + "Subject": null, + "Message": "Asynchronously invoking a Lambda function with SNS.", + "Timestamp": "2022-01-31T14:13:41.637Z", + "SignatureVersion": "1", + "Signature": "BmwnJb0Ku2KgQef9QOgaSSTwLyUsbkRq90lzD5Vn4mAcRUOq2ForfMOYbxMB6idljWIWy9t/jK4AIMxPGk/eOGiRcENx3BvAcGcoDayBRFY13+xUGaPn5Lfoht/ZJ7/hmCgFWKRa8ooATZL+AwGAw6Id8qzf0R3M3k2asy5Vxa4ODKiFW9OzWY/zFgsYJhddR3JrQl9YOMRyIobNNHT96o1TwjGsSUTEemrxA6jQtb3QbardEKO+2SuataLEZki7gE2D2sA300WqZecumI339q7la+OIj6VDGDwFoppE2sh8hzJYXAH7oo11giwltE0V3/eLFCVhsE8Y1KD/yDPPsA==", + "SigningCertUrl": "https://sns.sa-east-1.amazonaws.com/SimpleNotificationService-7ff5318490ec183fbaddaa2a969abfda.pem", + "UnsubscribeUrl": "https://sns.sa-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", + "MessageAttributes": { + "_datadog": { + "Type": "String", + "Value": "{\"x-datadog-trace-id\": \"4948377316357291421\", \"x-datadog-parent-id\": \"6746998015037429512\", \"x-datadog-sampling-priority\": \"1\"}" + } + } + } + } + ] +} diff --git a/tests/event_samples/sns.json b/tests/event_samples/sns.json index 06c6062d..b9be446c 100644 --- a/tests/event_samples/sns.json +++ b/tests/event_samples/sns.json @@ -3,26 +3,22 @@ { "EventSource": "aws:sns", "EventVersion": "1.0", - "EventSubscriptionArn": "arn:aws:sns:us-east-1:{{{accountId}}}:ExampleTopic", + "EventSubscriptionArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", "Sns": { "Type": "Notification", - "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", - "TopicArn": "arn:aws:sns:us-east-1:123456789012:ExampleTopic", - "Subject": "example subject", - "Message": "example message", - "Timestamp": "1970-01-01T00:00:00.000Z", + "MessageId": "87056a47-f506-5d77-908b-303605d3b197", + "TopicArn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", + "Subject": null, + "Message": "Asynchronously invoking a Lambda function with SNS.", + "Timestamp": "2022-01-31T14:13:41.637Z", "SignatureVersion": "1", - "Signature": "EXAMPLE", - "SigningCertUrl": "EXAMPLE", - "UnsubscribeUrl": "EXAMPLE", + "Signature": "BmwnJb0Ku2KgQef9QOgaSSTwLyUsbkRq90lzD5Vn4mAcRUOq2ForfMOYbxMB6idljWIWy9t/jK4AIMxPGk/eOGiRcENx3BvAcGcoDayBRFY13+xUGaPn5Lfoht/ZJ7/hmCgFWKRa8ooATZL+AwGAw6Id8qzf0R3M3k2asy5Vxa4ODKiFW9OzWY/zFgsYJhddR3JrQl9YOMRyIobNNHT96o1TwjGsSUTEemrxA6jQtb3QbardEKO+2SuataLEZki7gE2D2sA300WqZecumI339q7la+OIj6VDGDwFoppE2sh8hzJYXAH7oo11giwltE0V3/eLFCVhsE8Y1KD/yDPPsA==", + "SigningCertUrl": "https://sns.sa-east-1.amazonaws.com/SimpleNotificationService-7ff5318490ec183fbaddaa2a969abfda.pem", + "UnsubscribeUrl": "https://sns.sa-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy:224b60ba-befc-4830-ad96-f1f0ac94eb04", "MessageAttributes": { - "Test": { + "_datadog": { "Type": "String", - "Value": "TestString" - }, - "TestBinary": { - "Type": "Binary", - "Value": "TestBinary" + "Value": "{\"x-datadog-trace-id\": \"4948377316357291421\", \"x-datadog-parent-id\": \"6746998015037429512\", \"x-datadog-sampling-priority\": \"1\"}" } } } diff --git a/tests/event_samples/sqs-batch.json b/tests/event_samples/sqs-batch.json new file mode 100644 index 00000000..d3687dcf --- /dev/null +++ b/tests/event_samples/sqs-batch.json @@ -0,0 +1,52 @@ +{ + "Records": [ + { + "messageId": "2fcbad66-372a-4b1c-87da-26b2cea13936", + "receiptHandle": "AQEBnxFcyzQZhkrLV/TrSpn0VBszuq4a5/u66uyGRdUKuvXMurd6RRV952L+arORbE4MlGqWLUxurzYH9mKvc/A3MYjmGwQvvhp6uK5c7gXxg6tvHVAlsEFmTB0p35dxfGCmtrJbzdPjVtmcucPEpRx7z51tQokgGWuJbqx3Z9MVRD+6dyO3o6Zu6G3oWUgiUZ0dxhNoIIeT6xr/tEsoWhGK9ZUPRJ7e0BM/UZKfkecX1CVgVZ8J/t8fHRklJd34S6pN99SPNBKx+1lOZCelm2MihbQR6zax8bkhwL3glxYP83MxexvfOELA3G/6jx96oQ4mQdJASsKFUzvcs2NUxX+0bBVX9toS7MW/Udv+3CiQwSjjkc18A385QHtNrJDRbH33OUxFCqN5CcUMiGvEFed5EQ==", + "body": "Asynchronously invoking a Lambda function with SQS.", + "attributes": { + "ApproximateReceiveCount": "1", + "SentTimestamp": "1634662094538", + "SenderId": "AROAYYB64AB3LSVUYFP5T:harv-inferred-spans-dev-initSender", + "ApproximateFirstReceiveTimestamp": "1634662094544" + }, + "messageAttributes": { + "_datadog": { + "stringValue": "{\"x-datadog-trace-id\":\"2684756524522091840\",\"x-datadog-parent-id\":\"7431398482019833808\",\"x-datadog-sampled\":\"1\",\"x-datadog-sampling-priority\":\"1\"}", + "stringListValues": [], + "binaryListValues": [], + "dataType": "String" + } + }, + "md5OfMessageAttributes": "14b3b4a81d5ddeb96af62963d703c528", + "md5OfBody": "24933a8beabe72088d7576cab1a59142", + "eventSource": "aws:sqs", + "eventSourceARN": "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", + "awsRegion": "sa-east-1" + }, + { + "messageId": "2fcbad66-372a-4b1c-87da-26b2cea13937", + "receiptHandle": "AQEBnxFcyzQZhkrLV/TrSpn0VBszuq4a5/u66uyGRdUKuvXMurd6RRV952L+arORbE4MlGqWLUxurzYH9mKvc/A3MYjmGwQvvhp6uK5c7gXxg6tvHVAlsEFmTB0p35dxfGCmtrJbzdPjVtmcucPEpRx7z51tQokgGWuJbqx3Z9MVRD+6dyO3o6Zu6G3oWUgiUZ0dxhNoIIeT6xr/tEsoWhGK9ZUPRJ7e0BM/UZKfkecX1CVgVZ8J/t8fHRklJd34S6pN99SPNBKx+1lOZCelm2MihbQR6zax8bkhwL3glxYP83MxexvfOELA3G/6jx96oQ4mQdJASsKFUzvcs2NUxX+0bBVX9toS7MW/Udv+3CiQwSjjkc18A385QHtNrJDRbH33OUxFCqN5CcUMiGvEFed5EQ==", + "body": "Asynchronously invoking a Lambda function with SQS.", + "attributes": { + "ApproximateReceiveCount": "1", + "SentTimestamp": "1634662094538", + "SenderId": "AROAYYB64AB3LSVUYFP5T:harv-inferred-spans-dev-initSender", + "ApproximateFirstReceiveTimestamp": "1634662094544" + }, + "messageAttributes": { + "_datadog": { + "stringValue": "{\"x-datadog-trace-id\":\"2684756524522091840\",\"x-datadog-parent-id\":\"7431398482019833808\",\"x-datadog-sampled\":\"1\",\"x-datadog-sampling-priority\":\"1\"}", + "stringListValues": [], + "binaryListValues": [], + "dataType": "String" + } + }, + "md5OfMessageAttributes": "14b3b4a81d5ddeb96af62963d703c528", + "md5OfBody": "24933a8beabe72088d7576cab1a59142", + "eventSource": "aws:sqs", + "eventSourceARN": "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", + "awsRegion": "sa-east-1" + } + ] +} diff --git a/tests/event_samples/sqs.json b/tests/event_samples/sqs.json index e7e5eb73..c182704b 100644 --- a/tests/event_samples/sqs.json +++ b/tests/event_samples/sqs.json @@ -1,20 +1,28 @@ { "Records": [ { - "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78", - "receiptHandle": "MessageReceiptHandle", - "body": "Hello from SQS!", + "messageId": "2fcbad66-372a-4b1c-87da-26b2cea13936", + "receiptHandle": "AQEBnxFcyzQZhkrLV/TrSpn0VBszuq4a5/u66uyGRdUKuvXMurd6RRV952L+arORbE4MlGqWLUxurzYH9mKvc/A3MYjmGwQvvhp6uK5c7gXxg6tvHVAlsEFmTB0p35dxfGCmtrJbzdPjVtmcucPEpRx7z51tQokgGWuJbqx3Z9MVRD+6dyO3o6Zu6G3oWUgiUZ0dxhNoIIeT6xr/tEsoWhGK9ZUPRJ7e0BM/UZKfkecX1CVgVZ8J/t8fHRklJd34S6pN99SPNBKx+1lOZCelm2MihbQR6zax8bkhwL3glxYP83MxexvfOELA3G/6jx96oQ4mQdJASsKFUzvcs2NUxX+0bBVX9toS7MW/Udv+3CiQwSjjkc18A385QHtNrJDRbH33OUxFCqN5CcUMiGvEFed5EQ==", + "body": "Asynchronously invoking a Lambda function with SQS.", "attributes": { "ApproximateReceiveCount": "1", - "SentTimestamp": "1523232000000", - "SenderId": "123456789012", - "ApproximateFirstReceiveTimestamp": "1523232000001" + "SentTimestamp": "1634662094538", + "SenderId": "AROAYYB64AB3LSVUYFP5T:harv-inferred-spans-dev-initSender", + "ApproximateFirstReceiveTimestamp": "1634662094544" }, - "messageAttributes": {}, - "md5OfBody": "{{{md5_of_body}}}", + "messageAttributes": { + "_datadog": { + "stringValue": "{\"x-datadog-trace-id\":\"2684756524522091840\",\"x-datadog-parent-id\":\"7431398482019833808\",\"x-datadog-sampled\":\"1\",\"x-datadog-sampling-priority\":\"1\"}", + "stringListValues": [], + "binaryListValues": [], + "dataType": "String" + } + }, + "md5OfMessageAttributes": "14b3b4a81d5ddeb96af62963d703c528", + "md5OfBody": "24933a8beabe72088d7576cab1a59142", "eventSource": "aws:sqs", - "eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue", - "awsRegion": "us-east-1" + "eventSourceARN": "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", + "awsRegion": "sa-east-1" } ] } diff --git a/tests/integration/input_events/api-gateway-get.json b/tests/integration/input_events/api-gateway-get.json index 496553de..e309177a 100644 --- a/tests/integration/input_events/api-gateway-get.json +++ b/tests/integration/input_events/api-gateway-get.json @@ -1,55 +1,101 @@ { - "path": "/test/hello", - "headers": { - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", - "Accept-Encoding": "gzip, deflate, lzma, sdch, br", - "Accept-Language": "en-US,en;q=0.8", - "CloudFront-Forwarded-Proto": "https", - "CloudFront-Is-Desktop-Viewer": "true", - "CloudFront-Is-Mobile-Viewer": "false", - "CloudFront-Is-SmartTV-Viewer": "false", - "CloudFront-Is-Tablet-Viewer": "false", - "CloudFront-Viewer-Country": "US", - "Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", - "Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", - "X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", - "X-Forwarded-For": "192.168.100.1, 192.168.1.1", - "X-Forwarded-Port": "443", - "X-Forwarded-Proto": "https" - }, - "pathParameters": { - "proxy": "hello" - }, - "requestContext": { - "accountId": "123456789012", - "resourceId": "us4z18", - "stage": "test", - "requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", - "identity": { - "cognitoIdentityPoolId": "", - "accountId": "", - "cognitoIdentityId": "", - "caller": "", - "apiKey": "", - "sourceIp": "192.168.100.1", - "cognitoAuthenticationType": "", - "cognitoAuthenticationProvider": "", - "userArn": "", - "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", - "user": "" + "resource":"/", + "path":"/", + "httpMethod":"GET", + "headers":{ + "accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "accept-encoding":"gzip, deflate, br", + "accept-language":"en-US,en;q=0.9", + "cookie":"s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", + "Host":"70ixmpl4fl.execute-api.us-east-2.amazonaws.com", + "sec-fetch-dest":"document", + "sec-fetch-mode":"navigate", + "sec-fetch-site":"none", + "upgrade-insecure-requests":"1", + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", + "X-Amzn-Trace-Id":"Root=1-5e66d96f-7491f09xmpl79d18acf3d050", + "X-Forwarded-For":"52.255.255.12", + "X-Forwarded-Port":"443", + "X-Forwarded-Proto":"https" }, - "resourcePath": "/{proxy+}", - "httpMethod": "GET", - "apiId": "wt6mne2s9k" - }, - "resource": "/{proxy+}", - "httpMethod": "GET", - "queryStringParameters": { - "name": "me" - }, - "stageVariables": { - "stageVarName": "stageVarValue" - } -} + "multiValueHeaders":{ + "accept":[ + "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" + ], + "accept-encoding":[ + "gzip, deflate, br" + ], + "accept-language":[ + "en-US,en;q=0.9" + ], + "cookie":[ + "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;" + ], + "Host":[ + "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com" + ], + "sec-fetch-dest":[ + "document" + ], + "sec-fetch-mode":[ + "navigate" + ], + "sec-fetch-site":[ + "none" + ], + "upgrade-insecure-requests":[ + "1" + ], + "User-Agent":[ + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36" + ], + "X-Amzn-Trace-Id":[ + "Root=1-5e66d96f-7491f09xmpl79d18acf3d050" + ], + "X-Forwarded-For":[ + "52.255.255.12" + ], + "X-Forwarded-Port":[ + "443" + ], + "X-Forwarded-Proto":[ + "https" + ] + }, + "queryStringParameters":null, + "multiValueQueryStringParameters":null, + "pathParameters":null, + "stageVariables":null, + "requestContext":{ + "resourceId":"2gxmpl", + "resourcePath":"/", + "httpMethod":"GET", + "extendedRequestId":"JJbxmplHYosFVYQ=", + "requestTime":"10/Mar/2020:00:03:59 +0000", + "path":"/Prod/", + "accountId":"123456789012", + "protocol":"HTTP/1.1", + "stage":"Prod", + "domainPrefix":"70ixmpl4fl", + "requestTimeEpoch":1583798639428, + "requestId":"77375676-xmpl-4b79-853a-f982474efe18", + "identity":{ + "cognitoIdentityPoolId":null, + "accountId":null, + "cognitoIdentityId":null, + "caller":null, + "sourceIp":"52.255.255.12", + "principalOrgId":null, + "accessKey":null, + "cognitoAuthenticationType":null, + "cognitoAuthenticationProvider":null, + "userArn":null, + "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", + "user":null + }, + "domainName":"70ixmpl4fl.execute-api.us-east-2.amazonaws.com", + "apiId":"70ixmpl4fl" + }, + "body":null, + "isBase64Encoded":false + } diff --git a/tests/integration/input_events/dynamodb.json b/tests/integration/input_events/dynamodb.json new file mode 100644 index 00000000..b39228a5 --- /dev/null +++ b/tests/integration/input_events/dynamodb.json @@ -0,0 +1,93 @@ +{ + "Records": [ + { + "eventID": "c4ca4238a0b923820dcc509a6f75849b", + "eventName": "INSERT", + "eventVersion": "1.1", + "eventSource": "aws:dynamodb", + "awsRegion": "us-east-1", + "dynamodb": { + "Keys": { + "Id": { + "N": "101" + } + }, + "NewImage": { + "Message": { + "S": "New item!" + }, + "Id": { + "N": "101" + } + }, + "ApproximateCreationDateTime": 1428537600, + "SequenceNumber": "4421584500000000017450439091", + "SizeBytes": 26, + "StreamViewType": "NEW_AND_OLD_IMAGES" + }, + "eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899" + }, + { + "eventID": "c81e728d9d4c2f636f067f89cc14862c", + "eventName": "MODIFY", + "eventVersion": "1.1", + "eventSource": "aws:dynamodb", + "awsRegion": "us-east-1", + "dynamodb": { + "Keys": { + "Id": { + "N": "101" + } + }, + "NewImage": { + "Message": { + "S": "This item has changed" + }, + "Id": { + "N": "101" + } + }, + "OldImage": { + "Message": { + "S": "New item!" + }, + "Id": { + "N": "101" + } + }, + "ApproximateCreationDateTime": 1428537600, + "SequenceNumber": "4421584500000000017450439092", + "SizeBytes": 59, + "StreamViewType": "NEW_AND_OLD_IMAGES" + }, + "eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899" + }, + { + "eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", + "eventName": "REMOVE", + "eventVersion": "1.1", + "eventSource": "aws:dynamodb", + "awsRegion": "us-east-1", + "dynamodb": { + "Keys": { + "Id": { + "N": "101" + } + }, + "OldImage": { + "Message": { + "S": "This item has changed" + }, + "Id": { + "N": "101" + } + }, + "ApproximateCreationDateTime": 1428537600, + "SequenceNumber": "4421584500000000017450439093", + "SizeBytes": 38, + "StreamViewType": "NEW_AND_OLD_IMAGES" + }, + "eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899" + } + ] +} diff --git a/tests/integration/input_events/eventbridge-custom.json b/tests/integration/input_events/eventbridge-custom.json new file mode 100644 index 00000000..549bb96a --- /dev/null +++ b/tests/integration/input_events/eventbridge-custom.json @@ -0,0 +1,13 @@ +{ + "version": "0", + "id": "fd03f394-e769-eff5-08a8-53c228933591", + "detail-type": "testdetail", + "source": "eventbridge.custom.event.sender", + "account": "601427279990", + "time": "2021-11-04T01:37:45Z", + "region": "sa-east-1", + "resources": [], + "detail": { + "foo": "bar" + } +} diff --git a/tests/integration/input_events/http-api.json b/tests/integration/input_events/http-api.json new file mode 100644 index 00000000..fe1bbece --- /dev/null +++ b/tests/integration/input_events/http-api.json @@ -0,0 +1,35 @@ +{ + "version": "2.0", + "routeKey": "GET /httpapi/get", + "rawPath": "/httpapi/get", + "rawQueryString": "", + "headers": { + "accept": "*/*", + "content-length": "0", + "host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + "user-agent": "curl/7.64.1", + "x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", + "x-forwarded-for": "38.122.226.210", + "x-forwarded-port": "443", + "x-forwarded-proto": "https" + }, + "requestContext": { + "accountId": "601427279990", + "apiId": "x02yirxc7a", + "domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + "domainPrefix": "x02yirxc7a", + "http": { + "method": "GET", + "path": "/httpapi/get", + "protocol": "HTTP/1.1", + "sourceIp": "38.122.226.210", + "userAgent": "curl/7.64.1" + }, + "requestId": "FaHnXjKCGjQEJ7A=", + "routeKey": "GET /httpapi/get", + "stage": "$default", + "time": "09/Sep/2021:18:31:23 +0000", + "timeEpoch": 1631212283738 + }, + "isBase64Encoded": false +} diff --git a/tests/integration/input_events/kinesis.json b/tests/integration/input_events/kinesis.json new file mode 100644 index 00000000..2d7f8887 --- /dev/null +++ b/tests/integration/input_events/kinesis.json @@ -0,0 +1,20 @@ +{ + "Records": [ + { + "kinesis": { + "partitionKey": "partitionKey-03", + "kinesisSchemaVersion": "1.0", + "data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", + "sequenceNumber": "49545115243490985018280067714973144582180062593244200961", + "approximateArrivalTimestamp": 1428537600 + }, + "eventSource": "aws:kinesis", + "eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", + "invokeIdentityArn": "arn:aws:iam::EXAMPLE", + "eventVersion": "1.0", + "eventName": "aws:kinesis:record", + "eventSourceARN": "arn:aws:kinesis:EXAMPLE", + "awsRegion": "us-east-1" + } + ] +} diff --git a/tests/integration/input_events/s3.json b/tests/integration/input_events/s3.json new file mode 100644 index 00000000..3ad4466f --- /dev/null +++ b/tests/integration/input_events/s3.json @@ -0,0 +1,38 @@ +{ + "Records": [ + { + "eventVersion": "2.0", + "eventSource": "aws:s3", + "awsRegion": "us-east-1", + "eventTime": "1970-01-01T00:00:00.000Z", + "eventName": "ObjectCreated:Put", + "userIdentity": { + "principalId": "EXAMPLE" + }, + "requestParameters": { + "sourceIPAddress": "127.0.0.1" + }, + "responseElements": { + "x-amz-request-id": "EXAMPLE123456789", + "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH" + }, + "s3": { + "s3SchemaVersion": "1.0", + "configurationId": "testConfigRule", + "bucket": { + "name": "example-bucket", + "ownerIdentity": { + "principalId": "EXAMPLE" + }, + "arn": "arn:aws:s3:::example-bucket" + }, + "object": { + "key": "test/key", + "size": 1024, + "eTag": "0123456789abcdef0123456789abcdef", + "sequencer": "0A1B2C3D4E5F678901" + } + } + } + ] +} diff --git a/tests/integration/input_events/websocket.json b/tests/integration/input_events/websocket.json new file mode 100644 index 00000000..7ad3bafd --- /dev/null +++ b/tests/integration/input_events/websocket.json @@ -0,0 +1,22 @@ +{ + "requestContext": { + "routeKey": "$default", + "messageId": "Fc5S3coemjQCJlg=", + "eventType": "MESSAGE", + "extendedRequestId": "Fc5S3EvdGjQFtsQ=", + "requestTime": "10/Sep/2021:14:44:21 +0000", + "messageDirection": "IN", + "stage": "dev", + "connectedAt": 1631285060967, + "requestTimeEpoch": 1631285061365, + "identity": { + "sourceIp": "38.122.226.210" + }, + "requestId": "Fc5S3EvdGjQFtsQ=", + "domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + "connectionId": "Fc5SzcoYGjQCJlg=", + "apiId": "p62c47itsb" + }, + "body": "\"What's good in the hood?\"", + "isBase64Encoded": false +} diff --git a/tests/integration/serverless.yml b/tests/integration/serverless.yml index 9f10622d..06c9a7f4 100644 --- a/tests/integration/serverless.yml +++ b/tests/integration/serverless.yml @@ -16,6 +16,7 @@ provider: DD_INTEGRATION_TEST: true DD_TRACE_ENABLED: true DD_API_KEY: ${env:DD_API_KEY} + DD_TRACE_MANAGED_SERVICES: true DD_CAPTURE_LAMBDA_PAYLOAD: true lambdaHashingVersion: 20201221 timeout: 15 diff --git a/tests/integration/snapshots/logs/async-metrics_python36.log b/tests/integration/snapshots/logs/async-metrics_python36.log index 423dfe9c..66f05f7a 100644 --- a/tests/integration/snapshots/logs/async-metrics_python36.log +++ b/tests/integration/snapshots/logs/async-metrics_python36.log @@ -4,7 +4,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST @@ -13,7 +13,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST @@ -22,6 +22,60 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python36", "resource:integration-tests-python-XXXX-async-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python36", "functionname": "integration-tests-python-XXXX-async-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/async-metrics_python37.log b/tests/integration/snapshots/logs/async-metrics_python37.log index 80880511..f1255990 100644 --- a/tests/integration/snapshots/logs/async-metrics_python37.log +++ b/tests/integration/snapshots/logs/async-metrics_python37.log @@ -4,7 +4,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST @@ -13,7 +13,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST @@ -22,6 +22,60 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python37", "resource:integration-tests-python-XXXX-async-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python37", "functionname": "integration-tests-python-XXXX-async-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/async-metrics_python38.log b/tests/integration/snapshots/logs/async-metrics_python38.log index 2359182d..ce39b511 100644 --- a/tests/integration/snapshots/logs/async-metrics_python38.log +++ b/tests/integration/snapshots/logs/async-metrics_python38.log @@ -4,7 +4,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST @@ -13,7 +13,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST @@ -22,6 +22,60 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python38", "resource:integration-tests-python-XXXX-async-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python38", "functionname": "integration-tests-python-XXXX-async-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/async-metrics_python39.log b/tests/integration/snapshots/logs/async-metrics_python39.log index 9478cdce..e8d9a409 100644 --- a/tests/integration/snapshots/logs/async-metrics_python39.log +++ b/tests/integration/snapshots/logs/async-metrics_python39.log @@ -4,7 +4,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST @@ -13,7 +13,7 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST @@ -22,6 +22,60 @@ START RequestId: XXXX Version: $LATEST {"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-async-metrics_python39", "resource:integration-tests-python-XXXX-async-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "hello.dog", "v": 1, "e": XXXX, "t": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +{"m": "tests.integration.count", "v": 21, "e": XXXX, "t": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-async-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-async-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-async-metrics_python39", "functionname": "integration-tests-python-XXXX-async-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/sync-metrics_python36.log b/tests/integration/snapshots/logs/sync-metrics_python36.log index 6ce824ee..82d43071 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python36.log +++ b/tests/integration/snapshots/logs/sync-metrics_python36.log @@ -2,23 +2,80 @@ START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:true", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python36", "resource:integration-tests-python-XXXX-sync-metrics_python36", "cold_start:false", "memorysize:1024", "runtime:python3.6", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python36_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python36", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python36", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python36", "functionname": "integration-tests-python-XXXX-sync-metrics_python36", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python36_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/sync-metrics_python37.log b/tests/integration/snapshots/logs/sync-metrics_python37.log index 39906139..f5dbfccc 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python37.log +++ b/tests/integration/snapshots/logs/sync-metrics_python37.log @@ -2,23 +2,80 @@ START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:true", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python37", "resource:integration-tests-python-XXXX-sync-metrics_python37", "cold_start:false", "memorysize:1024", "runtime:python3.7", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python37_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python37", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python37", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python37", "functionname": "integration-tests-python-XXXX-sync-metrics_python37", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python37_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/sync-metrics_python38.log b/tests/integration/snapshots/logs/sync-metrics_python38.log index 83bce86e..84ce77a0 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python38.log +++ b/tests/integration/snapshots/logs/sync-metrics_python38.log @@ -2,23 +2,80 @@ START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:true", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python38", "resource:integration-tests-python-XXXX-sync-metrics_python38", "cold_start:false", "memorysize:1024", "runtime:python3.8", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python38_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python38", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python38", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python38", "functionname": "integration-tests-python-XXXX-sync-metrics_python38", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python38_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/sync-metrics_python39.log b/tests/integration/snapshots/logs/sync-metrics_python39.log index 4f186d3b..02339f32 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python39.log +++ b/tests/integration/snapshots/logs/sync-metrics_python39.log @@ -2,23 +2,80 @@ START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:true", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "resource": "GET /", "name": "aws.apigateway", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.rest", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", "apiid": "70ixmpl4fl", "apiname": "70ixmpl4fl", "stage": "Prod", "request_id": "XXXX", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/70ixmpl4fl/stages/Prod", "http.url": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "http.url_details.path": "/Prod/", "http.method": "GET", "function.request.resource": "/", "function.request.path": "/", "function.request.httpMethod": "GET", "function.request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.headers.accept-encoding": "gzip, deflate, br", "function.request.headers.accept-language": "en-US,en;q=0.9", "function.request.headers.cookie": "s_fid=7AAB6XMPLAFD9BBF-0643XMPL09956DE2; regStatus=pre-register", "function.request.headers.Host": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.headers.sec-fetch-dest": "document", "function.request.headers.sec-fetch-mode": "navigate", "function.request.headers.sec-fetch-site": "none", "function.request.headers.User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.headers.X-Amzn-Trace-Id": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.headers.X-Forwarded-For": "52.255.255.12", "function.request.headers.X-Forwarded-Proto": "https", "function.request.multiValueHeaders.accept.0": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "function.request.multiValueHeaders.accept-encoding.0": "gzip, deflate, br", "function.request.multiValueHeaders.accept-language.0": "en-US,en;q=0.9", "function.request.multiValueHeaders.cookie.0": "s_fid=7AABXMPL1AFD9BBF-0643XMPL09956DE2; regStatus=pre-register;", "function.request.multiValueHeaders.Host.0": "70ixmpl4fl.execute-api.ca-central-1.amazonaws.com", "function.request.multiValueHeaders.sec-fetch-dest.0": "document", "function.request.multiValueHeaders.sec-fetch-mode.0": "navigate", "function.request.multiValueHeaders.sec-fetch-site.0": "none", "function.request.multiValueHeaders.User-Agent.0": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.multiValueHeaders.X-Amzn-Trace-Id.0": "Root=1-5e66d96f-7491f09xmpl79d18acf3d050", "function.request.multiValueHeaders.X-Forwarded-For.0": "52.255.255.12", "function.request.multiValueHeaders.X-Forwarded-Proto.0": "https", "function.request.queryStringParameters": "None", "function.request.multiValueQueryStringParameters": "None", "function.request.pathParameters": "None", "function.request.stageVariables": "None", "function.request.requestContext.resourceId": "2gxmpl", "function.request.requestContext.resourcePath": "/", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.extendedRequestId": "JJbxmplHYosFVYQ=", "function.request.requestContext.requestTime": "10/Mar/2020:00:03:59 +0000", "function.request.requestContext.path": "/Prod/", "function.request.requestContext.protocol": "HTTP/1.1", "function.request.requestContext.stage": "Prod", "function.request.requestContext.domainPrefix": "70ixmpl4fl", "function.request.requestContext.requestId": "77375676-xmpl-4b79-853a-f982474efe18", "function.request.requestContext.identity.cognitoIdentityPoolId": "None", "function.request.requestContext.identity.accountId": "None", "function.request.requestContext.identity.cognitoIdentityId": "None", "function.request.requestContext.identity.caller": "None", "function.request.requestContext.identity.sourceIp": "52.255.255.12", "function.request.requestContext.identity.principalOrgId": "None", "function.request.requestContext.identity.accessKey": "None", "function.request.requestContext.identity.cognitoAuthenticationType": "None", "function.request.requestContext.identity.cognitoAuthenticationProvider": "None", "function.request.requestContext.identity.userArn": "None", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "function.request.requestContext.identity.user": "None", "function.request.requestContext.domainName": "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", "function.request.requestContext.apiId": "70ixmpl4fl", "function.request.body": "None", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "77375676-xmpl-4b79-853a-f982474efe18", "http.status_code": "200"}, "metrics": {"function.request.headers.upgrade-insecure-requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.multiValueHeaders.upgrade-insecure-requests.0": 1, "function.request.multiValueHeaders.X-Forwarded-Port.0": 443, "function.request.requestContext.accountId": 123456789012, "function.request.requestContext.requestTimeEpoch": 1583798639428, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "true", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/wt6mne2s9k/stages/test", "http.method": "GET", "function.request.path": "/test/hello", "function.request.headers.Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "function.request.headers.Accept-Encoding": "gzip, deflate, lzma, sdch, br", "function.request.headers.Accept-Language": "en-US,en;q=0.8", "function.request.headers.CloudFront-Forwarded-Proto": "https", "function.request.headers.CloudFront-Is-Desktop-Viewer": "True", "function.request.headers.CloudFront-Is-Mobile-Viewer": "False", "function.request.headers.CloudFront-Is-SmartTV-Viewer": "False", "function.request.headers.CloudFront-Is-Tablet-Viewer": "False", "function.request.headers.CloudFront-Viewer-Country": "US", "function.request.headers.Host": "wt6mne2s9k.execute-api.us-west-2.amazonaws.com", "function.request.headers.User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.headers.Via": "1.1 fb7cca60f0ecd82ce07790c9c5eef16c.cloudfront.net (CloudFront)", "function.request.headers.X-Amz-Cf-Id": "nBsWBOrSHMgnaROZJK1wGCZ9PcRcSpq_oSXZNQwQ10OTZL4cimZo3g==", "function.request.headers.X-Forwarded-For": "192.168.100.1, 192.168.1.1", "function.request.headers.X-Forwarded-Proto": "https", "function.request.pathParameters.proxy": "hello", "function.request.requestContext.resourceId": "us4z18", "function.request.requestContext.stage": "test", "function.request.requestContext.requestId": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "function.request.requestContext.identity.cognitoIdentityPoolId": "", "function.request.requestContext.identity.accountId": "", "function.request.requestContext.identity.cognitoIdentityId": "", "function.request.requestContext.identity.caller": "", "function.request.requestContext.identity.apiKey": "", "function.request.requestContext.identity.sourceIp": "192.168.100.1", "function.request.requestContext.identity.cognitoAuthenticationType": "", "function.request.requestContext.identity.cognitoAuthenticationProvider": "", "function.request.requestContext.identity.userArn": "", "function.request.requestContext.identity.userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 OPR/39.0.2256.48", "function.request.requestContext.identity.user": "", "function.request.requestContext.resourcePath": "/{proxy+}", "function.request.requestContext.httpMethod": "GET", "function.request.requestContext.apiId": "wt6mne2s9k", "function.request.resource": "/{proxy+}", "function.request.httpMethod": "GET", "function.request.queryStringParameters.name": "me", "function.request.stageVariables.stageVarName": "stageVarValue", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.headers.Upgrade-Insecure-Requests": 1, "function.request.headers.X-Forwarded-Port": 443, "function.request.requestContext.accountId": 123456789012, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "dynamodb", "resource": "ExampleTableWithStream", "name": "aws.dynamodb", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.dynamodb", "resource_names": "ExampleTableWithStream", "tablename": "ExampleTableWithStream", "event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "event_id": "c4ca4238a0b923820dcc509a6f75849b", "event_name": "INSERT", "event_version": "1.1", "stream_view_type": "NEW_AND_OLD_IMAGES", "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "dynamodb", "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.0.eventID": "c4ca4238a0b923820dcc509a6f75849b", "function.request.Records.0.eventName": "INSERT", "function.request.Records.0.eventSource": "aws:dynamodb", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.dynamodb.NewImage.Message.S": "New item!", "function.request.Records.0.dynamodb.SequenceNumber": "4421584500000000017450439091", "function.request.Records.0.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.0.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.1.eventID": "c81e728d9d4c2f636f067f89cc14862c", "function.request.Records.1.eventName": "MODIFY", "function.request.Records.1.eventSource": "aws:dynamodb", "function.request.Records.1.awsRegion": "us-east-1", "function.request.Records.1.dynamodb.NewImage.Message.S": "This item has changed", "function.request.Records.1.dynamodb.OldImage.Message.S": "New item!", "function.request.Records.1.dynamodb.SequenceNumber": "4421584500000000017450439092", "function.request.Records.1.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.1.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.request.Records.2.eventID": "eccbc87e4b5ce2fe28308fd9f2a7baf3", "function.request.Records.2.eventName": "REMOVE", "function.request.Records.2.eventSource": "aws:dynamodb", "function.request.Records.2.awsRegion": "us-east-1", "function.request.Records.2.dynamodb.OldImage.Message.S": "This item has changed", "function.request.Records.2.dynamodb.SequenceNumber": "4421584500000000017450439093", "function.request.Records.2.dynamodb.StreamViewType": "NEW_AND_OLD_IMAGES", "function.request.Records.2.eventSourceARN": "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 1.1, "function.request.Records.0.dynamodb.Keys.Id.N": 101, "function.request.Records.0.dynamodb.NewImage.Id.N": 101, "function.request.Records.0.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.0.dynamodb.SizeBytes": 26, "function.request.Records.1.eventVersion": 1.1, "function.request.Records.1.dynamodb.Keys.Id.N": 101, "function.request.Records.1.dynamodb.NewImage.Id.N": 101, "function.request.Records.1.dynamodb.OldImage.Id.N": 101, "function.request.Records.1.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.1.dynamodb.SizeBytes": 59, "function.request.Records.2.eventVersion": 1.1, "function.request.Records.2.dynamodb.Keys.Id.N": 101, "function.request.Records.2.dynamodb.OldImage.Id.N": 101, "function.request.Records.2.dynamodb.ApproximateCreationDateTime": 1428537600, "function.request.Records.2.dynamodb.SizeBytes": 38, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": XXXX, "function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB START RequestId: XXXX Version: $LATEST {"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "eventbridge", "resource": "eventbridge.custom.event.sender", "name": "aws.eventbridge", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.eventbridge", "resource_names": "eventbridge.custom.event.sender", "detail_type": "testdetail", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "eventbridge", "function.request.id": "fd03f394-e769-eff5-08a8-53c228933591", "function.request.detail-type": "testdetail", "function.request.source": "eventbridge.custom.event.sender", "function.request.time": "2021-11-04T01:37:45Z", "function.request.region": "sa-east-1", "function.request.detail.foo": "bar", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.version": 0, "function.request.account": 601427279990, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} -{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"system.pid": XXXX, "function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200, "_sampling_priority_v1": 1}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": XXXX, "duration": XXXX, "meta": {"_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "resource": "GET /httpapi/get", "name": "aws.httpapi", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.user_agent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "x02yirxc7a", "apiname": "x02yirxc7a", "stage": "$default", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/x02yirxc7a/stages/$default", "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "http.url_details.path": "/httpapi/get", "http.method": "GET", "function.request.routeKey": "GET /httpapi/get", "function.request.rawPath": "/httpapi/get", "function.request.rawQueryString": "", "function.request.headers.accept": "*/*", "function.request.headers.host": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.headers.user-agent": "curl/7.64.1", "function.request.headers.x-amzn-trace-id": "Root=1-613a52fb-4c43cfc95e0241c1471bfa05", "function.request.headers.x-forwarded-for": "38.122.226.210", "function.request.headers.x-forwarded-proto": "https", "function.request.requestContext.apiId": "x02yirxc7a", "function.request.requestContext.domainName": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.domainPrefix": "x02yirxc7a", "function.request.requestContext.http.method": "GET", "function.request.requestContext.http.path": "/httpapi/get", "function.request.requestContext.http.protocol": "HTTP/1.1", "function.request.requestContext.http.sourceIp": "38.122.226.210", "function.request.requestContext.http.userAgent": "curl/7.64.1", "function.request.requestContext.requestId": "FaHnXjKCGjQEJ7A=", "function.request.requestContext.routeKey": "GET /httpapi/get", "function.request.requestContext.stage": "$default", "function.request.requestContext.time": "09/Sep/2021:18:31:23 +0000", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "FaHnXjKCGjQEJ7A=", "http.status_code": "200"}, "metrics": {"function.request.version": 2.0, "function.request.headers.content-length": 0, "function.request.headers.x-forwarded-port": 443, "function.request.requestContext.accountId": 601427279990, "function.request.requestContext.timeEpoch": 1631212283738, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "kinesis", "resource": "EXAMPLE", "name": "aws.kinesis", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.kinesis", "resource_names": "EXAMPLE", "streamname": "EXAMPLE", "shardid": "shardId-000000000000", "event_source_arn": "arn:aws:kinesis:EXAMPLE", "event_id": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "event_name": "aws:kinesis:record", "event_version": "1.0", "partition_key": "partitionKey-03", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "kinesis", "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.kinesis.partitionKey": "partitionKey-03", "function.request.Records.0.kinesis.data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "function.request.Records.0.kinesis.sequenceNumber": "49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.eventSource": "aws:kinesis", "function.request.Records.0.eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961", "function.request.Records.0.invokeIdentityArn": "arn:aws:iam::EXAMPLE", "function.request.Records.0.eventName": "aws:kinesis:record", "function.request.Records.0.eventSourceARN": "arn:aws:kinesis:EXAMPLE", "function.request.Records.0.awsRegion": "us-east-1", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.kinesis.kinesisSchemaVersion": 1.0, "function.request.Records.0.kinesis.approximateArrivalTimestamp": 1428537600, "function.request.Records.0.eventVersion": 1.0, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "s3", "resource": "example-bucket", "name": "aws.s3", "error": 0, "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.s3", "resource_names": "example-bucket", "event_name": "ObjectCreated:Put", "bucketname": "example-bucket", "bucket_arn": "arn:aws:s3:::example-bucket", "object_key": "test/key", "object_size": "1024", "object_etag": "0123456789abcdef0123456789abcdef", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "s3", "function_trigger.event_source_arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.eventSource": "aws:s3", "function.request.Records.0.awsRegion": "us-east-1", "function.request.Records.0.eventTime": "1970-01-01T00:00:00.000Z", "function.request.Records.0.eventName": "ObjectCreated:Put", "function.request.Records.0.userIdentity.principalId": "EXAMPLE", "function.request.Records.0.requestParameters.sourceIPAddress": "127.0.0.1", "function.request.Records.0.responseElements.x-amz-request-id": "EXAMPLE123456789", "function.request.Records.0.responseElements.x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH", "function.request.Records.0.s3.configurationId": "testConfigRule", "function.request.Records.0.s3.bucket.name": "example-bucket", "function.request.Records.0.s3.bucket.ownerIdentity.principalId": "EXAMPLE", "function.request.Records.0.s3.bucket.arn": "arn:aws:s3:::example-bucket", "function.request.Records.0.s3.object.key": "test/key", "function.request.Records.0.s3.object.eTag": "0123456789abcdef0123456789abcdef", "function.request.Records.0.s3.object.sequencer": "0A1B2C3D4E5F678901", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None"}, "metrics": {"function.request.Records.0.eventVersion": 2.0, "function.request.Records.0.s3.s3SchemaVersion": 1.0, "function.request.Records.0.s3.object.size": 1024, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sns", "resource": "sns-lambda", "name": "aws.sns", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sns", "resource_names": "sns-lambda", "topicname": "sns-lambda", "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "type": "Notification", "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sns", "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.EventSubscriptionArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.EventSource": "aws:sns", "function.request.Records.0.Sns.Timestamp": "2019-01-02T12:45:07.000Z", "function.request.Records.0.Sns.Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "function.request.Records.0.Sns.SigningCertUrl": "https://sns.us-east-2.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "function.request.Records.0.Sns.MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "function.request.Records.0.Sns.Message": "Hello from SNS!", "function.request.Records.0.Sns.MessageAttributes.Test.Type": "String", "function.request.Records.0.Sns.MessageAttributes.Test.Value": "TestString", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Type": "Binary", "function.request.Records.0.Sns.MessageAttributes.TestBinary.Value": "TestBinary", "function.request.Records.0.Sns.Type": "Notification", "function.request.Records.0.Sns.UnsubscribeUrl": "https://sns.us-east-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-2:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "function.request.Records.0.Sns.TopicArn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", "function.request.Records.0.Sns.Subject": "TestInvoke", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "95df01b4-ee98-5cb9-9903-4c221d41eb5e"}, "metrics": {"function.request.Records.0.EventVersion": 1.0, "function.request.Records.0.Sns.SignatureVersion": 1, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "sqs", "resource": "my-queue", "name": "aws.sqs", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.sqs", "resource_names": "my-queue", "queuename": "my-queue", "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self"}, "metrics": {"system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "sqs", "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.messageId": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.request.Records.0.receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", "function.request.Records.0.body": "Test message.", "function.request.Records.0.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.0.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.0.eventSource": "aws:sqs", "function.request.Records.0.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.0.awsRegion": "us-east-2", "function.request.Records.1.messageId": "2e1424d4-f796-459a-8184-9c92662be6da", "function.request.Records.1.receiptHandle": "AQEBzWwaftRI0KuVm4tP+/7q1rGgNqicHq...", "function.request.Records.1.body": "Test message.", "function.request.Records.1.attributes.SenderId": "AIDAIENQZJOLO23YVJ4VO", "function.request.Records.1.md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3", "function.request.Records.1.eventSource": "aws:sqs", "function.request.Records.1.eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue", "function.request.Records.1.awsRegion": "us-east-2", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "None", "function.response.body.event_record_ids.0": "059f36b4-87a3-44ab-83d2-661975830a7d", "function.response.body.event_record_ids.1": "2e1424d4-f796-459a-8184-9c92662be6da"}, "metrics": {"function.request.Records.0.attributes.ApproximateReceiveCount": 1, "function.request.Records.0.attributes.SentTimestamp": 1545082649183, "function.request.Records.0.attributes.ApproximateFirstReceiveTimestamp": 1545082649185, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-trace-id": 666, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-parent-id": 777, "function.request.Records.0.messageAttributes._datadog.stringValue.x-datadog-sampling-priority": 1, "function.request.Records.1.attributes.ApproximateReceiveCount": 1, "function.request.Records.1.attributes.SentTimestamp": 1545082650636, "function.request.Records.1.attributes.ApproximateFirstReceiveTimestamp": 1545082650649, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} +END RequestId: XXXX +REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB +START RequestId: XXXX Version: $LATEST +{"m": "aws.lambda.enhanced.invocations", "v": 1, "e": XXXX, "t": ["region:sa-east-1", "account_id:XXXX", "functionname:integration-tests-python-XXXX-sync-metrics_python39", "resource:integration-tests-python-XXXX-sync-metrics_python39", "cold_start:false", "memorysize:1024", "runtime:python3.9", "datadog_lambda:vXX", "dd_lambda_layer:datadog-python39_X.X.X"]} +HTTP GET https://httpstat.us/200/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +HTTP GET https://httpstat.us/400/ Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "User-Agent:python-requests/X.X.X", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "resource": "$default", "name": "aws.apigateway.websocket", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "operation_name": "aws.apigateway.websocket", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", "endpoint": "$default", "resource_names": "$default", "apiid": "p62c47itsb", "apiname": "p62c47itsb", "stage": "dev", "request_id": "Fc5S3EvdGjQFtsQ=", "connection_id": "Fc5SzcoYGjQCJlg=", "event_type": "MESSAGE", "message_direction": "IN", "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_sampling_priority_v1": 1}, "type": "web"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "integration-tests-python-XXXX-sync-metrics_python39", "name": "aws.lambda", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "cold_start": "false", "function_arn": "arn:aws:lambda:sa-east-1:601427279990:function:integration-tests-python-XXXX-sync-metrics_python39", "function_version": "$LATEST", "request_id": "XXXX", "resource_names": "integration-tests-python-XXXX-sync-metrics_python39", "functionname": "integration-tests-python-XXXX-sync-metrics_python39", "datadog_lambda": "X.X.X", "dd_trace": "X.X.X", "span.name": "aws.lambda", "function_trigger.event_source": "api-gateway", "function_trigger.event_source_arn": "arn:aws:apigateway:sa-east-1::/restapis/p62c47itsb/stages/dev", "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.routeKey": "$default", "function.request.requestContext.messageId": "Fc5S3coemjQCJlg=", "function.request.requestContext.eventType": "MESSAGE", "function.request.requestContext.extendedRequestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.requestTime": "10/Sep/2021:14:44:21 +0000", "function.request.requestContext.messageDirection": "IN", "function.request.requestContext.stage": "dev", "function.request.requestContext.identity.sourceIp": "38.122.226.210", "function.request.requestContext.requestId": "Fc5S3EvdGjQFtsQ=", "function.request.requestContext.domainName": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", "function.request.requestContext.connectionId": "Fc5SzcoYGjQCJlg=", "function.request.requestContext.apiId": "p62c47itsb", "function.request.body": "What's good in the hood?", "function.request.isBase64Encoded": "False", "function.response.body.message": "hello, dog!", "function.response.body.request_id": "Fc5S3EvdGjQFtsQ=", "http.status_code": "200"}, "metrics": {"function.request.requestContext.connectedAt": 1631285060967, "function.request.requestContext.requestTimeEpoch": 1631285061365, "function.response.statusCode": 200}, "type": "serverless"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/200/", "http.status_code": "200"}, "metrics": {"_dd.measured": 1}, "type": "http"}, {"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"_dd.origin": "lambda", "http.method": "GET", "http.url": "https://httpstat.us/400/", "http.status_code": "400"}, "metrics": {"_dd.measured": 1}, "type": "http"}]]} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points?api_key=XXXX Headers: ["Accept-Encoding:gzip, deflate", "Accept:*/*", "Connection:keep-alive", "Content-Encoding:deflate", "Content-Length:XXXX", "Content-Type:application/json", "User-Agent:datadogpy/0.41.0 (python XX; os linux; arch x86_64)", "x-datadog-parent-id:XXXX", "x-datadog-sampling-priority:1", "x-datadog-trace-id:XXXX"] Data: {"series": [{"metric": "hello.dog", "points": [[XXXX, [1.0]]], "type": "distribution", "host": null, "device": null, "tags": ["team:serverless", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}, {"metric": "tests.integration.count", "points": [[XXXX, [21.0]]], "type": "distribution", "host": null, "device": null, "tags": ["test:integration", "role:hello", "dd_lambda_layer:datadog-python39_X.X.X"], "interval": 10}]} +{"traces": [[{"trace_id": "XXXX", "parent_id": "XXXX", "span_id": "XXXX", "service": "aws.lambda", "resource": "requests.request", "name": "requests.request", "error": 0, "start": "XXXX", "duration": "XXXX", "meta": {"runtime-id": "XXXX", "_dd.origin": "lambda", "http.method": "POST", "http.url": "https://api.datadoghq.com/api/v1/distribution_points", "http.status_code": "202"}, "metrics": {"_dd.agent_psr": 1.0, "system.pid": "XXXX", "_dd.measured": 1, "_sampling_priority_v1": 1}, "type": "http"}]]} END RequestId: XXXX REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_api-gateway-get.json b/tests/integration/snapshots/return_values/async-metrics_python36_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/async-metrics_python36_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/async-metrics_python36_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_dynamodb.json b/tests/integration/snapshots/return_values/async-metrics_python36_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_eventbridge-custom.json b/tests/integration/snapshots/return_values/async-metrics_python36_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_http-api.json b/tests/integration/snapshots/return_values/async-metrics_python36_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_kinesis.json b/tests/integration/snapshots/return_values/async-metrics_python36_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_s3.json b/tests/integration/snapshots/return_values/async-metrics_python36_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python36_websocket.json b/tests/integration/snapshots/return_values/async-metrics_python36_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python36_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_api-gateway-get.json b/tests/integration/snapshots/return_values/async-metrics_python37_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/async-metrics_python37_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/async-metrics_python37_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_dynamodb.json b/tests/integration/snapshots/return_values/async-metrics_python37_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_eventbridge-custom.json b/tests/integration/snapshots/return_values/async-metrics_python37_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_http-api.json b/tests/integration/snapshots/return_values/async-metrics_python37_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_kinesis.json b/tests/integration/snapshots/return_values/async-metrics_python37_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_s3.json b/tests/integration/snapshots/return_values/async-metrics_python37_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python37_websocket.json b/tests/integration/snapshots/return_values/async-metrics_python37_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python37_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_api-gateway-get.json b/tests/integration/snapshots/return_values/async-metrics_python38_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/async-metrics_python38_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/async-metrics_python38_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_dynamodb.json b/tests/integration/snapshots/return_values/async-metrics_python38_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_eventbridge-custom.json b/tests/integration/snapshots/return_values/async-metrics_python38_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_http-api.json b/tests/integration/snapshots/return_values/async-metrics_python38_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_kinesis.json b/tests/integration/snapshots/return_values/async-metrics_python38_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_s3.json b/tests/integration/snapshots/return_values/async-metrics_python38_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python38_websocket.json b/tests/integration/snapshots/return_values/async-metrics_python38_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python38_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_api-gateway-get.json b/tests/integration/snapshots/return_values/async-metrics_python39_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/async-metrics_python39_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/async-metrics_python39_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_dynamodb.json b/tests/integration/snapshots/return_values/async-metrics_python39_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_eventbridge-custom.json b/tests/integration/snapshots/return_values/async-metrics_python39_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_http-api.json b/tests/integration/snapshots/return_values/async-metrics_python39_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_kinesis.json b/tests/integration/snapshots/return_values/async-metrics_python39_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_s3.json b/tests/integration/snapshots/return_values/async-metrics_python39_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/async-metrics_python39_websocket.json b/tests/integration/snapshots/return_values/async-metrics_python39_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/async-metrics_python39_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_api-gateway-get.json b/tests/integration/snapshots/return_values/sync-metrics_python36_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/sync-metrics_python36_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_dynamodb.json b/tests/integration/snapshots/return_values/sync-metrics_python36_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_eventbridge-custom.json b/tests/integration/snapshots/return_values/sync-metrics_python36_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_http-api.json b/tests/integration/snapshots/return_values/sync-metrics_python36_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_kinesis.json b/tests/integration/snapshots/return_values/sync-metrics_python36_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_s3.json b/tests/integration/snapshots/return_values/sync-metrics_python36_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python36_websocket.json b/tests/integration/snapshots/return_values/sync-metrics_python36_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python36_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_api-gateway-get.json b/tests/integration/snapshots/return_values/sync-metrics_python37_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/sync-metrics_python37_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_dynamodb.json b/tests/integration/snapshots/return_values/sync-metrics_python37_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_eventbridge-custom.json b/tests/integration/snapshots/return_values/sync-metrics_python37_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_http-api.json b/tests/integration/snapshots/return_values/sync-metrics_python37_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_kinesis.json b/tests/integration/snapshots/return_values/sync-metrics_python37_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_s3.json b/tests/integration/snapshots/return_values/sync-metrics_python37_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python37_websocket.json b/tests/integration/snapshots/return_values/sync-metrics_python37_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python37_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_api-gateway-get.json b/tests/integration/snapshots/return_values/sync-metrics_python38_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/sync-metrics_python38_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_dynamodb.json b/tests/integration/snapshots/return_values/sync-metrics_python38_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_eventbridge-custom.json b/tests/integration/snapshots/return_values/sync-metrics_python38_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_http-api.json b/tests/integration/snapshots/return_values/sync-metrics_python38_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_kinesis.json b/tests/integration/snapshots/return_values/sync-metrics_python38_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_s3.json b/tests/integration/snapshots/return_values/sync-metrics_python38_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python38_websocket.json b/tests/integration/snapshots/return_values/sync-metrics_python38_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python38_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_api-gateway-get.json b/tests/integration/snapshots/return_values/sync-metrics_python39_api-gateway-get.json index 22038093..64b72447 100644 --- a/tests/integration/snapshots/return_values/sync-metrics_python39_api-gateway-get.json +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_api-gateway-get.json @@ -2,7 +2,7 @@ "statusCode": 200, "body": { "message": "hello, dog!", - "request_id": "41b45ea3-70b5-11e6-b7bd-69b5aaebc7d9", + "request_id": "77375676-xmpl-4b79-853a-f982474efe18", "event_record_ids": [] } } diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_dynamodb.json b/tests/integration/snapshots/return_values/sync-metrics_python39_dynamodb.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_dynamodb.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_eventbridge-custom.json b/tests/integration/snapshots/return_values/sync-metrics_python39_eventbridge-custom.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_eventbridge-custom.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_http-api.json b/tests/integration/snapshots/return_values/sync-metrics_python39_http-api.json new file mode 100644 index 00000000..d279e5e2 --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_http-api.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "FaHnXjKCGjQEJ7A=", + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_kinesis.json b/tests/integration/snapshots/return_values/sync-metrics_python39_kinesis.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_kinesis.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_s3.json b/tests/integration/snapshots/return_values/sync-metrics_python39_s3.json new file mode 100644 index 00000000..1ad668ec --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_s3.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": null, + "event_record_ids": [] + } +} diff --git a/tests/integration/snapshots/return_values/sync-metrics_python39_websocket.json b/tests/integration/snapshots/return_values/sync-metrics_python39_websocket.json new file mode 100644 index 00000000..d888139d --- /dev/null +++ b/tests/integration/snapshots/return_values/sync-metrics_python39_websocket.json @@ -0,0 +1,8 @@ +{ + "statusCode": 200, + "body": { + "message": "hello, dog!", + "request_id": "Fc5S3EvdGjQFtsQ=", + "event_record_ids": [] + } +} diff --git a/tests/test_tracing.py b/tests/test_tracing.py index cf2e9f96..4542b99c 100644 --- a/tests/test_tracing.py +++ b/tests/test_tracing.py @@ -7,8 +7,13 @@ from ddtrace.helpers import get_correlation_ids from ddtrace.context import Context -from datadog_lambda.constants import SamplingPriority, TraceHeader, XraySubsegment +from datadog_lambda.constants import ( + SamplingPriority, + TraceHeader, + XraySubsegment, +) from datadog_lambda.tracing import ( + create_inferred_span, extract_dd_trace_context, create_dd_dummy_metadata_subsegment, create_function_execution_span, @@ -18,6 +23,8 @@ _convert_xray_trace_id, _convert_xray_entity_id, _convert_xray_sampling, + InferredSpanInfo, + extract_context_from_eventbridge_event, ) function_arn = "arn:aws:lambda:us-west-1:123457598159:function:python-layer-test" @@ -28,6 +35,8 @@ fake_xray_header_value_parent_decimal = "10713633173203262661" fake_xray_header_value_root_decimal = "3995693151288333088" +event_samples = "tests/event_samples/" + class ClientContext(object): def __init__(self, custom=None): @@ -542,3 +551,557 @@ def test_mixed_parent_context_when_merging(self): ) self.mock_activate.assert_called() self.mock_activate.assert_has_calls([call(expected_context)]) + + +class TestInferredSpans(unittest.TestCase): + def test_create_inferred_span_from_api_gateway_event(self): + event_sample_source = "api-gateway" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.rest") + self.assertEqual( + span.service, + "70ixmpl4fl.execute-api.us-east-2.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "70ixmpl4fl.execute-api.us-east-2.amazonaws.com/path/to/resource", + ) + self.assertEqual(span.get_tag("endpoint"), "/path/to/resource") + self.assertEqual(span.get_tag("http.method"), "POST") + self.assertEqual( + span.get_tag("resource_names"), + "POST /path/to/resource", + ) + self.assertEqual( + span.get_tag("request_id"), "c6af9ac6-7b61-11e6-9a41-93e8deadbeef" + ) + self.assertEqual(span.get_tag("apiid"), "1234567890") + self.assertEqual(span.get_tag("apiname"), "1234567890") + self.assertEqual(span.get_tag("stage"), "prod") + self.assertEqual(span.start, 1428582896.0) + self.assertEqual(span.span_type, "http") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_api_gateway_non_proxy_event_async(self): + event_sample_source = "api-gateway-non-proxy-async" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.rest") + self.assertEqual( + span.service, + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com/http/get", + ) + self.assertEqual(span.get_tag("endpoint"), "/http/get") + self.assertEqual(span.get_tag("http.method"), "GET") + self.assertEqual( + span.get_tag("resource_names"), + "GET /http/get", + ) + self.assertEqual( + span.get_tag("request_id"), "7bf3b161-f698-432c-a639-6fef8b445137" + ) + self.assertEqual(span.get_tag("apiid"), "lgxbo6a518") + self.assertEqual(span.get_tag("apiname"), "lgxbo6a518") + self.assertEqual(span.get_tag("stage"), "dev") + self.assertEqual(span.start, 1631210915.2509997) + self.assertEqual(span.span_type, "http") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_api_gateway_non_proxy_event_sync(self): + event_sample_source = "api-gateway-non-proxy" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.rest") + self.assertEqual( + span.service, + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "lgxbo6a518.execute-api.sa-east-1.amazonaws.com/http/get", + ) + self.assertEqual(span.get_tag("endpoint"), "/http/get") + self.assertEqual(span.get_tag("http.method"), "GET") + self.assertEqual( + span.get_tag("resource_names"), + "GET /http/get", + ) + self.assertEqual( + span.get_tag("request_id"), "7bf3b161-f698-432c-a639-6fef8b445137" + ) + self.assertEqual(span.get_tag("apiid"), "lgxbo6a518") + self.assertEqual(span.get_tag("apiname"), "lgxbo6a518") + self.assertEqual(span.get_tag("stage"), "dev") + self.assertEqual(span.start, 1631210915.2509997) + self.assertEqual(span.span_type, "http") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_http_api_event(self): + event_sample_source = "http-api" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.httpapi") + self.assertEqual( + span.service, + "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "x02yirxc7a.execute-api.sa-east-1.amazonaws.com/httpapi/get", + ) + self.assertEqual(span.get_tag("endpoint"), "/httpapi/get") + self.assertEqual(span.get_tag("http.method"), "GET") + self.assertEqual( + span.get_tag("resource_names"), + "GET /httpapi/get", + ) + self.assertEqual(span.get_tag("request_id"), "123") + self.assertEqual(span.get_tag("apiid"), "x02yirxc7a") + self.assertEqual(span.get_tag("apiname"), "x02yirxc7a") + self.assertEqual(span.get_tag("stage"), "$default") + self.assertEqual(span.get_tag("http.protocol"), "HTTP/1.1") + self.assertEqual(span.get_tag("http.source_ip"), "38.122.226.210") + self.assertEqual(span.get_tag("http.user_agent"), "curl/7.64.1") + self.assertEqual(span.start, 1631212283.738) + self.assertEqual(span.span_type, "http") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_api_gateway_websocket_default_event(self): + event_sample_source = "api-gateway-websocket-default" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.websocket") + self.assertEqual( + span.service, + "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "p62c47itsb.execute-api.sa-east-1.amazonaws.com$default", + ) + self.assertEqual(span.get_tag("endpoint"), "$default") + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "$default", + ) + self.assertEqual(span.get_tag("request_id"), "Fc5S3EvdGjQFtsQ=") + self.assertEqual(span.get_tag("apiid"), "p62c47itsb") + self.assertEqual(span.get_tag("apiname"), "p62c47itsb") + self.assertEqual(span.get_tag("stage"), "dev") + self.assertEqual(span.get_tag("connection_id"), "Fc5SzcoYGjQCJlg=") + self.assertEqual(span.get_tag("event_type"), "MESSAGE") + self.assertEqual(span.get_tag("message_direction"), "IN") + self.assertEqual(span.start, 1631285061.365) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_api_gateway_websocket_connect_event(self): + event_sample_source = "api-gateway-websocket-connect" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.websocket") + self.assertEqual( + span.service, + "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "p62c47itsb.execute-api.sa-east-1.amazonaws.com$connect", + ) + self.assertEqual(span.get_tag("endpoint"), "$connect") + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "$connect", + ) + self.assertEqual(span.get_tag("request_id"), "Fc2tgH1RmjQFnOg=") + self.assertEqual(span.get_tag("apiid"), "p62c47itsb") + self.assertEqual(span.get_tag("apiname"), "p62c47itsb") + self.assertEqual(span.get_tag("stage"), "dev") + self.assertEqual(span.get_tag("connection_id"), "Fc2tgfl3mjQCJfA=") + self.assertEqual(span.get_tag("event_type"), "CONNECT") + self.assertEqual(span.get_tag("message_direction"), "IN") + self.assertEqual(span.start, 1631284003.071) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_api_gateway_websocket_disconnect_event(self): + event_sample_source = "api-gateway-websocket-disconnect" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.apigateway.websocket") + self.assertEqual( + span.service, + "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + ) + self.assertEqual( + span.get_tag("http.url"), + "p62c47itsb.execute-api.sa-east-1.amazonaws.com$disconnect", + ) + self.assertEqual(span.get_tag("endpoint"), "$disconnect") + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "$disconnect", + ) + self.assertEqual(span.get_tag("request_id"), "Fc2ydE4LmjQFhdg=") + self.assertEqual(span.get_tag("apiid"), "p62c47itsb") + self.assertEqual(span.get_tag("apiname"), "p62c47itsb") + self.assertEqual(span.get_tag("stage"), "dev") + self.assertEqual(span.get_tag("connection_id"), "Fc2tgfl3mjQCJfA=") + self.assertEqual(span.get_tag("event_type"), "DISCONNECT") + self.assertEqual(span.get_tag("message_direction"), "IN") + self.assertEqual(span.start, 1631284034.737) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "sync") + + def test_create_inferred_span_from_sqs_event(self): + event_sample_source = "sqs" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.sqs") + self.assertEqual( + span.service, + "sqs", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "InferredSpansQueueNode", + ) + self.assertEqual(span.get_tag("request_id"), None) + self.assertEqual(span.get_tag("queuename"), "InferredSpansQueueNode") + self.assertEqual( + span.get_tag("event_source_arn"), + "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", + ) + self.assertEqual( + span.get_tag("sender_id"), + "AROAYYB64AB3LSVUYFP5T:harv-inferred-spans-dev-initSender", + ) + self.assertEqual(span.start, 1634662094.538) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_sns_event(self): + event_sample_source = "sns" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.sns") + self.assertEqual( + span.service, + "sns", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "serverlessTracingTopicPy", + ) + self.assertEqual(span.get_tag("topicname"), "serverlessTracingTopicPy") + self.assertEqual( + span.get_tag("topic_arn"), + "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", + ) + self.assertEqual( + span.get_tag("message_id"), "87056a47-f506-5d77-908b-303605d3b197" + ) + self.assertEqual(span.get_tag("type"), "Notification") + self.assertEqual(span.get_tag("subject"), None) + self.assertEqual(span.start, 1643638421.637) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_kinesis_event(self): + event_sample_source = "kinesis" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.kinesis") + self.assertEqual( + span.service, + "kinesis", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "stream/kinesisStream", + ) + self.assertEqual(span.get_tag("request_id"), None) + self.assertEqual(span.get_tag("streamname"), "stream/kinesisStream") + self.assertEqual(span.get_tag("shardid"), "shardId-000000000002") + self.assertEqual( + span.get_tag("event_source_arn"), + "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream", + ) + self.assertEqual( + span.get_tag("event_id"), + "shardId-000000000002:49624230154685806402418173680709770494154422022871973922", + ) + self.assertEqual(span.get_tag("event_name"), "aws:kinesis:record") + self.assertEqual(span.get_tag("event_version"), "1.0") + self.assertEqual(span.get_tag("partition_key"), "partitionkey") + self.assertEqual(span.start, 1643638425.163) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_dynamodb_event(self): + event_sample_source = "dynamodb" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.dynamodb") + self.assertEqual( + span.service, + "dynamodb", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "ExampleTableWithStream", + ) + self.assertEqual(span.get_tag("request_id"), None) + self.assertEqual(span.get_tag("tablename"), "ExampleTableWithStream") + self.assertEqual( + span.get_tag("event_source_arn"), + "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", + ) + self.assertEqual(span.get_tag("event_id"), "c4ca4238a0b923820dcc509a6f75849b") + self.assertEqual(span.get_tag("event_name"), "INSERT") + self.assertEqual(span.get_tag("event_version"), "1.1") + self.assertEqual(span.get_tag("stream_view_type"), "NEW_AND_OLD_IMAGES") + self.assertEqual(span.get_tag("size_bytes"), "26") + self.assertEqual(span.start, 1428537600.0) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_s3_event(self): + event_sample_source = "s3" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.s3") + self.assertEqual( + span.service, + "s3", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "example-bucket", + ) + self.assertEqual(span.get_tag("request_id"), None) + self.assertEqual(span.get_tag("event_name"), "ObjectCreated:Put") + self.assertEqual(span.get_tag("bucketname"), "example-bucket") + self.assertEqual(span.get_tag("bucket_arn"), "arn:aws:s3:::example-bucket") + self.assertEqual(span.get_tag("object_key"), "test/key") + self.assertEqual(span.get_tag("object_size"), "1024") + self.assertEqual( + span.get_tag("object_etag"), "0123456789abcdef0123456789abcdef" + ) + self.assertEqual(span.start, 0.0) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_create_inferred_span_from_eventbridge_event(self): + event_sample_source = "eventbridge-custom" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + ctx.aws_request_id = "123" + span = create_inferred_span(event, ctx) + self.assertEqual(span.get_tag("operation_name"), "aws.eventbridge") + self.assertEqual( + span.service, + "eventbridge", + ) + self.assertEqual( + span.get_tag("http.url"), + None, + ) + self.assertEqual(span.get_tag("endpoint"), None) + self.assertEqual(span.get_tag("http.method"), None) + self.assertEqual( + span.get_tag("resource_names"), + "eventbridge.custom.event.sender", + ) + self.assertEqual(span.get_tag("request_id"), None) + self.assertEqual(span.start, 1635989865.0) + self.assertEqual(span.span_type, "web") + self.assertEqual(span.get_tag(InferredSpanInfo.TAG_SOURCE), "self") + self.assertEqual(span.get_tag(InferredSpanInfo.SYNCHRONICITY), "async") + + def test_extract_context_from_eventbridge_event(self): + event_sample_source = "eventbridge-custom" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + trace, parent, sampling = extract_context_from_eventbridge_event(event, ctx) + self.assertEqual(trace, "12345") + self.assertEqual(parent, "67890"), + self.assertEqual(sampling, "2") + + def test_extract_dd_trace_context_for_eventbridge(self): + event_sample_source = "eventbridge-custom" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "12345") + self.assertEqual(context["parent-id"], "67890") + + def test_extract_context_from_sqs_event(self): + event_sample_source = "sqs" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "2684756524522091840") + self.assertEqual(context["parent-id"], "7431398482019833808") + self.assertEqual(context["sampling-priority"], "1") + + def test_extract_context_from_sqs_batch_event(self): + event_sample_source = "sqs-batch" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "2684756524522091840") + self.assertEqual(context["parent-id"], "7431398482019833808") + self.assertEqual(context["sampling-priority"], "1") + + def test_extract_context_from_sns_event(self): + event_sample_source = "sns" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "4948377316357291421") + self.assertEqual(context["parent-id"], "6746998015037429512") + self.assertEqual(context["sampling-priority"], "1") + + def test_extract_context_from_sns_batch_event(self): + event_sample_source = "sns-batch" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "4948377316357291421") + self.assertEqual(context["parent-id"], "6746998015037429512") + self.assertEqual(context["sampling-priority"], "1") + + def test_extract_context_from_kinesis_event(self): + event_sample_source = "kinesis" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "4948377316357291421") + self.assertEqual(context["parent-id"], "2876253380018681026") + self.assertEqual(context["sampling-priority"], "1") + + def test_extract_context_from_kinesis_batch_event(self): + event_sample_source = "kinesis-batch" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + context, source = extract_dd_trace_context(event, ctx) + self.assertEqual(context["trace-id"], "4948377316357291421") + self.assertEqual(context["parent-id"], "2876253380018681026") + self.assertEqual(context["sampling-priority"], "1") diff --git a/tests/test_trigger.py b/tests/test_trigger.py index 01a98caf..36837845 100644 --- a/tests/test_trigger.py +++ b/tests/test_trigger.py @@ -4,6 +4,7 @@ from unittest.mock import MagicMock from datadog_lambda.trigger import ( + EventSubtypes, parse_event_source, get_event_source_arn, extract_trigger_tags, @@ -29,12 +30,87 @@ def test_event_source_api_gateway(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:apigateway:us-west-1::/restapis/1234567890/stages/prod", ) + def test_event_source_api_gateway_non_proxy(self): + event_sample_source = "api-gateway-non-proxy" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + event_source = parse_event_source(event) + event_source_arn = get_event_source_arn(event_source, event, ctx) + self.assertEqual(event_source.to_string(), "api-gateway") + self.assertEqual(event_source.subtype, EventSubtypes.API_GATEWAY) + self.assertEqual( + event_source_arn, + "arn:aws:apigateway:us-west-1::/restapis/lgxbo6a518/stages/dev", + ) + + def test_event_source_api_gateway_websocket_connect(self): + event_sample_source = "api-gateway-websocket-connect" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + event_source = parse_event_source(event) + event_source_arn = get_event_source_arn(event_source, event, ctx) + self.assertEqual(event_source.to_string(), "api-gateway") + self.assertEqual(event_source.subtype, EventSubtypes.WEBSOCKET) + self.assertEqual( + event_source_arn, + "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + ) + + def test_event_source_api_gateway_websocket_default(self): + event_sample_source = "api-gateway-websocket-default" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + event_source = parse_event_source(event) + event_source_arn = get_event_source_arn(event_source, event, ctx) + self.assertEqual(event_source.to_string(), "api-gateway") + self.assertEqual(event_source.subtype, EventSubtypes.WEBSOCKET) + self.assertEqual( + event_source_arn, + "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + ) + + def test_event_source_api_gateway_websocket_disconnect(self): + event_sample_source = "api-gateway-websocket-disconnect" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + event_source = parse_event_source(event) + event_source_arn = get_event_source_arn(event_source, event, ctx) + self.assertEqual(event_source.to_string(), "api-gateway") + self.assertEqual(event_source.subtype, EventSubtypes.WEBSOCKET) + self.assertEqual( + event_source_arn, + "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + ) + + def test_event_source_api_gateway_http_api(self): + event_sample_source = "http-api" + test_file = event_samples + event_sample_source + ".json" + with open(test_file, "r") as event: + event = json.load(event) + ctx = get_mock_context() + event_source = parse_event_source(event) + event_source_arn = get_event_source_arn(event_source, event, ctx) + self.assertEqual(event_source.to_string(), "api-gateway") + self.assertEqual(event_source.subtype, EventSubtypes.HTTP_API) + self.assertEqual( + event_source_arn, + "arn:aws:apigateway:us-west-1::/restapis/x02yirxc7a/stages/$default", + ) + def test_event_source_application_load_balancer(self): event_sample_source = "application-load-balancer" test_file = event_samples + event_sample_source + ".json" @@ -43,7 +119,7 @@ def test_event_source_application_load_balancer(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/lambda-xyz/123abc", @@ -57,7 +133,7 @@ def test_event_source_cloudfront(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:cloudfront::123457598159:distribution/EXAMPLE" ) @@ -70,7 +146,7 @@ def test_event_source_cloudwatch_events(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:events:us-east-1:123456789012:rule/ExampleRule" ) @@ -83,7 +159,7 @@ def test_event_source_cloudwatch_logs(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:logs:us-west-1:123457598159:log-group:testLogGroup", @@ -97,7 +173,7 @@ def test_event_source_dynamodb(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( event_source_arn, "arn:aws:dynamodb:us-east-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", @@ -111,8 +187,11 @@ def test_event_source_kinesis(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) - self.assertEqual(event_source_arn, "arn:aws:kinesis:EXAMPLE") + self.assertEqual(event_source.to_string(), event_sample_source) + self.assertEqual( + event_source_arn, + "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream", + ) def test_event_source_s3(self): event_sample_source = "s3" @@ -122,7 +201,7 @@ def test_event_source_s3(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual(event_source_arn, "arn:aws:s3:::example-bucket") def test_event_source_sns(self): @@ -133,9 +212,10 @@ def test_event_source_sns(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) + self.assertEqual(event_source.to_string(), event_sample_source) self.assertEqual( - event_source_arn, "arn:aws:sns:us-east-1:123456789012:ExampleTopic" + event_source_arn, + "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", ) def test_event_source_sqs(self): @@ -146,8 +226,11 @@ def test_event_source_sqs(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, event_sample_source) - self.assertEqual(event_source_arn, "arn:aws:sqs:us-east-1:123456789012:MyQueue") + self.assertEqual(event_source.to_string(), event_sample_source) + self.assertEqual( + event_source_arn, + "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", + ) def test_event_source_unsupported(self): event_sample_source = "custom" @@ -157,7 +240,7 @@ def test_event_source_unsupported(self): ctx = get_mock_context() event_source = parse_event_source(event) event_source_arn = get_event_source_arn(event_source, event, ctx) - self.assertEqual(event_source, None) + self.assertEqual(event_source.to_string(), "unknown") self.assertEqual(event_source_arn, None) @@ -180,6 +263,90 @@ def test_extract_trigger_tags_api_gateway(self): }, ) + def test_extract_trigger_tags_api_gateway_non_proxy(self): + event_sample_source = "api-gateway-non-proxy" + test_file = event_samples + event_sample_source + ".json" + ctx = get_mock_context() + with open(test_file, "r") as event: + event = json.load(event) + tags = extract_trigger_tags(event, ctx) + self.assertEqual( + tags, + { + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/lgxbo6a518/stages/dev", + "http.url": "lgxbo6a518.execute-api.sa-east-1.amazonaws.com", + "http.url_details.path": "/dev/http/get", + "http.method": "GET", + }, + ) + + def test_extract_trigger_tags_api_gateway_websocket_connect(self): + event_sample_source = "api-gateway-websocket-connect" + test_file = event_samples + event_sample_source + ".json" + ctx = get_mock_context() + with open(test_file, "r") as event: + event = json.load(event) + tags = extract_trigger_tags(event, ctx) + self.assertEqual( + tags, + { + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + }, + ) + + def test_extract_trigger_tags_api_gateway_websocket_default(self): + event_sample_source = "api-gateway-websocket-default" + test_file = event_samples + event_sample_source + ".json" + ctx = get_mock_context() + with open(test_file, "r") as event: + event = json.load(event) + tags = extract_trigger_tags(event, ctx) + self.assertEqual( + tags, + { + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + }, + ) + + def test_extract_trigger_tags_api_gateway_websocket_disconnect(self): + event_sample_source = "api-gateway-websocket-disconnect" + test_file = event_samples + event_sample_source + ".json" + ctx = get_mock_context() + with open(test_file, "r") as event: + event = json.load(event) + tags = extract_trigger_tags(event, ctx) + self.assertEqual( + tags, + { + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/p62c47itsb/stages/dev", + "http.url": "p62c47itsb.execute-api.sa-east-1.amazonaws.com", + }, + ) + + def test_extract_trigger_tags_api_gateway_http_api(self): + event_sample_source = "http-api" + test_file = event_samples + event_sample_source + ".json" + ctx = get_mock_context() + with open(test_file, "r") as event: + event = json.load(event) + tags = extract_trigger_tags(event, ctx) + self.assertEqual( + tags, + { + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:us-west-1::/restapis/x02yirxc7a/stages/$default", + "http.url": "x02yirxc7a.execute-api.sa-east-1.amazonaws.com", + "http.url_details.path": "/httpapi/get", + "http.method": "GET", + }, + ) + def test_extract_trigger_tags_application_load_balancer(self): event_sample_source = "application-load-balancer" test_file = event_samples + event_sample_source + ".json" @@ -268,7 +435,7 @@ def test_extract_trigger_tags_kinesis(self): tags, { "function_trigger.event_source": "kinesis", - "function_trigger.event_source_arn": "arn:aws:kinesis:EXAMPLE", + "function_trigger.event_source_arn": "arn:aws:kinesis:sa-east-1:601427279990:stream/kinesisStream", }, ) @@ -298,7 +465,7 @@ def test_extract_trigger_tags_sns(self): tags, { "function_trigger.event_source": "sns", - "function_trigger.event_source_arn": "arn:aws:sns:us-east-1:123456789012:ExampleTopic", + "function_trigger.event_source_arn": "arn:aws:sns:sa-east-1:601427279990:serverlessTracingTopicPy", }, ) @@ -313,7 +480,7 @@ def test_extract_trigger_tags_sqs(self): tags, { "function_trigger.event_source": "sqs", - "function_trigger.event_source_arn": "arn:aws:sqs:us-east-1:123456789012:MyQueue", + "function_trigger.event_source_arn": "arn:aws:sqs:sa-east-1:601427279990:InferredSpansQueueNode", }, )