Module: Util

Defined in:
lib/util.rb

Overview

Utilities for epsagon opentelemetry solution

Class Method Summary collapse

Class Method Details

.epsagon_query_attributes(query_string) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/util.rb', line 7

def self.epsagon_query_attributes(query_string)
  if query_string&.include? '='
    { 'http.request.query_params' => CGI.parse(query_string).to_json }
  else
    { 'http.request.query' => query_string }
  end
end

.trim_attr(value, max_size) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/util.rb', line 15

def self.trim_attr(value, max_size)
  if value.instance_of? Array then 
    current_size = 2
    value.each_with_index do |el, i|
      el_size =  el.to_s.size + (i==0 ? 0 : 2)
      if current_size + el_size > max_size then 
        return value[0,i] + [Util.trim_attr(el, max_size - current_size)]
      else 
        current_size += el_size
      end
    end
    return value
  elsif value.instance_of? String then
    value[0, max_size]
  else
    value
  end
end