datadog-lambda 0.9.0 → 1.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15ddc462886c4a35ba66d327ebbc2be17c403b2d47cab973fa06e05d6df3d2d1
4
- data.tar.gz: b90918aa8b2372e2149e4b084b5ee97d9a8268ebff7ebb83a0e1a6a3751488c1
3
+ metadata.gz: c19e8514981117ae88bdaa4d17f7a3a5db19595d39336100ac581e0cf330be1d
4
+ data.tar.gz: 5d2c0ef21fb1fb0d33759f0b3430daebe88100e4f626b20f6dd9512739c6b62c
5
5
  SHA512:
6
- metadata.gz: 71b82b6b3ec47c17fff39fb4f3bfd40c6d2ef7ba477baa82de83a87bc710fc0114fa7aadc84153908db40de6af8437248e9634b8838a6d60af54e44fefbe8e29
7
- data.tar.gz: ca9afd36577caa6b5efef5663add0b37e32bfa953b55ee2909bc2f104a139e0a6478fcddcdde67687537672ae88b2d50f81b3d79c4aefa2967c29cae4faf367b
6
+ metadata.gz: 6cab42dc833290ea7742def1dda6e4bb4a89ebb7f90240e053cdbcd8f8a338fbaaa98069dc48fdc6d823fb087a90c946c097bd012014e31b84629995f296fe0a
7
+ data.tar.gz: 4092f19c6b544307e2a82492fd13ce2241d2e0820df2b81da53a6adbd4ec3da0aa9b6d04a56c528b822f93df36e8122985d1a5c0584773d867c3f787feb46eba
@@ -37,6 +37,7 @@ module Datadog
37
37
  c.tracer writer: Datadog::SyncWriter.new(
38
38
  transport: Datadog::Transport::IO.default
39
39
  )
40
+ c.tags = { "_dd.origin": 'lambda' }
40
41
  yield(c) if block_given?
41
42
  end
42
43
  end
@@ -68,7 +69,6 @@ module Datadog
68
69
  # Gets the current tracing context
69
70
  def self.trace_context
70
71
  context = Hash[Datadog::Trace.trace_context]
71
- context.delete(:source)
72
72
  context
73
73
  end
74
74
 
@@ -82,13 +82,18 @@ module Datadog
82
82
  raise 'value must be a number' unless value.is_a?(Numeric)
83
83
 
84
84
  time ||= Time.now
85
- tag_list = ['dd_lambda_layer:datadog-ruby25']
85
+ time_ms = time.to_f.to_i
86
+
87
+ tag_list = ["dd_lambda_layer:datadog-ruby#{dd_lambda_layer_tag}"]
86
88
  tags.each do |tag|
87
89
  tag_list.push("#{tag[0]}:#{tag[1]}")
88
90
  end
89
- time_ms = time.to_f.to_i
90
- metric = { e: time_ms, m: name, t: tag_list, v: value }.to_json
91
- puts metric
91
+ metric = { e: time_ms, m: name, t: tag_list, v: value }
92
+ puts metric.to_json
93
+ end
94
+
95
+ def self.dd_lambda_layer_tag
96
+ RUBY_VERSION[0, 3].tr('.', '')
92
97
  end
93
98
 
94
99
  # Generate tags for enhanced metrics
@@ -41,8 +41,11 @@ module Datadog
41
41
  request_context: request_context,
42
42
  cold_start: cold_start
43
43
  )
44
- options[:resource] = @handler_name
45
- options[:service] = @function_name
44
+ context = Datadog::Trace.trace_context
45
+ source = context[:source] if context
46
+ options[:tags]['_dd.parent_source'] = source if source && source != 'ddtrace'
47
+ options[:resource] = @function_name
48
+ options[:service] = 'aws.lambda'
46
49
  options[:span_type] = 'serverless'
47
50
  Datadog::Trace.apply_datadog_trace_context(Datadog::Trace.trace_context)
48
51
  Datadog::Trace.wrap_datadog(options) do
@@ -36,11 +36,7 @@ module Datadog
36
36
  Datadog::Trace.trace_context
37
37
  )
38
38
 
39
- req[Datadog::Trace::DD_SAMPLING_PRIORITY_HEADER.to_sym] =
40
- context[:sample_mode]
41
- req[Datadog::Trace::DD_PARENT_ID_HEADER.to_sym] = context[:parent_id]
42
- req[Datadog::Trace::DD_TRACE_ID_HEADER.to_sym] = context[:trace_id]
43
- logger.debug("added context #{context} to request")
39
+ req = add_ctx_to_req(req, context)
44
40
  rescue StandardError => e
45
41
  trace = e.backtrace.join("\n ")
46
42
  logger.debug(
@@ -49,6 +45,17 @@ module Datadog
49
45
  end
50
46
  super(req, body, &block)
51
47
  end
48
+
49
+ private
50
+
51
+ def add_ctx_to_req(req, context)
52
+ req[Datadog::Trace::DD_SAMPLING_PRIORITY_HEADER.to_sym] =
53
+ context[:sample_mode]
54
+ req[Datadog::Trace::DD_PARENT_ID_HEADER.to_sym] = context[:parent_id]
55
+ req[Datadog::Trace::DD_TRACE_ID_HEADER.to_sym] = context[:trace_id]
56
+ logger.debug("added context #{context} to request")
57
+ req
58
+ end
52
59
  end
53
60
  end
54
61
  end
@@ -11,8 +11,8 @@
11
11
  module Datadog
12
12
  module Lambda
13
13
  module VERSION
14
- MAJOR = 0
15
- MINOR = 9
14
+ MAJOR = 1
15
+ MINOR = 10
16
16
  PATCH = 0
17
17
  PRE = nil
18
18
 
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: 0.9.0
4
+ version: 1.10.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: 2020-07-23 00:00:00.000000000 Z
11
+ date: 2020-08-10 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: '0.32'
33
+ version: '0.4'
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: '0.32'
40
+ version: '0.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -113,7 +113,7 @@ files:
113
113
  - lib/datadog/lambda/trace/xray.rb
114
114
  - lib/datadog/lambda/utils/logger.rb
115
115
  - lib/datadog/lambda/version.rb
116
- homepage: https://github.com/DataDog/datadog-lambda-layer-rb
116
+ homepage: https://github.com/DataDog/datadog-lambda-rb
117
117
  licenses:
118
118
  - Apache-2.0
119
119
  metadata: