Class: Observable::Persistence::Span
- Inherits:
-
Dry::Struct
- Object
- Dry::Struct
- Observable::Persistence::Span
- Defined in:
- lib/observable/persistence/span.rb
Constant Summary collapse
- RESET =
ANSI Color constants
"\e[0m"- BOLD =
"\e[1m"- DIM =
"\e[2m"- CYAN =
"\e[36m"- YELLOW =
"\e[33m"- GREEN =
"\e[32m"- BLUE =
"\e[34m"- MAGENTA =
"\e[35m"- WHITE =
"\e[37m"
Class Method Summary collapse
Instance Method Summary collapse
- #ai ⇒ Object
- #code_namespace ⇒ Object
- #consumer? ⇒ Boolean
- #hex_span_id ⇒ Object
- #hex_trace_id ⇒ Object
- #inspect ⇒ Object
- #producer? ⇒ Boolean
Class Method Details
.from_span_or_spandata(span_or_spandata) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/observable/persistence/span.rb', line 53 def self.from_span_or_spandata(span_or_spandata) if span_or_spandata.is_a?(Span) span_or_spandata else from_spandata(span_or_spandata) end end |
.from_spandata(span_or_spandata) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/observable/persistence/span.rb', line 43 def self.from_spandata(span_or_spandata) new( id: span_or_spandata.hex_span_id, trace_id: span_or_spandata.hex_trace_id, name: span_or_spandata.name, kind: span_or_spandata.kind, attrs: span_or_spandata.attributes ) end |
Instance Method Details
#ai ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/observable/persistence/span.rb', line 65 def ai output = [] output << " #{colorize(name, CYAN, BOLD)}" output << " id: #{colorize(id, WHITE)}" if attrs.any? attrs.each do |key, value| output << " #{colorize(key, YELLOW)}: #{colorize_value(value)}" end end output << "" output.join("\n") end |
#code_namespace ⇒ Object
31 32 33 |
# File 'lib/observable/persistence/span.rb', line 31 def code_namespace attrs["code.namespace"] || attrs["messaging.sidekiq.job_class"] || "" end |
#consumer? ⇒ Boolean
39 40 41 |
# File 'lib/observable/persistence/span.rb', line 39 def consumer? kind == :consumer end |
#hex_span_id ⇒ Object
27 28 29 |
# File 'lib/observable/persistence/span.rb', line 27 def hex_span_id id end |
#hex_trace_id ⇒ Object
23 24 25 |
# File 'lib/observable/persistence/span.rb', line 23 def hex_trace_id trace_id end |
#inspect ⇒ Object
61 62 63 |
# File 'lib/observable/persistence/span.rb', line 61 def inspect ai end |
#producer? ⇒ Boolean
35 36 37 |
# File 'lib/observable/persistence/span.rb', line 35 def producer? kind == :producer end |