module Atatus::Util
@api private
rubocop:disable all
Public Class Methods
git_sha()
click to toggle source
# File lib/atatus/util.rb, line 41 def self.git_sha sha = `git rev-parse --verify HEAD 2>&1`.chomp $?&.success? ? sha : nil end
hex_to_bits(str)
click to toggle source
# File lib/atatus/util.rb, line 46 def self.hex_to_bits(str) str.hex.to_s(2).rjust(str.size * 4, '0') end
micros(target = Time.now)
click to toggle source
# File lib/atatus/util.rb, line 32 def self.micros(target = Time.now) utc = target.utc utc.to_i * 1_000_000 + utc.usec end
monotonic_micros()
click to toggle source
# File lib/atatus/util.rb, line 37 def self.monotonic_micros Process.clock_gettime(Process::CLOCK_MONOTONIC, :microsecond) end
ms(micros)
click to toggle source
# File lib/atatus/util.rb, line 24 def self.ms(micros) micros.to_f / 1_000 end
reverse_merge!(first, *others)
click to toggle source
# File lib/atatus/util.rb, line 50 def self.reverse_merge!(first, *others) others.reduce(first) do |curr, other| curr.merge!(other) { |_, _, new| new } end end
truncate(value, max_length: 1024)
click to toggle source
# File lib/atatus/util.rb, line 56 def self.truncate(value, max_length: 1024) return unless value return value if value.length <= max_length value[0...(max_length - 1)] + '…' end
us(ms)
click to toggle source
# File lib/atatus/util.rb, line 28 def self.us(ms) ms * 1_000 end