module Jaeger::TraceId
Constants
- MAX_128BIT_UNSIGNED_INT
- MAX_64BIT_SIGNED_INT
- MAX_64BIT_UNSIGNED_INT
- TRACE_ID_UPPER_BOUND
Public Class Methods
base16_hex_id_to_uint128(id)
click to toggle source
# File lib/jaeger/trace_id.rb, line 21 def self.base16_hex_id_to_uint128(id) return nil unless id value = id.to_i(16) value > MAX_128BIT_UNSIGNED_INT || value < 0 ? 0 : value end
base16_hex_id_to_uint64(id)
click to toggle source
# File lib/jaeger/trace_id.rb, line 14 def self.base16_hex_id_to_uint64(id) return nil unless id value = id.to_i(16) value > MAX_64BIT_UNSIGNED_INT || value < 0 ? 0 : value end
generate()
click to toggle source
# File lib/jaeger/trace_id.rb, line 10 def self.generate rand(TRACE_ID_UPPER_BOUND) end
to_hex(id)
click to toggle source
Convert an integer id into a 0 padded hex string. If the string is shorter than 16 characters, it will be padded to 16. If it is longer than 16 characters, it is padded to 32.
# File lib/jaeger/trace_id.rb, line 37 def self.to_hex(id) hex_str = id.to_s(16) # pad the string with '0's to 16 or 32 characters if hex_str.length > 16 hex_str.rjust(32, '0') else hex_str.rjust(16, '0') end end
uint64_id_to_int64(id)
click to toggle source
Thrift defines ID fields as i64, which is signed, therefore we convert large IDs (> 2^63) to negative longs
# File lib/jaeger/trace_id.rb, line 30 def self.uint64_id_to_int64(id) id > MAX_64BIT_SIGNED_INT ? id - MAX_64BIT_UNSIGNED_INT - 1 : id end