Class: Couchbase::Observability::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/couchbase/utils/observability.rb,
/home/runner/work/couchbase-ruby-client/couchbase-ruby-client/lib/couchbase/utils/observability.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(backend:, tracer: nil, meter: nil) {|_self| ... } ⇒ Wrapper

Returns a new instance of Wrapper.

Yields:

  • (_self)

Yield Parameters:



33
34
35
36
37
38
39
# File 'lib/couchbase/utils/observability.rb', line 33

def initialize(backend:, tracer: nil, meter: nil)
  @backend = backend
  @tracer = tracer
  @meter = meter

  yield self if block_given?
end

Instance Attribute Details

#meterObject

Returns the value of attribute meter.



31
32
33
# File 'lib/couchbase/utils/observability.rb', line 31

def meter
  @meter
end

#tracerObject

Returns the value of attribute tracer.



30
31
32
# File 'lib/couchbase/utils/observability.rb', line 30

def tracer
  @tracer
end

Instance Method Details

#closeObject



58
59
60
61
# File 'lib/couchbase/utils/observability.rb', line 58

def close
  @tracer&.close
  @meter&.close
end

#record_operation(op_name, parent_span, receiver, service = nil) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/couchbase/utils/observability.rb', line 41

def record_operation(op_name, parent_span, receiver, service = nil)
  handler = Handler.new(@backend, op_name, parent_span, receiver, @tracer, @meter)
  handler.add_operation_name(op_name)
  handler.add_service(service) unless service.nil?
  begin
    res = yield(handler)
  rescue StandardError => e
    handler.add_error(e)
    raise e
  else
    handler.set_success
  ensure
    handler.finish
  end
  res
end