datadog-lambda 1.13.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/datadog/lambda/trace/ddtrace.rb +8 -11
- data/lib/datadog/lambda/version.rb +2 -2
- data/lib/datadog/lambda.rb +5 -5
- metadata +21 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2db432203f35cb4abd7dfb7d9b072db41a8187ce990d8d8fe7e23e76bb880d80
|
4
|
+
data.tar.gz: 44e85f5fbbaca2e2eff04c1a44c176983cd532580ab4ada6b6beca9c40cd04d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49fa2240d7e2c0e7d98536ab0c958b29910b805c8933611239143d45621409fbf7b22f14626d46262ba17ed8ce65c4af7a35ca680854cec259dc9272fa899784
|
7
|
+
data.tar.gz: 0053b4ff3302215716ccc43e7d077b3fff41672adb8eea39a7df4800adec31b51d6ed83f7d53129f06d689638b4b2a1b45a4a9b5a1aa749bc1f14d9b60381471
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# ddtrace is an optional dependency for the ruby package
|
3
|
+
# `ddtrace`` is an optional dependency for the ruby package
|
4
4
|
begin
|
5
5
|
require 'ddtrace'
|
6
6
|
rescue LoadError
|
@@ -16,27 +16,24 @@ module Datadog
|
|
16
16
|
trace_id = context[:trace_id].to_i
|
17
17
|
span_id = context[:parent_id].to_i
|
18
18
|
sampling_priority = context[:sample_mode]
|
19
|
-
|
20
|
-
trace_id: trace_id,
|
19
|
+
trace_digest = Datadog::Tracing::TraceDigest.new(
|
21
20
|
span_id: span_id,
|
22
|
-
|
21
|
+
trace_id: trace_id,
|
22
|
+
trace_sampling_priority: sampling_priority
|
23
23
|
)
|
24
|
+
Datadog::Tracing.continue_trace!(trace_digest)
|
24
25
|
end
|
25
26
|
rescue StandardError
|
26
27
|
Datadog::Utils.logger.debug 'dd-trace unavailable'
|
27
28
|
end
|
28
29
|
|
29
30
|
def wrap_datadog(options, &block)
|
30
|
-
|
31
|
-
begin
|
32
|
-
Datadog.tracer
|
33
|
-
tracer_available = true
|
34
|
-
rescue StandardError
|
31
|
+
unless Datadog::Tracing.enabled?
|
35
32
|
Datadog::Utils.logger.debug 'dd-trace unavailable'
|
33
|
+
return block.call
|
36
34
|
end
|
37
|
-
return block.call unless tracer_available
|
38
35
|
|
39
|
-
Datadog.
|
36
|
+
Datadog::Tracing.trace('aws.lambda', options) do |_span|
|
40
37
|
block.call
|
41
38
|
end
|
42
39
|
end
|
data/lib/datadog/lambda.rb
CHANGED
@@ -27,15 +27,15 @@ module Datadog
|
|
27
27
|
# Same options can be given as Datadog.configure in tracer
|
28
28
|
# See https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md#quickstart-for-ruby-applications
|
29
29
|
def self.configure_apm
|
30
|
-
require '
|
31
|
-
require 'ddtrace/
|
30
|
+
require 'datadog/tracing'
|
31
|
+
require 'ddtrace/transport/io'
|
32
32
|
|
33
33
|
@patch_http = false
|
34
34
|
# Needed to keep trace flushes on a single line
|
35
35
|
$stdout.sync = true
|
36
36
|
|
37
37
|
Datadog.configure do |c|
|
38
|
-
c.
|
38
|
+
c.tracing.writer = Datadog::Tracing::SyncWriter.new(
|
39
39
|
transport: Datadog::Transport::IO.default
|
40
40
|
)
|
41
41
|
c.tags = { "_dd.origin": 'lambda' }
|
@@ -102,7 +102,7 @@ module Datadog
|
|
102
102
|
# @return [hash] a hash of the enhanced metrics tags
|
103
103
|
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
104
104
|
def self.gen_enhanced_tags(context)
|
105
|
-
arn_parts = context.invoked_function_arn.split(':')
|
105
|
+
arn_parts = context.invoked_function_arn.to_s.split(':')
|
106
106
|
# Check if we have an alias or version
|
107
107
|
function_alias = arn_parts[7].nil? ? nil : arn_parts[7]
|
108
108
|
|
@@ -160,7 +160,7 @@ module Datadog
|
|
160
160
|
end
|
161
161
|
|
162
162
|
# Check the DD_ENHANCED_METRICS environment variable
|
163
|
-
# @
|
163
|
+
# @return [boolean] true if this lambda should have
|
164
164
|
# enhanced metrics
|
165
165
|
def self.do_enhanced_metrics?
|
166
166
|
dd_enhanced_metrics = ENV['DD_ENHANCED_METRICS']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datadog-lambda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-xray-sdk
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.5.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.5.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,8 +94,22 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.74'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: solargraph
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.47.2
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.47.2
|
97
111
|
description: |
|
98
|
-
datadog-lambda is Datadog
|
112
|
+
datadog-lambda is Datadog's AWS Lambda integration for ruby. It is used to perform
|
99
113
|
distributed tracing between serverful and serverless environments, and send
|
100
114
|
custom metrics to Datadog.
|
101
115
|
email:
|
@@ -126,15 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
140
|
requirements:
|
127
141
|
- - ">="
|
128
142
|
- !ruby/object:Gem::Version
|
129
|
-
version: 2.
|
143
|
+
version: 2.7.0
|
130
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
145
|
requirements:
|
132
146
|
- - ">="
|
133
147
|
- !ruby/object:Gem::Version
|
134
148
|
version: '0'
|
135
149
|
requirements: []
|
136
|
-
|
137
|
-
rubygems_version: 2.7.6
|
150
|
+
rubygems_version: 3.1.6
|
138
151
|
signing_key:
|
139
152
|
specification_version: 4
|
140
153
|
summary: Instruments your Ruby AWS Lambda functions with Datadog
|