Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
ruby-version: [3.2, 3.3, 3.4]
ruby-version: ["3.2", "3.3", "3.4", "4.0"]
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
runtime-param: [3.2, 3.3, 3.4]
runtime-param: ["3.2", "3.3", "3.4", "4.0"]

steps:
- name: Checkout
Expand Down
5 changes: 4 additions & 1 deletion .gitlab/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ FROM registry.ddbuild.io/images/docker:24.0.5
RUN apt-get update && apt-get install -y --fix-missing --no-install-recommends \
curl gcc gnupg g++ make cmake unzip openssl g++ uuid-runtime xxd ca-certificates

# Install Ruby 3.4
# Install whatever Ruby ships with Debian's ruby-full package.
# This container only runs build/publish tooling (aws cli, serverless, gomplate);
# language tests and integration tests run in per-runtime images defined in
# .gitlab/datasources/runtimes.yaml, so the version here is intentionally unpinned.
RUN apt-get install ruby-full -y

# Install NodeJS 18.x
Expand Down
8 changes: 8 additions & 0 deletions .gitlab/datasources/runtimes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,11 @@ runtimes:
ruby_version: "3.4"
arch: "arm64"
image: "3.4.3"
- name: "ruby40"
ruby_version: "4.0"
arch: "amd64"
image: "4.0.1"
- name: "ruby40"
ruby_version: "4.0"
arch: "arm64"
image: "4.0.1"
2 changes: 1 addition & 1 deletion .gitlab/scripts/build_layer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set -e

LAYER_DIR=".layers"
LAYER_FILES_PREFIX="datadog-lambda_ruby"
AVAILABLE_RUBY_VERSIONS=("3.2" "3.3" "3.4")
AVAILABLE_RUBY_VERSIONS=("3.2" "3.3" "3.4" "4.0")

if [ -z "$ARCH" ]; then
echo "[ERROR]: ARCH not specified"
Expand Down
8 changes: 7 additions & 1 deletion .gitlab/scripts/publish_layer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,19 @@ AWS_CLI_RUBY_VERSIONS=(
"ruby3.3"
"ruby3.4"
"ruby3.4"
"ruby4.0"
"ruby4.0"
)
RUBY_VERSIONS=("3.2-amd64" "3.2-arm64" "3.3-amd64" "3.3-arm64" "3.4-amd64" "3.4-arm64")
RUBY_VERSIONS=("3.2-amd64" "3.2-arm64" "3.3-amd64" "3.3-arm64" "3.4-amd64" "3.4-arm64" "4.0-amd64" "4.0-arm64")
LAYER_PATHS=(
".layers/datadog-lambda_ruby-amd64-3.2.zip"
".layers/datadog-lambda_ruby-arm64-3.2.zip"
".layers/datadog-lambda_ruby-amd64-3.3.zip"
".layers/datadog-lambda_ruby-arm64-3.3.zip"
".layers/datadog-lambda_ruby-amd64-3.4.zip"
".layers/datadog-lambda_ruby-arm64-3.4.zip"
".layers/datadog-lambda_ruby-amd64-4.0.zip"
".layers/datadog-lambda_ruby-arm64-4.0.zip"
)
LAYERS=(
"Datadog-Ruby3-2"
Expand All @@ -34,6 +38,8 @@ LAYERS=(
"Datadog-Ruby3-3-ARM"
"Datadog-Ruby3-4"
"Datadog-Ruby3-4-ARM"
"Datadog-Ruby4-0"
"Datadog-Ruby4-0-ARM"
)
STAGES=('prod', 'sandbox', 'staging', 'gov-staging', 'gov-prod')

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ We love pull requests. For new features, consider opening an issue to discuss th
./scripts/build_layers.sh

# If you want to build a layer for a specific ruby version then
RUBY_VERSION=3.4 ./scripts/build_layers.sh
RUBY_VERSION=4.0 ./scripts/build_layers.sh

# Publish the testing layer to your own AWS account, and the ARN will be returned
# Example: ./scripts/publish_layers.sh us-east-1
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ RUN gem build datadog-lambda

# Install ddtrace gem
RUN gem install datadog-lambda --install-dir "/opt/ruby/gems/$runtime"
RUN gem install datadog -v 2.12 --install-dir "/opt/ruby/gems/$runtime"
# NOTE: datadog gem must be >= 2.24 to install on Ruby 4.0.x.
RUN gem install datadog -v 2.30 --install-dir "/opt/ruby/gems/$runtime"

WORKDIR /opt
# Remove native extension debase-ruby_core_source (25MB) runtimes below Ruby 2.6
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,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-rb/blob/main/LICENSE)

Datadog Lambda Library for Ruby (3.2, 3.3, and 3.4) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions.
Datadog Lambda Library for Ruby (3.2, 3.3, 3.4, and 4.0) enables enhanced Lambda metrics, distributed tracing, and custom metric submission from AWS Lambda functions.

## Installation

Expand Down
10 changes: 7 additions & 3 deletions datadog-lambda.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,15 @@ Gem::Specification.new do |spec|
spec.add_dependency 'dogstatsd-ruby', '~> 5.0'

# We don't add this as a direct dependency, because it has
# native modules that are difficult to package for lambda
spec.add_development_dependency 'datadog', '~> 2.12'
# native modules that are difficult to package for lambda.
# NOTE: 2.24 is the floor for Ruby 4.0 install support; bumped to 2.30
# to match the version pinned in the layer Dockerfile.
spec.add_development_dependency 'datadog', '~> 2.30'

# Development dependencies
spec.add_development_dependency 'rake', '~> 12.3'
# NOTE: rake >= 13 is required for Ruby 4.0 support — rake 12.x pulls in
# ostruct at load time, which is no longer a default gem in Ruby 4.0.
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rspec', '~> 3.8'
spec.add_development_dependency 'rspec-collection_matchers', '~> 1.1'
spec.add_development_dependency 'rubocop', '~> 1'
Expand Down
26 changes: 13 additions & 13 deletions integration_tests/snapshots/logs/async-metrics_ruby32.log
Original file line number Diff line number Diff line change
@@ -1,20 +1,8 @@

{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:true","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:APIGateway"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB
END Duration: XXXX ms (init: XXXX) Memory Used: XXXX MB
END Duration: XXXX ms (init: XXXX) Memory Used: XXXX MB
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - CORE - {"date":"XXXX","os_name":"XXXX","version":"2.12.0","lang":"ruby","lang_version":"3.2.X","env":null,"service":"index","dd_version":null,"debug":false,"tags":"_dd.origin:lambda","runtime_metrics_enabled":false,"vm":"ruby-3.2.X","health_metrics_enabled":false,"profiling_enabled":false,"dynamic_instrumentation_enabled":false}
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - CORE - {"date":"XXXX","os_name":"XXXX","version":"2.30.0","lang":"ruby","lang_version":"3.2.X","env":null,"service":"index","dd_version":null,"debug":false,"tags":"_dd.origin:lambda","runtime_metrics_enabled":false,"vm":"ruby-3.2.X","health_metrics_enabled":false,"profiling_enabled":false,"dynamic_instrumentation_enabled":false}
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - TRACING - {"enabled":true,"agent_url":null,"analytics_enabled":false,"sample_rate":null,"sampling_rules":null,"integrations_loaded":"aws@","partial_flushing_enabled":false}
Processed APIGateway request
Processed SNS request
Expand All @@ -23,3 +11,15 @@ START
START
START
W, [XXXX] WARN XXXX[datadog] Unable to patch Datadog::Tracing::Contrib::Aws::Integration (Available?: false, Loaded? false, Compatible? false, Patchable? false)
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby32","functionname:integration-tests-rb-XXXX-async-metrics_ruby32","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:true","runtime:Ruby 3.2.X","resource:integration-tests-rb-XXXX-async-metrics_ruby32","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:APIGateway"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby32","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
26 changes: 13 additions & 13 deletions integration_tests/snapshots/logs/async-metrics_ruby33.log
Original file line number Diff line number Diff line change
@@ -1,20 +1,8 @@

{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:true","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:APIGateway"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB
END Duration: XXXX ms (init: XXXX) Memory Used: XXXX MB
END Duration: XXXX ms (init: XXXX) Memory Used: XXXX MB
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - CORE - {"date":"XXXX","os_name":"XXXX","version":"2.12.0","lang":"ruby","lang_version":"3.3.X","env":null,"service":"index","dd_version":null,"debug":false,"tags":"_dd.origin:lambda","runtime_metrics_enabled":false,"vm":"ruby-3.3.X","health_metrics_enabled":false,"profiling_enabled":false,"dynamic_instrumentation_enabled":false}
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - CORE - {"date":"XXXX","os_name":"XXXX","version":"2.30.0","lang":"ruby","lang_version":"3.3.X","env":null,"service":"index","dd_version":null,"debug":false,"tags":"_dd.origin:lambda","runtime_metrics_enabled":false,"vm":"ruby-3.3.X","health_metrics_enabled":false,"profiling_enabled":false,"dynamic_instrumentation_enabled":false}
I, [XXXX] INFO XXXX[datadog] DATADOG CONFIGURATION - TRACING - {"enabled":true,"agent_url":null,"analytics_enabled":false,"sample_rate":null,"sampling_rules":null,"integrations_loaded":"aws@","partial_flushing_enabled":false}
Processed APIGateway request
Processed SNS request
Expand All @@ -23,3 +11,15 @@ START
START
START
W, [XXXX] WARN XXXX[datadog] Unable to patch Datadog::Tracing::Contrib::Aws::Integration (Available?: false, Loaded? false, Compatible? false, Patchable? false)
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:false","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["dd_lambda_layer:datadog-ruby33","functionname:integration-tests-rb-XXXX-async-metrics_ruby33","region:eu-west-1","account_id:XXXX","memorysize:1024","cold_start:true","runtime:Ruby 3.3.X","resource:integration-tests-rb-XXXX-async-metrics_ruby33","datadog_lambda:X.X.X","dd_trace:2.XX.X"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:APIGateway"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.execution","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SNS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["dd_lambda_layer:datadog-ruby33","tagkey:tagvalue","eventsource:SQS"],"v":1}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
{"traces":[[{"error":0,"meta":{"XXXX": "XXXX"},"metrics":{"XXXX": "XXXX"},"meta_struct":{},"name":"aws.lambda","parent_id":"XXXX","resource":"dd-tracer-serverless-span","service":"aws.lambda","span_id":"XXXX","trace_id":"XXXX","type":"serverless","span_links":[],"start":XXXX,"duration":XXXX}]]}
Loading