diff --git a/.github/workflows/build_layer.yml b/.github/workflows/build_layer.yml index fc22e9ce..1725975f 100644 --- a/.github/workflows/build_layer.yml +++ b/.github/workflows/build_layer.yml @@ -8,32 +8,9 @@ on: - "main" jobs: - get-ddtrace-run-id: - runs-on: ubuntu-latest - outputs: - run-id: ${{ steps.get-ddtrace-run-id.outputs.run_id }} - steps: - - name: Resolve Run ID of latest dd-trace-py build - id: get-ddtrace-run-id - env: - GH_TOKEN: ${{ github.token }} - run: | - RUN_ID=$(gh run list \ - --repo DataDog/dd-trace-py \ - --workflow build_deploy.yml \ - --branch main \ - --status success \ - --limit 1 \ - --json databaseId \ - --jq '.[0].databaseId') - - echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT - build: runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }} - needs: get-ddtrace-run-id - strategy: fail-fast: false matrix: @@ -44,33 +21,18 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Build artifact name - id: build-artifact-name + - name: Download ddtrace Wheel + id: find-ddtrace-wheel run: | - if [ "${{ matrix.arch }}" == "amd64" ]; then - ARCH="x86_64" + # Convert matrix.arch into pip platform tag + if [ "${{ matrix.arch }}" = "amd64" ]; then + PLATFORM_TAG="manylinux_2_17_x86_64" else - ARCH="aarch64" + PLATFORM_TAG="manylinux_2_17_aarch64" fi - VER="${{ matrix.python_version }}" - PY_VERSION_NO_DOT="${VER//./}" - - echo "artifact_name=wheels-cp${PY_VERSION_NO_DOT}-manylinux_${ARCH}" >> $GITHUB_OUTPUT - - - name: Download ddtrace Wheel - uses: actions/download-artifact@v4 - with: - name: ${{ steps.build-artifact-name.outputs.artifact_name }} - repository: DataDog/dd-trace-py - run-id: ${{ needs.get-ddtrace-run-id.outputs.run-id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - path: ./artifacts - - - name: Find ddtrace Wheel - id: find-ddtrace-wheel - run: | - echo "wheel_path=$(find ./artifacts -name "*.whl" | head -n 1)" >> $GITHUB_OUTPUT + pip download --no-index --no-deps --find-links https://dd-trace-py-builds.s3.amazonaws.com/main/index.html --pre --python-version "${{ matrix.python_version}}" --platform "${PLATFORM_TAG}" ddtrace + echo "wheel_path=$(find . -name "*.whl" | head -n 1)" >> $GITHUB_OUTPUT - name: Patch pyproject.toml run: | diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0f36a781..417398ec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,6 @@ +variables: + SKIP_E2E_TESTS: "false" + stages: - pre - build @@ -25,5 +28,7 @@ build-layers: - artifact: ci/build-pipeline.yaml job: generator strategy: depend + forward: + pipeline_variables: true rules: - - when: on_success + - when: on_success \ No newline at end of file diff --git a/ci/input_files/build.yaml.tpl b/ci/input_files/build.yaml.tpl index 599160fb..67f13706 100644 --- a/ci/input_files/build.yaml.tpl +++ b/ci/input_files/build.yaml.tpl @@ -54,6 +54,8 @@ build-layer ({{ $runtime.name }}-{{ $runtime.arch }}): CI_ENABLE_CONTAINER_IMAGE_BUILDS: "true" script: - PYTHON_VERSION={{ $runtime.python_version }} ARCH={{ $runtime.arch }} ./scripts/build_layers.sh + timeout: 15m + retry: 2 check-layer-size ({{ $runtime.name }}-{{ $runtime.arch }}): stage: test @@ -85,11 +87,16 @@ unit-test ({{ $runtime.name }}-{{ $runtime.arch }}): script: - source venv/bin/activate - pytest -vv + retry: 2 integration-test ({{ $runtime.name }}-{{ $runtime.arch }}): stage: test tags: ["arch:amd64"] image: registry.ddbuild.io/images/docker:20.10-py3 + rules: + - if: '$SKIP_E2E_TESTS == "true"' + when: never + - when: on_success needs: - build-layer ({{ $runtime.name }}-{{ $runtime.arch }}) dependencies: @@ -105,6 +112,7 @@ integration-test ({{ $runtime.name }}-{{ $runtime.arch }}): - cd integration_tests && yarn install && cd .. script: - RUNTIME_PARAM={{ $runtime.python_version }} ARCH={{ $runtime.arch }} ./scripts/run_integration_tests.sh + retry: 2 sign-layer ({{ $runtime.name }}-{{ $runtime.arch }}): stage: sign @@ -142,6 +150,8 @@ publish-layer-{{ $environment_name }} ({{ $runtime.name }}-{{ $runtime.arch }}): tags: ["arch:amd64"] image: registry.ddbuild.io/images/docker:20.10-py3 rules: + - if: '$SKIP_E2E_TESTS == "true"' + when: never - if: '"{{ $environment_name }}" == "sandbox" && $REGION == "{{ $e2e_region }}" && "{{ $runtime.arch }}" == "amd64"' when: on_success - if: '"{{ $environment_name }}" == "sandbox"' @@ -247,6 +257,10 @@ e2e-test: trigger: project: DataDog/serverless-e2e-tests strategy: depend + rules: + - if: '$SKIP_E2E_TESTS == "true"' + when: never + - when: on_success variables: LANGUAGES_SUBSET: python # These env vars are inherited from the dotenv reports of the publish-layer jobs @@ -267,6 +281,10 @@ e2e-test-status: image: registry.ddbuild.io/images/docker:20.10-py3 tags: ["arch:amd64"] timeout: 3h + rules: + - if: '$SKIP_E2E_TESTS == "true"' + when: never + - when: on_success script: | GITLAB_API_TOKEN=$(aws ssm get-parameter --region us-east-1 --name "ci.${CI_PROJECT_NAME}.serverless-e2e-gitlab-token" --with-decryption --query "Parameter.Value" --out text) URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines/${CI_PIPELINE_ID}/bridges" diff --git a/datadog_lambda/asm.py b/datadog_lambda/asm.py index 6c65a946..29648021 100644 --- a/datadog_lambda/asm.py +++ b/datadog_lambda/asm.py @@ -223,7 +223,9 @@ def get_asm_blocked_response( content = "" else: content_type = blocked.get("content-type", "application/json") - content = http_utils._get_blocked_template(content_type) + content = http_utils._get_blocked_template( + content_type, blocked.get("block_id", "default") + ) response = { "statusCode": blocked.get("status_code", 403), diff --git a/datadog_lambda/tracing.py b/datadog_lambda/tracing.py index 225f5dd8..e7dca1f3 100644 --- a/datadog_lambda/tracing.py +++ b/datadog_lambda/tracing.py @@ -927,6 +927,7 @@ def create_inferred_span_from_lambda_function_url_event(event, context): InferredSpanInfo.set_tags(tags, tag_source="self", synchronicity="sync") if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start_ns = int(request_time_epoch * 1e6) return span @@ -1047,6 +1048,7 @@ def create_inferred_span_from_api_gateway_websocket_event( span = tracer.trace("aws.apigateway.websocket", **args) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start_ns = int( finish_time_ns if finish_time_ns is not None @@ -1061,6 +1063,8 @@ def create_inferred_span_from_api_gateway_event( event, context, decode_authorizer_context: bool = True ): request_context = event.get("requestContext") + identity = request_context.get("identity") + domain = request_context.get("domainName", "") api_id = request_context.get("apiId") service_name = determine_service_name( @@ -1072,11 +1076,11 @@ def create_inferred_span_from_api_gateway_event( resource_path = _get_resource_path(event, request_context) resource = f"{method} {resource_path}" tags = { - "operation_name": "aws.apigateway.rest", "http.url": http_url, "endpoint": path, "http.method": method, "resource_names": resource, + "http.useragent": identity.get("userAgent"), "span.kind": "server", "apiid": api_id, "apiname": api_id, @@ -1091,7 +1095,7 @@ def create_inferred_span_from_api_gateway_event( args = { "service": service_name, "resource": resource, - "span_type": "http", + "span_type": "web", } tracer.set_tags(_dd_origin) upstream_authorizer_span = None @@ -1103,6 +1107,7 @@ def create_inferred_span_from_api_gateway_event( span = tracer.trace("aws.apigateway", **args) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) # start time pushed by the inserted authorizer span span.start_ns = int( finish_time_ns @@ -1140,13 +1145,12 @@ def create_inferred_span_from_http_api_event( resource_path = _get_resource_path(event, request_context) resource = f"{method} {resource_path}" tags = { - "operation_name": "aws.httpapi", "endpoint": path, "http.url": http_url, "http.method": http.get("method"), "http.protocol": http.get("protocol"), "http.source_ip": http.get("sourceIp"), - "http.user_agent": http.get("userAgent"), + "http.useragent": http.get("userAgent"), "resource_names": resource, "request_id": context.aws_request_id, "apiid": api_id, @@ -1167,10 +1171,11 @@ def create_inferred_span_from_http_api_event( Headers.Parent_Span_Finish_Time ) span = tracer.trace( - "aws.httpapi", service=service_name, resource=resource, span_type="http" + "aws.httpapi", service=service_name, resource=resource, span_type="web" ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start_ns = int(inferred_span_start_ns) return span @@ -1237,6 +1242,7 @@ def create_inferred_span_from_sqs_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = start_time if upstream_span: span.parent_id = upstream_span.span_id @@ -1278,6 +1284,7 @@ def create_inferred_span_from_sns_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = dt.replace(tzinfo=timezone.utc).timestamp() return span @@ -1313,6 +1320,7 @@ def create_inferred_span_from_kinesis_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = request_time_epoch return span @@ -1345,6 +1353,7 @@ def create_inferred_span_from_dynamodb_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = int(request_time_epoch) return span @@ -1381,6 +1390,7 @@ def create_inferred_span_from_s3_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = dt.replace(tzinfo=timezone.utc).timestamp() return span @@ -1421,10 +1431,11 @@ def create_inferred_span_from_eventbridge_event(event, context): ) if span: span.set_tags(tags) + span.set_metric(InferredSpanInfo.METRIC, 1.0) span.start = dt.replace(tzinfo=timezone.utc).timestamp() # Since inferred span will later parent Lambda, preserve Lambda's current parent - if dd_trace_context.span_id: + if dd_trace_context and getattr(dd_trace_context, "span_id", None): span.parent_id = dd_trace_context.span_id return span @@ -1512,6 +1523,7 @@ class InferredSpanInfo(object): BASE_NAME = "_inferred_span" SYNCHRONICITY = f"{BASE_NAME}.synchronicity" TAG_SOURCE = f"{BASE_NAME}.tag_source" + METRIC = f"_dd.{BASE_NAME}" @staticmethod def set_tags( diff --git a/datadog_lambda/version.py b/datadog_lambda/version.py index aacab86a..537f13a7 100644 --- a/datadog_lambda/version.py +++ b/datadog_lambda/version.py @@ -1 +1 @@ -__version__ = "8.120.0" +__version__ = "8.121.0" diff --git a/datadog_lambda/wrapper.py b/datadog_lambda/wrapper.py index ee740221..5a32e2ff 100644 --- a/datadog_lambda/wrapper.py +++ b/datadog_lambda/wrapper.py @@ -346,8 +346,16 @@ def _after(self, event, context): if status_code: self.inferred_span.set_tag("http.status_code", status_code) - if self.trigger_tags and (route := self.trigger_tags.get("http.route")): - self.inferred_span.set_tag("http.route", route) + if self.trigger_tags: + route = self.trigger_tags.get("http.route") + if route: + self.inferred_span.set_tag("http.route", route) + + event_source_arn = self.trigger_tags.get( + "function_trigger.event_source_arn" + ) + if event_source_arn: + self.inferred_span.set_tag("dd_resource_key", event_source_arn) if config.service: self.inferred_span.set_tag("peer.service", config.service) diff --git a/pyproject.toml b/pyproject.toml index 87c309f7..3f152b9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,14 @@ [tool.poetry] name = "datadog_lambda" -version = "8.120.0" +version = "8.121.0" description = "The Datadog AWS Lambda Library" authors = ["Datadog, Inc. "] + +[project] +name = "datadog_lambda" license = "Apache-2.0" readme = "README.md" +requires-python = ">=3.8.0,<4" repository = "https://github.com/DataDog/datadog-lambda-python" keywords = [ "datadog", @@ -12,10 +16,18 @@ keywords = [ "lambda", "layer", ] +dependencies = [ + "datadog>=0.51.0,<1.0.0", + "wrapt>=1.11.2,<2", + "ddtrace>=3.19.1,<4; python_version>='3.9.0' and python_version < '3.10'", + "ddtrace>=4.1.1,<5; python_version>='3.10.0'", + "ujson>=5.9.0", +] packages = [ { include = "datadog_lambda" } ] classifiers = [ + "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -25,11 +37,13 @@ classifiers = [ "Programming Language :: Python :: 3.14", ] +# can remove tool.poetry.depencies and tool.poetry.extras +# after deprecation of Python 3.8 [tool.poetry.dependencies] python = ">=3.8.0,<4" datadog = ">=0.51.0,<1.0.0" wrapt = "^1.11.2" -ddtrace = ">=3.16.2,<3.19.0" +ddtrace = ">=3.19.1,<4" ujson = ">=5.9.0" botocore = { version = "^1.34.0", optional = true } requests = { version ="^2.22.0", optional = true } @@ -46,6 +60,15 @@ dev = [ "requests", ] +[project.optional-dependencies] +dev = [ + "botocore>=1.34.0,<2", + "requests>=2.22.0,<3", + "pytest>=8.0.0,<9", + "pytest-benchmark>=4.0,<5", + "flake8>=5.0.4,<6", +] + [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" diff --git a/tests/integration/snapshots/logs/async-metrics_python310.log b/tests/integration/snapshots/logs/async-metrics_python310.log index 6779d7dd..356d8243 100644 --- a/tests/integration/snapshots/logs/async-metrics_python310.log +++ b/tests/integration/snapshots/logs/async-metrics_python310.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python311.log b/tests/integration/snapshots/logs/async-metrics_python311.log index 9f14ff15..fa140a85 100644 --- a/tests/integration/snapshots/logs/async-metrics_python311.log +++ b/tests/integration/snapshots/logs/async-metrics_python311.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python312.log b/tests/integration/snapshots/logs/async-metrics_python312.log index 789a3955..c2ea0647 100644 --- a/tests/integration/snapshots/logs/async-metrics_python312.log +++ b/tests/integration/snapshots/logs/async-metrics_python312.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python313.log b/tests/integration/snapshots/logs/async-metrics_python313.log index 78ade6a7..b6a4f68e 100644 --- a/tests/integration/snapshots/logs/async-metrics_python313.log +++ b/tests/integration/snapshots/logs/async-metrics_python313.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python314.log b/tests/integration/snapshots/logs/async-metrics_python314.log index b14df308..a430b644 100644 --- a/tests/integration/snapshots/logs/async-metrics_python314.log +++ b/tests/integration/snapshots/logs/async-metrics_python314.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python38.log b/tests/integration/snapshots/logs/async-metrics_python38.log index 5375fafe..e37090ff 100644 --- a/tests/integration/snapshots/logs/async-metrics_python38.log +++ b/tests/integration/snapshots/logs/async-metrics_python38.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/async-metrics_python39.log b/tests/integration/snapshots/logs/async-metrics_python39.log index f16e9e2d..46c36112 100644 --- a/tests/integration/snapshots/logs/async-metrics_python39.log +++ b/tests/integration/snapshots/logs/async-metrics_python39.log @@ -54,11 +54,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -68,6 +68,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -76,10 +77,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -375,6 +377,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -383,6 +386,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -574,6 +578,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -718,13 +723,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -734,6 +738,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -742,10 +747,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -904,6 +910,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -912,6 +919,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1066,6 +1074,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1074,6 +1083,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1241,6 +1251,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1249,6 +1260,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1403,6 +1415,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1411,6 +1424,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1571,6 +1585,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1579,6 +1594,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python310.log b/tests/integration/snapshots/logs/sync-metrics_python310.log index 1cbd91dd..a9170abd 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python310.log +++ b/tests/integration/snapshots/logs/sync-metrics_python310.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python311.log b/tests/integration/snapshots/logs/sync-metrics_python311.log index b043a8f4..490fcc63 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python311.log +++ b/tests/integration/snapshots/logs/sync-metrics_python311.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python312.log b/tests/integration/snapshots/logs/sync-metrics_python312.log index ff9bbdb7..509d1bfe 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python312.log +++ b/tests/integration/snapshots/logs/sync-metrics_python312.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python313.log b/tests/integration/snapshots/logs/sync-metrics_python313.log index 87352f25..03a8e8c2 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python313.log +++ b/tests/integration/snapshots/logs/sync-metrics_python313.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python314.log b/tests/integration/snapshots/logs/sync-metrics_python314.log index cab7fcbb..7261153e 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python314.log +++ b/tests/integration/snapshots/logs/sync-metrics_python314.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zs }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python38.log b/tests/integration/snapshots/logs/sync-metrics_python38.log index ae41bc18..37bbff6e 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python38.log +++ b/tests/integration/snapshots/logs/sync-metrics_python38.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/integration/snapshots/logs/sync-metrics_python39.log b/tests/integration/snapshots/logs/sync-metrics_python39.log index 1acb7f0d..cd2a74e0 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python39.log +++ b/tests/integration/snapshots/logs/sync-metrics_python39.log @@ -34,11 +34,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.apigateway.rest", "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", "endpoint": "/", "http.method": "GET", "resource_names": "GET /", + "http.useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "span.kind": "server", "apiid": "XXXX", "apiname": "XXXX", @@ -48,6 +48,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -56,10 +57,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -393,6 +395,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "size_bytes": "26", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -401,6 +404,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -611,6 +615,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -774,13 +779,12 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "meta": { "runtime-id": "XXXX", "_dd.origin": "lambda", - "operation_name": "aws.httpapi", "endpoint": "/httpapi/get", "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", "http.method": "GET", "http.protocol": "HTTP/1.1", "http.source_ip": "XXXX", - "http.user_agent": "XXXX/7.64.1", + "http.useragent": "curl/7.64.1", "resource_names": "GET /httpapi/get", "request_id": "XXXX", "apiid": "XXXX", @@ -790,6 +794,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.tag_source": "self", "http.status_code": "200", "http.route": "/httpapi/get", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -798,10 +803,11 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, - "type": "http" + "type": "web" }, { "trace_id": "XXXX", @@ -979,6 +985,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "partition_key": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -987,6 +994,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1160,6 +1168,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "object_etag": "XXXX", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:s3:::example-bucket", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1168,6 +1177,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1354,6 +1364,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "subject": "TestInvoke", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1362,6 +1373,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1535,6 +1547,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "sender_id": "AIDAIENQZJOLO23YVJ4VO", "_inferred_span.synchronicity": "async", "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1543,6 +1556,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, @@ -1722,6 +1736,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A "_inferred_span.synchronicity": "sync", "_inferred_span.tag_source": "self", "http.status_code": "200", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", "peer.service": "integration-tests-python", "_dd.peer.service.source": "peer.service", "_dd.p.dm": "-0", @@ -1730,6 +1745,7 @@ HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate","A }, "metrics": { "process_id": XXXX, + "_dd._inferred_span": 1, "_dd.top_level": 1, "_sampling_priority_v1": 1 }, diff --git a/tests/test_tracing.py b/tests/test_tracing.py index 0fddd52b..ec78265a 100644 --- a/tests/test_tracing.py +++ b/tests/test_tracing.py @@ -1380,7 +1380,6 @@ def test_remaps_all_inferred_span_service_names_from_api_gateway_event(self): ctx.aws_request_id = "123" span1 = create_inferred_span(original_event, ctx) - self.assertEqual(span1.get_tag("operation_name"), "aws.apigateway.rest") self.assertEqual(span1.service, "new-name") # Testing the second event @@ -1389,7 +1388,6 @@ def test_remaps_all_inferred_span_service_names_from_api_gateway_event(self): "domainName" ] = "different.execute-api.us-east-2.amazonaws.com" span2 = create_inferred_span(event2, ctx) - self.assertEqual(span2.get_tag("operation_name"), "aws.apigateway.rest") self.assertEqual(span2.service, "new-name") def test_remaps_specific_inferred_span_service_names_from_api_gateway_event( @@ -1406,14 +1404,12 @@ def test_remaps_specific_inferred_span_service_names_from_api_gateway_event( ctx.aws_request_id = "123" span1 = create_inferred_span(original_event, ctx) - self.assertEqual(span1.get_tag("operation_name"), "aws.apigateway.rest") self.assertEqual(span1.service, "new-name") # Testing the second event event2 = copy.deepcopy(original_event) event2["requestContext"]["apiId"] = "different" span2 = create_inferred_span(event2, ctx) - self.assertEqual(span2.get_tag("operation_name"), "aws.apigateway.rest") self.assertEqual( span2.service, "70ixmpl4fl.execute-api.us-east-2.amazonaws.com" ) @@ -1456,14 +1452,12 @@ def test_remaps_specific_inferred_span_service_names_from_api_gateway_http_event ctx.aws_request_id = "123" span1 = create_inferred_span(original_event, ctx) - self.assertEqual(span1.get_tag("operation_name"), "aws.httpapi") self.assertEqual(span1.service, "new-name") # Testing the second event event2 = copy.deepcopy(original_event) event2["requestContext"]["apiId"] = "different" span2 = create_inferred_span(event2, ctx) - self.assertEqual(span2.get_tag("operation_name"), "aws.httpapi") self.assertEqual( span2.service, "x02yirxc7a.execute-api.eu-west-1.amazonaws.com" ) @@ -1804,7 +1798,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="70ixmpl4fl.execute-api.us-east-2.amazonaws.com", start=1428582896.0, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -1814,7 +1808,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/path/to/resource", "http.method": "POST", "http.url": "https://70ixmpl4fl.execute-api.us-east-2.amazonaws.com/path/to/resource", - "operation_name": "aws.apigateway.rest", + "http.useragent": "Custom User Agent String", "request_id": "123", "resource_names": "POST /{proxy+}", "stage": "prod", @@ -1826,7 +1820,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="lgxbo6a518.execute-api.eu-west-1.amazonaws.com", start=1631210915.2510002, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "async", @@ -1836,7 +1830,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/http/get", "http.method": "GET", "http.url": "https://lgxbo6a518.execute-api.eu-west-1.amazonaws.com/http/get", - "operation_name": "aws.apigateway.rest", + "http.useragent": "curl/7.64.1", "request_id": "123", "resource_names": "GET /http/get", "stage": "dev", @@ -1848,7 +1842,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="lgxbo6a518.execute-api.eu-west-1.amazonaws.com", start=1631210915.2510002, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -1858,7 +1852,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/http/get", "http.method": "GET", "http.url": "https://lgxbo6a518.execute-api.eu-west-1.amazonaws.com/http/get", - "operation_name": "aws.apigateway.rest", + "http.useragent": "curl/7.64.1", "request_id": "123", "resource_names": "GET /http/get", "stage": "dev", @@ -1870,7 +1864,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="x02yirxc7a.execute-api.eu-west-1.amazonaws.com", start=1631212283.738, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -1882,8 +1876,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "http.protocol": "HTTP/1.1", "http.source_ip": "38.122.226.210", "http.url": "https://x02yirxc7a.execute-api.eu-west-1.amazonaws.com/httpapi/get", - "http.user_agent": "curl/7.64.1", - "operation_name": "aws.httpapi", + "http.useragent": "curl/7.64.1", "request_id": "123", "resource_names": "GET /httpapi/get", "stage": "$default", @@ -1895,7 +1888,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="mcwkra0ya4.execute-api.sa-east-1.amazonaws.com", start=1710529824.52, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -1905,7 +1898,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/user/42", "http.method": "GET", "http.url": "https://mcwkra0ya4.execute-api.sa-east-1.amazonaws.com/user/42", - "operation_name": "aws.apigateway.rest", + "http.useragent": "curl/8.1.2", "request_id": "123", "resource_names": "GET /user/{id}", "stage": "dev", @@ -1917,7 +1910,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="9vj54we5ih.execute-api.sa-east-1.amazonaws.com", start=1710529905.066, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -1927,7 +1920,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/user/42", "http.method": "GET", "http.url": "https://9vj54we5ih.execute-api.sa-east-1.amazonaws.com/user/42", - "operation_name": "aws.httpapi", + "http.useragent": "curl/8.1.2", "request_id": "123", "resource_names": "GET /user/{id}", "stage": "$default", @@ -2186,7 +2179,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="70ixmpl4fl.execute-api.us-east-2.amazonaws.com", start=1428582896.0, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -2196,7 +2189,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/path/to/resource", "http.method": "POST", "http.url": "https://70ixmpl4fl.execute-api.us-east-2.amazonaws.com/path/to/resource", - "operation_name": "aws.apigateway.rest", + "http.useragent": "Custom User Agent String", "request_id": "123", "resource_names": "POST /{proxy+}", "stage": "prod", @@ -2208,7 +2201,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1663295021.832, - span_type="http", + span_type="web", parent_name="aws.apigateway.authorizer", tags={ "_dd.origin": "lambda", @@ -2219,7 +2212,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.apigateway.rest", + "http.useragent": "PostmanRuntime/7.29.2", "request_id": "123", "resource_names": "GET /hello", "stage": "dev", @@ -2231,7 +2224,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1666714653.636, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -2241,7 +2234,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.apigateway.rest", + "http.useragent": "PostmanRuntime/7.29.2", "request_id": "123", "resource_names": "GET /hello", "stage": "dev", @@ -2253,7 +2246,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1663295021.832, - span_type="http", + span_type="web", parent_name="aws.apigateway.authorizer", tags={ "_dd.origin": "lambda", @@ -2264,7 +2257,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.apigateway.rest", + "http.useragent": "PostmanRuntime/7.29.2", "request_id": "123", "resource_names": "GET /hello", "stage": "dev", @@ -2276,7 +2269,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1666803622.99, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -2286,7 +2279,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.apigateway.rest", + "http.useragent": "PostmanRuntime/7.29.2", "request_id": "123", "resource_names": "GET /hello", "stage": "dev", @@ -2298,7 +2291,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1664228639.5337753, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -2308,7 +2301,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.httpapi", + "http.useragent": "curl/7.64.1", "request_id": "123", "resource_names": "GET /hello", "stage": "dev", @@ -2320,7 +2313,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): _Span( service="amddr1rix9.execute-api.eu-west-1.amazonaws.com", start=1666715429.349, - span_type="http", + span_type="web", tags={ "_dd.origin": "lambda", "_inferred_span.synchronicity": "sync", @@ -2330,7 +2323,7 @@ def __init__(self, service, start, span_type, parent_name=None, tags=None): "endpoint": "/hello", "http.method": "GET", "http.url": "https://amddr1rix9.execute-api.eu-west-1.amazonaws.com/hello", - "operation_name": "aws.httpapi", + "http.useragent": "PostmanRuntime/7.29.2", "request_id": "123", "resource_names": "GET /hello", "stage": "dev",