From d92577cf2a65afc96f60d5e463badfdb3aced89b Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Tue, 10 Nov 2026 09:54:47 -0500 Subject: [PATCH 1/4] Add python 3.15 --- .github/workflows/build.yml | 2 +- .github/workflows/build_layer.yml | 2 +- README.md | 2 +- ci/datasources/runtimes.yaml | 8 ++++++++ ci/publish_layers.sh | 10 +++++++++- pyproject.toml | 1 + scripts/add_new_region.sh | 4 ++++ scripts/build_layers.sh | 2 +- scripts/list_layers.sh | 2 ++ scripts/publish_govcloud.sh | 2 +- scripts/publish_layers.sh | 8 +++++++- scripts/run_integration_tests.sh | 3 ++- scripts/run_tests.sh | 2 +- scripts/sign_layers.sh | 2 ++ 14 files changed, 41 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 787b5da36..0237150e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.15'] steps: - name: Checkout diff --git a/.github/workflows/build_layer.yml b/.github/workflows/build_layer.yml index e21f16336..4bbe073eb 100644 --- a/.github/workflows/build_layer.yml +++ b/.github/workflows/build_layer.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: arch: [arm64, amd64] - python_version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + python_version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - name: Checkout diff --git a/README.md b/README.md index fc6c7f2c1..5d6216951 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Slack](https://chat.datadoghq.com/badge.svg?bg=632CA6)](https://chat.datadoghq.com/) [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/DataDog/datadog-lambda-python/blob/main/LICENSE) -Datadog Lambda Library for Python (3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14) enables [enhanced Lambda metrics](https://docs.datadoghq.com/serverless/enhanced_lambda_metrics), [distributed tracing](https://docs.datadoghq.com/serverless/distributed_tracing), and [custom metric submission](https://docs.datadoghq.com/serverless/custom_metrics) from AWS Lambda functions. +Datadog Lambda Library for Python (3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14, 3.15) enables [enhanced Lambda metrics](https://docs.datadoghq.com/serverless/enhanced_lambda_metrics), [distributed tracing](https://docs.datadoghq.com/serverless/distributed_tracing), and [custom metric submission](https://docs.datadoghq.com/serverless/custom_metrics) from AWS Lambda functions. ## Installation diff --git a/ci/datasources/runtimes.yaml b/ci/datasources/runtimes.yaml index 2b19cf1c4..b750be675 100644 --- a/ci/datasources/runtimes.yaml +++ b/ci/datasources/runtimes.yaml @@ -55,3 +55,11 @@ runtimes: python_version: "3.14" arch: "arm64" image: "3.14.0" + - name: "python315" + python_version: "3.15" + arch: "amd64" + image: "3.15.0" + - name: "python315" + python_version: "3.15" + arch: "arm64" + image: "3.15.0" diff --git a/ci/publish_layers.sh b/ci/publish_layers.sh index d15931ac1..d68842d5c 100755 --- a/ci/publish_layers.sh +++ b/ci/publish_layers.sh @@ -25,6 +25,8 @@ AWS_CLI_PYTHON_VERSIONS=( "python3.13" "python3.14" "python3.14" + "python3.15" + "python3.15" ) PYTHON_VERSIONS=( "3.8-amd64" @@ -41,6 +43,8 @@ PYTHON_VERSIONS=( "3.13-arm64" "3.14-amd64" "3.14-arm64" + "3.15-amd64" + "3.15-arm64" ) LAYER_PATHS=( ".layers/datadog_lambda_py-amd64-3.8.zip" @@ -57,6 +61,8 @@ LAYER_PATHS=( ".layers/datadog_lambda_py-arm64-3.13.zip" ".layers/datadog_lambda_py-amd64-3.14.zip" ".layers/datadog_lambda_py-arm64-3.14.zip" + ".layers/datadog_lambda_py-amd64-3.15.zip" + ".layers/datadog_lambda_py-arm64-3.15.zip" ) LAYERS=( "Datadog-Python38" @@ -72,7 +78,9 @@ LAYERS=( "Datadog-Python313" "Datadog-Python313-ARM" "Datadog-Python314" - "Datadog-Python314-ARM" + "Datadog-Python314-ARM" + "Datadog-Python315" + "Datadog-Python315-ARM" ) STAGES=('prod', 'sandbox', 'staging', 'gov-staging', 'gov-prod') diff --git a/pyproject.toml b/pyproject.toml index 184541252..b73d1bae7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", ] [tool.poetry.dependencies] diff --git a/scripts/add_new_region.sh b/scripts/add_new_region.sh index 210436294..62367e5f0 100755 --- a/scripts/add_new_region.sh +++ b/scripts/add_new_region.sh @@ -27,6 +27,8 @@ LAYER_NAMES=( "Datadog-Python313-ARM" "Datadog-Python314" "Datadog-Python314-ARM" + "Datadog-Python315" + "Datadog-Python315-ARM" ) PYTHON_VERSIONS_FOR_AWS_CLI=( "python3.8" @@ -43,6 +45,8 @@ PYTHON_VERSIONS_FOR_AWS_CLI=( "python3.13" "python3.14" "python3.14" + "python3.15" + "python3.15" ) NEW_REGION=$1 diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 7c3bd5fae..4928440ca 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -35,7 +35,7 @@ set -e LAYER_DIR=".layers" LAYER_FILES_PREFIX="datadog_lambda_py" -AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14") +AVAILABLE_PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14" "3.15") AVAILABLE_ARCHS=("arm64" "amd64") if [ -n "$ARCH" ]; then diff --git a/scripts/list_layers.sh b/scripts/list_layers.sh index d2710a7e7..352c5b7a6 100755 --- a/scripts/list_layers.sh +++ b/scripts/list_layers.sh @@ -25,6 +25,8 @@ LAYER_NAMES=( "Datadog-Python313-ARM" "Datadog-Python314" "Datadog-Python314-ARM" + "Datadog-Python315" + "Datadog-Python315-ARM" ) AVAILABLE_REGIONS=$(aws ec2 describe-regions | jq -r '.[] | .[] | .RegionName') LAYERS_MISSING_REGIONS=() diff --git a/scripts/publish_govcloud.sh b/scripts/publish_govcloud.sh index 19c8c17ca..db79a2009 100755 --- a/scripts/publish_govcloud.sh +++ b/scripts/publish_govcloud.sh @@ -96,7 +96,7 @@ do export REGION=$region - for python_version in "3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14"; do + for python_version in "3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14" "3.15"; do for arch in "amd64" "arm64"; do export PYTHON_VERSION=$python_version export ARCH=$arch diff --git a/scripts/publish_layers.sh b/scripts/publish_layers.sh index 31a514d13..82951d2d1 100755 --- a/scripts/publish_layers.sh +++ b/scripts/publish_layers.sh @@ -28,6 +28,8 @@ PYTHON_VERSIONS_FOR_AWS_CLI=( "python3.13" "python3.14" "python3.14" + "python3.15" + "python3.15" ) LAYER_PATHS=( ".layers/datadog_lambda_py-amd64-3.8.zip" @@ -44,6 +46,8 @@ LAYER_PATHS=( ".layers/datadog_lambda_py-arm64-3.13.zip" ".layers/datadog_lambda_py-amd64-3.14.zip" ".layers/datadog_lambda_py-arm64-3.14.zip" + ".layers/datadog_lambda_py-amd64-3.15.zip" + ".layers/datadog_lambda_py-arm64-3.15.zip" ) AVAILABLE_LAYERS=( "Datadog-Python38" @@ -59,7 +63,9 @@ AVAILABLE_LAYERS=( "Datadog-Python313" "Datadog-Python313-ARM" "Datadog-Python314" - "Datadog-Python314-ARM" + "Datadog-Python314-ARM" + "Datadog-Python315" + "Datadog-Python315-ARM" ) AVAILABLE_REGIONS=$(aws ec2 describe-regions | jq -r '.[] | .[] | .RegionName') diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index aa47b279c..027663338 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -34,8 +34,9 @@ python311=("python3.11" "3.11" $(xxd -l 4 -c 4 -p < /dev/random)) python312=("python3.12" "3.12" $(xxd -l 4 -c 4 -p < /dev/random)) python313=("python3.13" "3.13" $(xxd -l 4 -c 4 -p < /dev/random)) python314=("python3.14" "3.14" $(xxd -l 4 -c 4 -p < /dev/random)) +python315=("python3.15" "3.15" $(xxd -l 4 -c 4 -p < /dev/random)) -PARAMETERS_SETS=("python38" "python39" "python310" "python311" "python312" "python313" "python314") +PARAMETERS_SETS=("python38" "python39" "python310" "python311" "python312" "python313" "python314" "python315") if [ -z "$RUNTIME_PARAM" ]; then echo "Python version not specified, running for all python versions." diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index 59d572187..d9a0b2ba0 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -8,7 +8,7 @@ # Run unit tests in Docker set -e -PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14") +PYTHON_VERSIONS=("3.8" "3.9" "3.10" "3.11" "3.12" "3.13" "3.14" "3.15") for python_version in "${PYTHON_VERSIONS[@]}" do diff --git a/scripts/sign_layers.sh b/scripts/sign_layers.sh index d3c890d38..c014e3a67 100755 --- a/scripts/sign_layers.sh +++ b/scripts/sign_layers.sh @@ -23,6 +23,8 @@ LAYER_FILES=( "datadog_lambda_py-arm64-3.13.zip" "datadog_lambda_py-amd64-3.14.zip" "datadog_lambda_py-arm64-3.14.zip" + "datadog_lambda_py-amd64-3.15.zip" + "datadog_lambda_py-arm64-3.15.zip" ) SIGNING_PROFILE_NAME="DatadogLambdaSigningProfile" From 6c992411cc5d72f8e184ce012d3418c0fb831004 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Fri, 13 Nov 2026 12:08:13 -0500 Subject: [PATCH 2/4] running integration tests --- Dockerfile | 7 +- pyproject.toml | 2 +- pyproject.toml.bak | 73 + scripts/build_layers.sh | 10 +- .../logs/async-metrics_python315.log | 1796 +++++++++++++++ .../snapshots/logs/sync-metrics_python315.log | 2026 +++++++++++++++++ 6 files changed, 3911 insertions(+), 3 deletions(-) create mode 100644 pyproject.toml.bak create mode 100644 tests/integration/snapshots/logs/async-metrics_python315.log create mode 100644 tests/integration/snapshots/logs/sync-metrics_python315.log diff --git a/Dockerfile b/Dockerfile index 8b8f9a09f..a6a91b4bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,9 @@ ARG runtime RUN mkdir -p /build/python/lib/$runtime/site-packages WORKDIR /build -# Install newer version of GCC on AL2 +# AL2 SAM images (Python <= 3.11) ship GCC 7, which is too old to build ddtrace. +# AL2023 SAM images already include GCC, find, and strip. The Lambda Python 3.15 +# preview image does not, so install that toolchain with dnf. RUN set -eux; \ if command -v yum >/dev/null 2>&1; then \ yum -y install git gcc10 gcc10-c++; \ @@ -16,6 +18,9 @@ RUN set -eux; \ rm g++ && ln -s gcc10-g++ g++; \ rm cc && ln -s gcc10-cc cc; \ rm c++ && ln -s gcc10-c++ c++; \ + elif ! command -v gcc >/dev/null 2>&1 || ! command -v strip >/dev/null 2>&1 || ! command -v find >/dev/null 2>&1; then \ + dnf install -y gcc gcc-c++ make binutils findutils git; \ + dnf clean all; \ fi # Add Rust compiler which is needed to build dd-trace-py from source diff --git a/pyproject.toml b/pyproject.toml index b73d1bae7..66808faeb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ ] [tool.poetry.dependencies] -python = ">=3.8.0,<3.15" +python = ">=3.8.0,<3.16" datadog = ">=0.51.0,<1.0.0" wrapt = ">=1.11.2,!=2.2.0,<3" ddtrace = [ diff --git a/pyproject.toml.bak b/pyproject.toml.bak new file mode 100644 index 000000000..66808faeb --- /dev/null +++ b/pyproject.toml.bak @@ -0,0 +1,73 @@ +[tool.poetry] +name = "datadog_lambda" +version = "8.130.0" +description = "The Datadog AWS Lambda Library" +authors = ["Datadog, Inc. "] +license = "Apache-2.0" +readme = "README.md" +repository = "https://github.com/DataDog/datadog-lambda-python" +keywords = [ + "datadog", + "aws", + "lambda", + "layer", +] +packages = [ + { include = "datadog_lambda" } +] +classifiers = [ + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", +] + +[tool.poetry.dependencies] +python = ">=3.8.0,<3.16" +datadog = ">=0.51.0,<1.0.0" +wrapt = ">=1.11.2,!=2.2.0,<3" +ddtrace = [ + {version = ">=3.19.1,<4", python = ">=3.8,<3.10"}, + {version = ">=4.1.1,<5,!=4.6.*", python = ">=3.10"} +] +ujson = [ + {version = ">=5.10.0,<5.12.0", python = ">=3.8,<3.10"}, + {version = "^5.12.0", python = ">=3.10"}, +] +urllib3 = [ + {version = ">=1.25.4,<1.27", python = ">=3.8,<3.10"}, + {version = "^2.6.3", python = ">=3.10"}, +] +botocore = { version = "^1.34.0", optional = true } +requests = [ + { version = "^2.22.0", optional = true, python = ">=3.8,<3.10" }, + { version = "^2.33.0", optional = true, python = ">=3.10" }, +] +pytest = [ + { version = "^8.3.4", optional = true, python = ">=3.8,<3.10" }, + # TODO: Remove the <9.2 cap once pytest-benchmark 4.x is compatible with pytest 9.2+ + # (pytest 9.2 removed Node._nodeid, which pytest_benchmark/fixture.py relies on). + { version = ">=9.0.3,<9.2", optional = true, python = ">=3.10" }, +] +pytest-benchmark = { version = "^4.0", optional = true } +flake8 = { version = "^5.0.4", optional = true } + +[tool.poetry.extras] +dev = [ + "botocore", + "flake8", + "pytest", + "pytest-benchmark", + "requests", +] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" + +[tool.pytest.ini_options] +addopts = "--benchmark-disable --benchmark-autosave" diff --git a/scripts/build_layers.sh b/scripts/build_layers.sh index 4928440ca..d452df178 100755 --- a/scripts/build_layers.sh +++ b/scripts/build_layers.sh @@ -103,11 +103,19 @@ function docker_build_zip { destination=$(make_path_absolute $2) arch=$3 + # Python 3.15 is a Lambda preview runtime. AWS has not published + # public.ecr.aws/sam/build-python3.15, so use the preview base image. + # The Dockerfile installs the compiler toolchain that image is missing. + if [ "$1" = "3.15" ]; then + image="public.ecr.aws/lambda/python:3.15-preview" + else + image="public.ecr.aws/sam/build-python$1:1" + fi # Install datadogpy in a docker container to avoid the mess from switching # between different python runtimes. temp_dir=$(mktemp -d) docker buildx build -t datadog-lambda-python-${arch}:$1 . --no-cache \ - --build-arg image=public.ecr.aws/sam/build-python$1:1 \ + --build-arg image="${image}" \ --build-arg runtime=python$1 \ --platform linux/${arch} \ --progress=plain \ diff --git a/tests/integration/snapshots/logs/async-metrics_python315.log b/tests/integration/snapshots/logs/async-metrics_python315.log new file mode 100644 index 000000000..4a41bbb80 --- /dev/null +++ b/tests/integration/snapshots/logs/async-metrics_python315.log @@ -0,0 +1,1796 @@ +INIT_START Runtime Version: python:3.15.vX Runtime Version ARN: arn:aws:lambda:eu-west-1:XXXX:eu-west-1 +[tls-profile] applied 'aws' -> /var/runtime/tls-profiles/commercial-2025.conf +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:true", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", + "endpoint": "/", + "http.method": "GET", + "http.route": "/", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", + "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", + "language": "python", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "GET /", + "runtime-id": "XXXX", + "span.kind": "server", + "stage": "Prod" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.apigateway", + "parent_id": "XXXX", + "resource": "GET /", + "service": "XXXX.execute-api.us-east-2.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "true", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "http.method": "GET", + "http.route": "/", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "language": "python", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "runtime-id": "XXXX", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "datadog.serverless.dynamodb.stream.type", + "t": [ + "streamtype:NEW_AND_OLD_IMAGES", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_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", + "event_id": "XXXX", + "event_name": "INSERT", + "event_source_arn": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", + "event_version": "1.1", + "language": "python", + "operation_name": "aws.dynamodb", + "peer.service": "integration-tests-python", + "resource_names": "ExampleTableWithStream", + "runtime-id": "XXXX", + "size_bytes": "26", + "span.kind": "server", + "stream_view_type": "NEW_AND_OLD_IMAGES", + "tablename": "ExampleTableWithStream" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.dynamodb", + "parent_id": "XXXX", + "resource": "ExampleTableWithStream", + "service": "ExampleTableWithStream", + "span_id": "XXXX", + "span_links": [ + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + }, + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + }, + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + } + ], + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "detail_type": "testdetail", + "language": "python", + "operation_name": "aws.eventbridge", + "peer.service": "integration-tests-python", + "resource_names": "eventbridge.custom.event.sender", + "runtime-id": "XXXX", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.eventbridge", + "parent_id": "XXXX", + "resource": "eventbridge.custom.event.sender", + "service": "eventbridge.custom.event.sender", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "eventbridge", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", + "endpoint": "/httpapi/get", + "http.method": "GET", + "http.protocol": "HTTP/1.1", + "http.route": "/httpapi/get", + "http.source_ip": "XXXX", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", + "http.useragent": "curl/7.64.1", + "language": "python", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "GET /httpapi/get", + "runtime-id": "XXXX", + "stage": "$default" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.httpapi", + "parent_id": "XXXX", + "resource": "GET /httpapi/get", + "service": "XXXX.execute-api.eu-west-1.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX$default", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "http.method": "GET", + "http.route": "/httpapi/get", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", + "event_id": "XXXX", + "event_name": "aws:kinesis:record", + "event_source_arn": "arn:aws:kinesis:EXAMPLE", + "event_version": "1.0", + "language": "python", + "operation_name": "aws.kinesis", + "partition_key": "XXXX", + "peer.service": "integration-tests-python", + "resource_names": "EXAMPLE", + "runtime-id": "XXXX", + "shardid": "shardId-XXXX", + "span.kind": "server", + "streamname": "EXAMPLE" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.kinesis", + "parent_id": "XXXX", + "resource": "EXAMPLE", + "service": "EXAMPLE", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "kinesis", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "bucket_arn": "arn:aws:s3:::example-bucket", + "bucketname": "example-bucket", + "dd_resource_key": "arn:aws:s3:::example-bucket", + "event_name": "ObjectCreated:Put", + "language": "python", + "object_etag": "XXXX", + "object_key": "test/key", + "object_size": "1024", + "operation_name": "aws.s3", + "peer.service": "integration-tests-python", + "resource_names": "example-bucket", + "runtime-id": "XXXX", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.s3", + "parent_id": "XXXX", + "resource": "example-bucket", + "service": "example-bucket", + "span_id": "XXXX", + "span_links": [ + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "1dc3e5d00dae48c1f07d95371a747788", + "ptr.kind": "aws.s3.object" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + } + ], + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", + "language": "python", + "message_id": "XXXX", + "operation_name": "aws.sns", + "peer.service": "integration-tests-python", + "resource_names": "sns-lambda", + "runtime-id": "XXXX", + "span.kind": "server", + "subject": "TestInvoke", + "topic_arn": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", + "topicname": "sns-lambda", + "type": "Notification" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.sns", + "parent_id": "XXXX", + "resource": "sns-lambda", + "service": "sns-lambda", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", + "language": "python", + "operation_name": "aws.sqs", + "peer.service": "integration-tests-python", + "queuename": "my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "resource_names": "my-queue", + "runtime-id": "XXXX", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.sqs", + "parent_id": "XXXX", + "resource": "my-queue", + "service": "my-queue", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-async-metrics_python315", + "resource:integration-tests-python-XXXX-async-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "hello.dog", + "t": [ + "team:serverless", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "tests.integration.count", + "t": [ + "test:integration", + "role:hello", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 21 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "connection_id": "XXXX=", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", + "endpoint": "$default", + "event_type": "MESSAGE", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com$default", + "language": "python", + "message_direction": "IN", + "operation_name": "aws.apigateway.websocket", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "$default", + "runtime-id": "XXXX", + "span.kind": "server", + "stage": "dev" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.apigateway.websocket", + "parent_id": "XXXX", + "resource": "$default", + "service": "XXXX.execute-api.eu-west-1.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-async-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-async-metrics_python315", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-async-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-async-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/tests/integration/snapshots/logs/sync-metrics_python315.log b/tests/integration/snapshots/logs/sync-metrics_python315.log new file mode 100644 index 000000000..d757b93cd --- /dev/null +++ b/tests/integration/snapshots/logs/sync-metrics_python315.log @@ -0,0 +1,2026 @@ +INIT_START Runtime Version: python:3.15.vX Runtime Version ARN: arn:aws:lambda:eu-west-1:XXXX:eu-west-1 +[tls-profile] applied 'commercial/2025' -> /var/runtime/tls-profiles/commercial-2025.conf +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:true", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/70ixmpl4fl/stages/Prod", + "endpoint": "/", + "http.method": "GET", + "http.route": "/", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/", + "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", + "language": "python", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "GET /", + "runtime-id": "XXXX", + "span.kind": "server", + "stage": "Prod" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.apigateway", + "parent_id": "XXXX", + "resource": "GET /", + "service": "XXXX.execute-api.us-east-2.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "true", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "http.method": "GET", + "http.route": "/", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.us-east-2.amazonaws.com/Prod/", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "language": "python", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "runtime-id": "XXXX", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +{ + "e": XXXX, + "m": "datadog.serverless.dynamodb.stream.type", + "t": [ + "streamtype:NEW_AND_OLD_IMAGES", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_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", + "event_id": "XXXX", + "event_name": "INSERT", + "event_source_arn": "arn:aws:dynamodb:us-east-1:XXXX:us-east-1/ExampleTableWithStream/stream/2015-06-27T00:48:05.899", + "event_version": "1.1", + "language": "python", + "operation_name": "aws.dynamodb", + "peer.service": "integration-tests-python", + "resource_names": "ExampleTableWithStream", + "runtime-id": "XXXX", + "size_bytes": "26", + "span.kind": "server", + "stream_view_type": "NEW_AND_OLD_IMAGES", + "tablename": "ExampleTableWithStream" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.dynamodb", + "parent_id": "XXXX", + "resource": "ExampleTableWithStream", + "service": "ExampleTableWithStream", + "span_id": "XXXX", + "span_links": [ + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + }, + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + }, + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "e2af34d333891f765c7f02d2da80895e", + "ptr.kind": "aws.dynamodb.item" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + } + ], + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "detail_type": "testdetail", + "language": "python", + "operation_name": "aws.eventbridge", + "peer.service": "integration-tests-python", + "resource_names": "eventbridge.custom.event.sender", + "runtime-id": "XXXX", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.eventbridge", + "parent_id": "XXXX", + "resource": "eventbridge.custom.event.sender", + "service": "eventbridge.custom.event.sender", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "eventbridge", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/x02yirxc7a/stages/$default", + "endpoint": "/httpapi/get", + "http.method": "GET", + "http.protocol": "HTTP/1.1", + "http.route": "/httpapi/get", + "http.source_ip": "XXXX", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", + "http.useragent": "curl/7.64.1", + "language": "python", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "GET /httpapi/get", + "runtime-id": "XXXX", + "stage": "$default" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.httpapi", + "parent_id": "XXXX", + "resource": "GET /httpapi/get", + "service": "XXXX.execute-api.eu-west-1.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX$default", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "http.method": "GET", + "http.route": "/httpapi/get", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com/httpapi/get", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:kinesis:EXAMPLE", + "event_id": "XXXX", + "event_name": "aws:kinesis:record", + "event_source_arn": "arn:aws:kinesis:EXAMPLE", + "event_version": "1.0", + "language": "python", + "operation_name": "aws.kinesis", + "partition_key": "XXXX", + "peer.service": "integration-tests-python", + "resource_names": "EXAMPLE", + "runtime-id": "XXXX", + "shardid": "shardId-XXXX", + "span.kind": "server", + "streamname": "EXAMPLE" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.kinesis", + "parent_id": "XXXX", + "resource": "EXAMPLE", + "service": "EXAMPLE", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "kinesis", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "bucket_arn": "arn:aws:s3:::example-bucket", + "bucketname": "example-bucket", + "dd_resource_key": "arn:aws:s3:::example-bucket", + "event_name": "ObjectCreated:Put", + "language": "python", + "object_etag": "XXXX", + "object_key": "test/key", + "object_size": "1024", + "operation_name": "aws.s3", + "peer.service": "integration-tests-python", + "resource_names": "example-bucket", + "runtime-id": "XXXX", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.s3", + "parent_id": "XXXX", + "resource": "example-bucket", + "service": "example-bucket", + "span_id": "XXXX", + "span_links": [ + { + "attributes": { + "link.kind": "span-pointer", + "ptr.dir": "u", + "ptr.hash": "1dc3e5d00dae48c1f07d95371a747788", + "ptr.kind": "aws.s3.object" + }, + "span_id": "XXXX", + "trace_id": "XXXX" + } + ], + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", + "language": "python", + "message_id": "XXXX", + "operation_name": "aws.sns", + "peer.service": "integration-tests-python", + "resource_names": "sns-lambda", + "runtime-id": "XXXX", + "span.kind": "server", + "subject": "TestInvoke", + "topic_arn": "arn:aws:sns:us-east-2:XXXX:us-east-2-lambda", + "topicname": "sns-lambda", + "type": "Notification" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.sns", + "parent_id": "XXXX", + "resource": "sns-lambda", + "service": "sns-lambda", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "async", + "_inferred_span.tag_source": "self", + "dd_resource_key": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:XXXX:us-east-2-queue", + "language": "python", + "operation_name": "aws.sqs", + "peer.service": "integration-tests-python", + "queuename": "my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "resource_names": "my-queue", + "runtime-id": "XXXX", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "span.kind": "server" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.sqs", + "parent_id": "XXXX", + "resource": "my-queue", + "service": "my-queue", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-python-XXXX-sync-metrics_python315", + "resource:integration-tests-python-XXXX-sync-metrics_python315", + "memorysize:1024", + "cold_start:false", + "runtime:python3.15", + "datadog_lambda:vXX", + "dd_lambda_layer:datadog-python315_X.X.X" + ], + "v": 1 +} +HTTP GET https://datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +HTTP GET https://www.datadoghq.com/ Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","User-Agent:python-requests/X.X.X","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.peer.service.source": "peer.service", + "_dd.svc_src": "m", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "_inferred_span.synchronicity": "sync", + "_inferred_span.tag_source": "self", + "apiid": "XXXX", + "apiname": "XXXX", + "connection_id": "XXXX=", + "dd_resource_key": "arn:aws:apigateway:eu-west-1:XXXX:eu-west-1/restapis/p62c47itsb/stages/dev", + "endpoint": "$default", + "event_type": "MESSAGE", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com$default", + "language": "python", + "message_direction": "IN", + "operation_name": "aws.apigateway.websocket", + "peer.service": "integration-tests-python", + "request_id": "XXXX", + "resource_names": "$default", + "runtime-id": "XXXX", + "span.kind": "server", + "stage": "dev" + }, + "metrics": { + "_dd._inferred_span": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "aws.apigateway.websocket", + "parent_id": "XXXX", + "resource": "$default", + "service": "XXXX.execute-api.eu-west-1.amazonaws.com", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "web" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "_dd.svc_src": "m", + "cold_start": "false", + "datadog_lambda": "X.X.X", + "dd_trace": "X.X.X", + "function_arn": "arn:aws:lambda:eu-west-1:XXXX:eu-west-1-tests-python-XXXX-sync-metrics_python315", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "XXXX", + "function_version": "$LATEST", + "functionname": "integration-tests-python-XXXX-sync-metrics_python315", + "http.status_code": "200", + "http.url": "https://XXXX.execute-api.eu-west-1.amazonaws.com", + "request_id": "XXXX", + "resource_names": "integration-tests-python-XXXX-sync-metrics_python315", + "span.kind": "server", + "span.name": "aws.lambda" + }, + "metrics": { + "_dd.top_level": 1 + }, + "name": "aws.lambda", + "parent_id": "XXXX", + "resource": "integration-tests-python-XXXX-sync-metrics_python315", + "service": "integration-tests-python", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "serverless" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + }, + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "component": "requests", + "http.method": "GET", + "http.status_code": "200", + "http.status_msg": "OK", + "http.url": "https://www.datadoghq.com/", + "http.useragent": "python-requests/X.X.X", + "out.host": "www.datadoghq.com", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1 + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "GET /", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +HTTP POST https://api.datadoghq.com/api/v1/distribution_points Headers: ["Accept-Encoding:gzip, deflate, zstd","Accept:*/*","Connection:keep-alive","Content-Encoding:deflate","Content-Length:XXXX","Content-Type:application/json","DD-API-KEY:XXXX","User-Agent:datadogpy/XX (python XX; os linux; arch XXXX)","traceparent:XXX","tracestate:XXX +{ + "traces": [ + [ + { + "duration": "XXXX", + "error": 0, + "meta": { + "_dd.base_service": "integration-tests-python", + "_dd.origin": "lambda", + "_dd.p.dm": "-0", + "_dd.p.tid": "XXXX", + "_dd.svc_src": "requests", + "_dd.tags.process": "entrypoint.basedir:runtime,entrypoint.name:bootstrap,entrypoint.type:script,entrypoint.workdir:task,svc.user:true", + "component": "requests", + "http.method": "POST", + "http.status_code": "202", + "http.status_msg": "Accepted", + "http.url": "https://api.datadoghq.com/api/v1/distribution_points", + "http.useragent": "datadogpy/XX (python XX; os linux; arch XXXX)", + "language": "python", + "out.host": "api.datadoghq.com", + "runtime-id": "XXXX", + "span.kind": "client" + }, + "metrics": { + "_dd.measured": 1, + "_dd.top_level": 1, + "_sampling_priority_v1": 1, + "process_id": XXXX + }, + "name": "requests.request", + "parent_id": "XXXX", + "resource": "POST /api/v1/distribution_points", + "service": "requests", + "span_id": "XXXX", + "start": "XXXX", + "trace_id": "XXXX", + "type": "http" + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB From 5e99d692490d9d32f96a932cd6b7255c79030655 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Fri, 13 Nov 2026 13:06:42 -0500 Subject: [PATCH 3/4] normalize logs --- scripts/run_integration_tests.sh | 4 +++- tests/integration/snapshots/logs/async-metrics_python315.log | 1 - tests/integration/snapshots/logs/sync-metrics_python315.log | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index 027663338..e2c2f7369 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -256,7 +256,9 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do # Parse out account ID in ARN sed -E "s/([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9\-]+):([a-zA-Z0-9\-\:]+)/\1:\2:\3:\4:XXXX:\4/g" | sed -E "/init complete at epoch/d" | - sed -E "/main started at epoch/d" + sed -E "/main started at epoch/d" | + # Lambda preview runtimes log the TLS profile name, which is not stable across invocations + sed '/\[tls-profile\]/d' ) if [ ! -f $function_snapshot_path ]; then diff --git a/tests/integration/snapshots/logs/async-metrics_python315.log b/tests/integration/snapshots/logs/async-metrics_python315.log index 4a41bbb80..b817e9f35 100644 --- a/tests/integration/snapshots/logs/async-metrics_python315.log +++ b/tests/integration/snapshots/logs/async-metrics_python315.log @@ -1,5 +1,4 @@ INIT_START Runtime Version: python:3.15.vX Runtime Version ARN: arn:aws:lambda:eu-west-1:XXXX:eu-west-1 -[tls-profile] applied 'aws' -> /var/runtime/tls-profiles/commercial-2025.conf START { "e": XXXX, diff --git a/tests/integration/snapshots/logs/sync-metrics_python315.log b/tests/integration/snapshots/logs/sync-metrics_python315.log index d757b93cd..48c6da7a9 100644 --- a/tests/integration/snapshots/logs/sync-metrics_python315.log +++ b/tests/integration/snapshots/logs/sync-metrics_python315.log @@ -1,5 +1,4 @@ INIT_START Runtime Version: python:3.15.vX Runtime Version ARN: arn:aws:lambda:eu-west-1:XXXX:eu-west-1 -[tls-profile] applied 'commercial/2025' -> /var/runtime/tls-profiles/commercial-2025.conf START { "e": XXXX, From 844bf161563b277d99e30aaa8c381bbba82aa16b Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Fri, 13 Nov 2026 15:31:23 -0500 Subject: [PATCH 4/4] fix diff --- pyproject.toml.bak | 73 ---------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 pyproject.toml.bak diff --git a/pyproject.toml.bak b/pyproject.toml.bak deleted file mode 100644 index 66808faeb..000000000 --- a/pyproject.toml.bak +++ /dev/null @@ -1,73 +0,0 @@ -[tool.poetry] -name = "datadog_lambda" -version = "8.130.0" -description = "The Datadog AWS Lambda Library" -authors = ["Datadog, Inc. "] -license = "Apache-2.0" -readme = "README.md" -repository = "https://github.com/DataDog/datadog-lambda-python" -keywords = [ - "datadog", - "aws", - "lambda", - "layer", -] -packages = [ - { include = "datadog_lambda" } -] -classifiers = [ - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: 3.14", - "Programming Language :: Python :: 3.15", -] - -[tool.poetry.dependencies] -python = ">=3.8.0,<3.16" -datadog = ">=0.51.0,<1.0.0" -wrapt = ">=1.11.2,!=2.2.0,<3" -ddtrace = [ - {version = ">=3.19.1,<4", python = ">=3.8,<3.10"}, - {version = ">=4.1.1,<5,!=4.6.*", python = ">=3.10"} -] -ujson = [ - {version = ">=5.10.0,<5.12.0", python = ">=3.8,<3.10"}, - {version = "^5.12.0", python = ">=3.10"}, -] -urllib3 = [ - {version = ">=1.25.4,<1.27", python = ">=3.8,<3.10"}, - {version = "^2.6.3", python = ">=3.10"}, -] -botocore = { version = "^1.34.0", optional = true } -requests = [ - { version = "^2.22.0", optional = true, python = ">=3.8,<3.10" }, - { version = "^2.33.0", optional = true, python = ">=3.10" }, -] -pytest = [ - { version = "^8.3.4", optional = true, python = ">=3.8,<3.10" }, - # TODO: Remove the <9.2 cap once pytest-benchmark 4.x is compatible with pytest 9.2+ - # (pytest 9.2 removed Node._nodeid, which pytest_benchmark/fixture.py relies on). - { version = ">=9.0.3,<9.2", optional = true, python = ">=3.10" }, -] -pytest-benchmark = { version = "^4.0", optional = true } -flake8 = { version = "^5.0.4", optional = true } - -[tool.poetry.extras] -dev = [ - "botocore", - "flake8", - "pytest", - "pytest-benchmark", - "requests", -] - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" - -[tool.pytest.ini_options] -addopts = "--benchmark-disable --benchmark-autosave"