lib/opentelemetry/trace.rb in opentelemetry-api-1.0.2 vs lib/opentelemetry/trace.rb in opentelemetry-api-1.1.0
- old
+ new
@@ -11,22 +11,12 @@
module Trace
extend self
CURRENT_SPAN_KEY = Context.create_key('current-span')
- # Random number generator for generating IDs. This is an object that can
- # respond to `#bytes` and uses the system PRNG. The current logic is
- # compatible with Ruby 2.5 (which does not implement the `Random.bytes`
- # class method) and with Ruby 3.0+ (which deprecates `Random::DEFAULT`).
- # When we drop support for Ruby 2.5, this can simply be replaced with
- # the class `Random`.
- #
- # @return [#bytes]
- RANDOM = Random.respond_to?(:bytes) ? Random : Random::DEFAULT
+ private_constant :CURRENT_SPAN_KEY
- private_constant :CURRENT_SPAN_KEY, :RANDOM
-
# An invalid trace identifier, a 16-byte string with all zero bytes.
INVALID_TRACE_ID = ("\0" * 16).b
# An invalid span identifier, an 8-byte string with all zero bytes.
INVALID_SPAN_ID = ("\0" * 8).b
@@ -35,21 +25,21 @@
# non-zero byte.
#
# @return [String] a valid trace ID.
def generate_trace_id
loop do
- id = RANDOM.bytes(16)
+ id = Random.bytes(16)
return id unless id == INVALID_TRACE_ID
end
end
# Generates a valid span identifier, an 8-byte string with at least one
# non-zero byte.
#
# @return [String] a valid span ID.
def generate_span_id
loop do
- id = RANDOM.bytes(8)
+ id = Random.bytes(8)
return id unless id == INVALID_SPAN_ID
end
end
# Returns the current span from the current or provided context