ddtrace 0.40.0 → 0.41.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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -1
  3. data/Rakefile +0 -23
  4. data/ddtrace.gemspec +1 -0
  5. data/lib/ddtrace/buffer.rb +154 -43
  6. data/lib/ddtrace/configuration.rb +4 -1
  7. data/lib/ddtrace/configuration/options.rb +3 -1
  8. data/lib/ddtrace/configuration/settings.rb +5 -1
  9. data/lib/ddtrace/contrib/active_record/events/sql.rb +4 -0
  10. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +2 -2
  11. data/lib/ddtrace/contrib/aws/instrumentation.rb +4 -0
  12. data/lib/ddtrace/contrib/dalli/instrumentation.rb +4 -0
  13. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +4 -0
  14. data/lib/ddtrace/contrib/ethon/easy_patch.rb +4 -2
  15. data/lib/ddtrace/contrib/ethon/multi_patch.rb +4 -0
  16. data/lib/ddtrace/contrib/excon/middleware.rb +4 -0
  17. data/lib/ddtrace/contrib/faraday/middleware.rb +4 -0
  18. data/lib/ddtrace/contrib/grape/endpoint.rb +6 -4
  19. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +4 -0
  20. data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +4 -0
  21. data/lib/ddtrace/contrib/http/instrumentation.rb +4 -0
  22. data/lib/ddtrace/contrib/httprb/instrumentation.rb +3 -0
  23. data/lib/ddtrace/contrib/mongodb/subscribers.rb +4 -0
  24. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +4 -0
  25. data/lib/ddtrace/contrib/presto/instrumentation.rb +3 -0
  26. data/lib/ddtrace/contrib/racecar/event.rb +4 -0
  27. data/lib/ddtrace/contrib/redis/tags.rb +4 -0
  28. data/lib/ddtrace/contrib/rest_client/request_patch.rb +4 -0
  29. data/lib/ddtrace/contrib/sequel/database.rb +3 -1
  30. data/lib/ddtrace/contrib/sequel/dataset.rb +3 -2
  31. data/lib/ddtrace/contrib/sequel/ext.rb +1 -0
  32. data/lib/ddtrace/contrib/sequel/utils.rb +16 -5
  33. data/lib/ddtrace/ext/integration.rb +8 -0
  34. data/lib/ddtrace/ext/runtime.rb +1 -0
  35. data/lib/ddtrace/opentracer/distributed_headers.rb +1 -1
  36. data/lib/ddtrace/propagation/grpc_propagator.rb +2 -2
  37. data/lib/ddtrace/runtime/metrics.rb +6 -2
  38. data/lib/ddtrace/sampler.rb +2 -2
  39. data/lib/ddtrace/span.rb +152 -27
  40. data/lib/ddtrace/tracer.rb +3 -4
  41. data/lib/ddtrace/transport/http/adapters/net.rb +8 -2
  42. data/lib/ddtrace/transport/http/statistics.rb +14 -1
  43. data/lib/ddtrace/transport/traces.rb +7 -2
  44. data/lib/ddtrace/utils.rb +7 -3
  45. data/lib/ddtrace/version.rb +1 -1
  46. metadata +17 -2
@@ -1,5 +1,6 @@
1
1
  require 'ddtrace/contrib/analytics'
2
2
  require 'ddtrace/contrib/aws/ext'
3
+ require 'ddtrace/ext/integration'
3
4
 
4
5
  module Datadog
5
6
  module Contrib
@@ -29,6 +30,9 @@ module Datadog
29
30
  span.name = Ext::SPAN_COMMAND
30
31
  span.resource = context.safely(:resource)
31
32
 
33
+ # Tag as an external peer service
34
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
35
+
32
36
  # Set analytics sample rate
33
37
  if Contrib::Analytics.enabled?(configuration[:analytics_enabled])
34
38
  Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate])
@@ -1,3 +1,4 @@
1
+ require 'ddtrace/ext/integration'
1
2
  require 'ddtrace/ext/net'
2
3
  require 'ddtrace/contrib/analytics'
3
4
  require 'ddtrace/contrib/dalli/ext'
@@ -20,6 +21,9 @@ module Datadog
20
21
  span.service = datadog_configuration[:service_name]
21
22
  span.span_type = Datadog::Contrib::Dalli::Ext::SPAN_TYPE_COMMAND
22
23
 
24
+ # Tag as an external peer service
25
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
26
+
23
27
  # Set analytics sample rate
24
28
  if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
25
29
  Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate])
@@ -1,5 +1,6 @@
1
1
  require 'ddtrace/contrib/patcher'
2
2
  require 'ddtrace/ext/app_types'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/ext/net'
4
5
  require 'ddtrace/contrib/analytics'
5
6
  require 'ddtrace/contrib/elasticsearch/ext'
@@ -77,6 +78,9 @@ module Datadog
77
78
  params = JSON.generate(params) if params && !params.is_a?(String)
78
79
  body = JSON.generate(body) if body && !body.is_a?(String)
79
80
 
81
+ # Tag as an external peer service
82
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
83
+
80
84
  # Set analytics sample rate
81
85
  if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
82
86
  Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate])
@@ -1,5 +1,6 @@
1
1
  require 'ddtrace/ext/net'
2
2
  require 'ddtrace/ext/distributed'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/propagation/http_propagator'
4
5
  require 'ddtrace/contrib/ethon/ext'
5
6
  require 'ddtrace/contrib/http_annotation_helper'
@@ -12,8 +13,8 @@ module Datadog
12
13
  def self.included(base)
13
14
  base.send(:prepend, InstanceMethods)
14
15
  end
15
-
16
16
  # InstanceMethods - implementing instrumentation
17
+ # rubocop:disable Metrics/ModuleLength
17
18
  module InstanceMethods
18
19
  include Datadog::Contrib::HttpAnnotationHelper
19
20
 
@@ -103,7 +104,8 @@ module Datadog
103
104
  method = @datadog_method.to_s
104
105
  end
105
106
  span.resource = method
106
-
107
+ # Tag as an external peer service
108
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
107
109
  # Set analytics sample rate
108
110
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
109
111
 
@@ -1,5 +1,6 @@
1
1
  require 'ddtrace/ext/net'
2
2
  require 'ddtrace/ext/distributed'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/propagation/http_propagator'
4
5
  require 'ddtrace/contrib/ethon/ext'
5
6
 
@@ -52,6 +53,9 @@ module Datadog
52
53
  service: datadog_configuration[:service_name]
53
54
  )
54
55
 
56
+ # Tag as an external peer service
57
+ @datadog_multi_span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, @datadog_multi_span.service)
58
+
55
59
  # Set analytics sample rate
56
60
  Contrib::Analytics.set_sample_rate(@datadog_multi_span, analytics_sample_rate) if analytics_enabled?
57
61
 
@@ -1,5 +1,6 @@
1
1
  require 'excon'
2
2
  require 'ddtrace/ext/http'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/ext/net'
4
5
  require 'ddtrace/ext/distributed'
5
6
  require 'ddtrace/propagation/http_propagator'
@@ -108,6 +109,9 @@ module Datadog
108
109
  span.service = service_name(datum[:host], @options)
109
110
  span.span_type = Datadog::Ext::HTTP::TYPE_OUTBOUND
110
111
 
112
+ # Tag as an external peer service
113
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
114
+
111
115
  # Set analytics sample rate
112
116
  if analytics_enabled?
113
117
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate)
@@ -1,5 +1,6 @@
1
1
  require 'faraday'
2
2
  require 'ddtrace/ext/http'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/ext/net'
4
5
  require 'ddtrace/propagation/http_propagator'
5
6
  require 'ddtrace/contrib/analytics'
@@ -41,6 +42,9 @@ module Datadog
41
42
  span.service = options[:split_by_domain] ? env[:url].host : options[:service_name]
42
43
  span.span_type = Datadog::Ext::HTTP::TYPE_OUTBOUND
43
44
 
45
+ # Tag as an external peer service
46
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
47
+
44
48
  # Set analytics sample rate
45
49
  if Contrib::Analytics.enabled?(options[:analytics_enabled])
46
50
  Contrib::Analytics.set_sample_rate(span, options[:analytics_sample_rate])
@@ -1,3 +1,4 @@
1
+
1
2
  require 'ddtrace/ext/http'
2
3
  require 'ddtrace/ext/errors'
3
4
  require 'ddtrace/contrib/analytics'
@@ -95,7 +96,7 @@ module Datadog
95
96
  span.set_tag(Ext::TAG_ROUTE_ENDPOINT, api_view) unless api_view.nil?
96
97
  span.set_tag(Ext::TAG_ROUTE_PATH, path)
97
98
  ensure
98
- span.start_time = start
99
+ span.start(start)
99
100
  span.finish(finish)
100
101
  end
101
102
  rescue StandardError => e
@@ -134,7 +135,7 @@ module Datadog
134
135
 
135
136
  span.set_error(payload[:exception_object]) unless payload[:exception_object].nil?
136
137
  ensure
137
- span.start_time = start
138
+ span.start(start)
138
139
  span.finish(finish)
139
140
  end
140
141
  rescue StandardError => e
@@ -153,7 +154,8 @@ module Datadog
153
154
  span = tracer.trace(
154
155
  Ext::SPAN_ENDPOINT_RUN_FILTERS,
155
156
  service: service_name,
156
- span_type: Datadog::Ext::HTTP::TYPE_INBOUND
157
+ span_type: Datadog::Ext::HTTP::TYPE_INBOUND,
158
+ start_time: start
157
159
  )
158
160
 
159
161
  begin
@@ -169,7 +171,7 @@ module Datadog
169
171
  span.set_error(payload[:exception_object]) unless payload[:exception_object].nil?
170
172
  span.set_tag(Ext::TAG_FILTER_TYPE, type.to_s)
171
173
  ensure
172
- span.start_time = start
174
+ span.start(start)
173
175
  span.finish(finish)
174
176
  end
175
177
  rescue StandardError => e
@@ -1,4 +1,5 @@
1
1
  require 'ddtrace/ext/http'
2
+ require 'ddtrace/ext/integration'
2
3
  require 'ddtrace/contrib/analytics'
3
4
  require 'ddtrace/contrib/grpc/ext'
4
5
 
@@ -32,6 +33,9 @@ module Datadog
32
33
  def annotate!(span, metadata)
33
34
  span.set_tags(metadata)
34
35
 
36
+ # Tag as an external peer service
37
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
38
+
35
39
  # Set analytics sample rate
36
40
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
37
41
 
@@ -1,4 +1,5 @@
1
1
  require 'ddtrace/ext/http'
2
+ require 'ddtrace/ext/integration'
2
3
  require 'ddtrace/contrib/analytics'
3
4
  require 'ddtrace/contrib/grpc/ext'
4
5
 
@@ -46,6 +47,9 @@ module Datadog
46
47
  span.set_tag(header, value)
47
48
  end
48
49
 
50
+ # Tag as an external peer service
51
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
52
+
49
53
  # Set analytics sample rate
50
54
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
51
55
 
@@ -2,6 +2,7 @@ require 'uri'
2
2
  require 'ddtrace/pin'
3
3
  require 'ddtrace/ext/app_types'
4
4
  require 'ddtrace/ext/http'
5
+ require 'ddtrace/ext/integration'
5
6
  require 'ddtrace/ext/net'
6
7
  require 'ddtrace/ext/distributed'
7
8
  require 'ddtrace/contrib/analytics'
@@ -83,6 +84,9 @@ module Datadog
83
84
  span.set_tag(Datadog::Ext::NET::TARGET_HOST, host)
84
85
  span.set_tag(Datadog::Ext::NET::TARGET_PORT, port.to_s)
85
86
 
87
+ # Tag as an external peer service
88
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
89
+
86
90
  # Set analytics sample rate
87
91
  set_analytics_sample_rate(span, request_options)
88
92
  end
@@ -72,6 +72,9 @@ module Datadog
72
72
  logger.debug("service #{req_options[:service_name]} span #{Ext::SPAN_REQUEST} missing uri")
73
73
  end
74
74
 
75
+ # Tag as an external peer service
76
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
77
+
75
78
  set_analytics_sample_rate(span, req_options)
76
79
  end
77
80
 
@@ -1,6 +1,7 @@
1
1
  require 'ddtrace/contrib/analytics'
2
2
  require 'ddtrace/contrib/mongodb/ext'
3
3
  require 'ddtrace/contrib/mongodb/parsers'
4
+ require 'ddtrace/ext/integration'
4
5
 
5
6
  module Datadog
6
7
  module Contrib
@@ -24,6 +25,9 @@ module Datadog
24
25
  query = MongoDB.query_builder(event.command_name, event.database_name, event.command)
25
26
  serialized_query = query.to_s
26
27
 
28
+ # Tag as an external peer service
29
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
30
+
27
31
  # Set analytics sample rate
28
32
  if analytics_enabled?
29
33
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate)
@@ -1,4 +1,5 @@
1
1
  require 'ddtrace/ext/app_types'
2
+ require 'ddtrace/ext/integration'
2
3
  require 'ddtrace/ext/net'
3
4
  require 'ddtrace/ext/sql'
4
5
  require 'ddtrace/contrib/analytics'
@@ -21,6 +22,9 @@ module Datadog
21
22
  span.service = datadog_pin.service
22
23
  span.span_type = Datadog::Ext::SQL::TYPE
23
24
 
25
+ # Tag as an external peer service
26
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
27
+
24
28
  # Set analytics sample rate
25
29
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
26
30
 
@@ -90,6 +90,9 @@ module Datadog
90
90
  set_nilable_tag!(span, :http_proxy, Ext::TAG_PROXY)
91
91
  set_nilable_tag!(span, :model_version, Ext::TAG_MODEL_VERSION)
92
92
 
93
+ # Tag as an external peer service
94
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
95
+
93
96
  # Set analytics sample rate
94
97
  if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled])
95
98
  Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate])
@@ -1,6 +1,7 @@
1
1
  require 'ddtrace/contrib/analytics'
2
2
  require 'ddtrace/contrib/active_support/notifications/event'
3
3
  require 'ddtrace/contrib/racecar/ext'
4
+ require 'ddtrace/ext/integration'
4
5
 
5
6
  module Datadog
6
7
  module Contrib
@@ -37,6 +38,9 @@ module Datadog
37
38
  span.service = configuration[:service_name]
38
39
  span.resource = payload[:consumer_class]
39
40
 
41
+ # Tag as an external peer service
42
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
43
+
40
44
  # Set analytics sample rate
41
45
  if Contrib::Analytics.enabled?(configuration[:analytics_enabled])
42
46
  Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate])
@@ -1,3 +1,4 @@
1
+ require 'ddtrace/ext/integration'
1
2
  require 'ddtrace/ext/net'
2
3
  require 'ddtrace/contrib/analytics'
3
4
  require 'ddtrace/contrib/redis/ext'
@@ -9,6 +10,9 @@ module Datadog
9
10
  module Tags
10
11
  class << self
11
12
  def set_common_tags(client, span)
13
+ # Tag as an external peer service
14
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
15
+
12
16
  # Set analytics sample rate
13
17
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
14
18
 
@@ -1,5 +1,6 @@
1
1
  require 'ddtrace/ext/net'
2
2
  require 'ddtrace/ext/distributed'
3
+ require 'ddtrace/ext/integration'
3
4
  require 'ddtrace/propagation/http_propagator'
4
5
  require 'ddtrace/contrib/rest_client/ext'
5
6
 
@@ -31,6 +32,9 @@ module Datadog
31
32
  def datadog_tag_request(uri, span)
32
33
  span.resource = method.to_s.upcase
33
34
 
35
+ # Tag as an external peer service
36
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
37
+
34
38
  # Set analytics sample rate
35
39
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
36
40
 
@@ -24,7 +24,7 @@ module Datadog
24
24
  span.service = datadog_pin.service
25
25
  span.resource = opts[:query]
26
26
  span.span_type = Datadog::Ext::SQL::TYPE
27
- Utils.set_analytics_sample_rate(span)
27
+ Utils.set_common_tags(span)
28
28
  span.set_tag(Ext::TAG_DB_VENDOR, adapter_name)
29
29
  response = super(sql, options)
30
30
  end
@@ -52,6 +52,8 @@ module Datadog
52
52
  elsif instance_variable_defined?(:@pool) && @pool
53
53
  @pool.db.opts
54
54
  end
55
+ sql = sql.is_a?(::Sequel::SQL::Expression) ? literal(sql) : sql.to_s
56
+
55
57
  Utils.parse_opts(sql, opts, db_opts)
56
58
  end
57
59
  end
@@ -38,15 +38,16 @@ module Datadog
38
38
  private
39
39
 
40
40
  def trace_execute(super_method, sql, options, &block)
41
- opts = Utils.parse_opts(sql, options, db.opts)
41
+ opts = Utils.parse_opts(sql, options, db.opts, self)
42
42
  response = nil
43
43
 
44
44
  datadog_pin.tracer.trace(Ext::SPAN_QUERY) do |span|
45
45
  span.service = datadog_pin.service
46
46
  span.resource = opts[:query]
47
47
  span.span_type = Datadog::Ext::SQL::TYPE
48
- Utils.set_analytics_sample_rate(span)
48
+ Utils.set_common_tags(span)
49
49
  span.set_tag(Ext::TAG_DB_VENDOR, adapter_name)
50
+ span.set_tag(Ext::TAG_PREPARED_NAME, opts[:prepared_name]) if opts[:prepared_name]
50
51
  response = super_method.call(sql, options, &block)
51
52
  end
52
53
  response
@@ -12,6 +12,7 @@ module Datadog
12
12
  SERVICE_NAME = 'sequel'.freeze
13
13
  SPAN_QUERY = 'sequel.query'.freeze
14
14
  TAG_DB_VENDOR = 'sequel.db.vendor'.freeze
15
+ TAG_PREPARED_NAME = 'sequel.prepared.name'.freeze
15
16
  end
16
17
  end
17
18
  end
@@ -1,3 +1,5 @@
1
+ require 'ddtrace/ext/integration'
2
+
1
3
  module Datadog
2
4
  module Contrib
3
5
  module Sequel
@@ -26,21 +28,30 @@ module Datadog
26
28
  Datadog::Utils::Database.normalize_vendor(database.database_type.to_s)
27
29
  end
28
30
 
29
- def parse_opts(sql, opts, db_opts)
30
- if ::Sequel::VERSION >= '4.37.0' && !sql.is_a?(String)
31
- # In 4.37.0, sql was converted to a prepared statement object
32
- sql = sql.prepared_sql unless sql.is_a?(Symbol)
31
+ def parse_opts(sql, opts, db_opts, dataset = nil)
32
+ # Prepared statements don't provide their sql query in the +sql+ parameter.
33
+ unless sql.is_a?(String)
34
+ if dataset && dataset.respond_to?(:prepared_sql) && (resolved_sql = dataset.prepared_sql)
35
+ # The dataset contains the resolved SQL query and prepared statement name.
36
+ prepared_name = dataset.prepared_statement_name
37
+ sql = resolved_sql
38
+ end
33
39
  end
34
40
 
35
41
  {
36
42
  name: opts[:type],
37
43
  query: sql,
44
+ prepared_name: prepared_name,
38
45
  database: db_opts[:database],
39
46
  host: db_opts[:host]
40
47
  }
41
48
  end
42
49
 
43
- def set_analytics_sample_rate(span)
50
+ def set_common_tags(span)
51
+ # Tag as an external peer service
52
+ span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service)
53
+
54
+ # Set analytics sample rate
44
55
  Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled?
45
56
  end
46
57
 
@@ -0,0 +1,8 @@
1
+ module Datadog
2
+ module Ext
3
+ module Integration
4
+ # Name of external service that performed the work
5
+ TAG_PEER_SERVICE = 'peer.service'.freeze
6
+ end
7
+ end
8
+ end
@@ -7,6 +7,7 @@ module Datadog
7
7
  LANG = 'ruby'.freeze
8
8
  LANG_INTERPRETER = (RUBY_ENGINE + '-' + RUBY_PLATFORM).freeze
9
9
  LANG_VERSION = RUBY_VERSION
10
+ RUBY_ENGINE = ::RUBY_ENGINE # e.g. 'ruby', 'jruby', 'truffleruby'
10
11
  TRACER_VERSION = Datadog::VERSION::STRING
11
12
 
12
13
  TAG_LANG = 'language'.freeze
@@ -44,7 +44,7 @@ module Datadog
44
44
 
45
45
  def id(header)
46
46
  value = @carrier[header].to_i
47
- return if value.zero? || value >= Datadog::Span::MAX_ID
47
+ return if value.zero? || value >= Datadog::Span::EXTERNAL_MAX_ID
48
48
  value < 0 ? value + 0x1_0000_0000_0000_0000 : value
49
49
  end
50
50
  end
@@ -39,12 +39,12 @@ module Datadog
39
39
 
40
40
  def trace_id
41
41
  value = @metadata[GRPC_METADATA_TRACE_ID].to_i
42
- value if (1..Span::MAX_ID).cover? value
42
+ value if (1..Span::EXTERNAL_MAX_ID).cover? value
43
43
  end
44
44
 
45
45
  def parent_id
46
46
  value = @metadata[GRPC_METADATA_PARENT_ID].to_i
47
- value if (1..Span::MAX_ID).cover? value
47
+ value if (1..Span::EXTERNAL_MAX_ID).cover? value
48
48
  end
49
49
 
50
50
  def sampling_priority