Module: ChargeBee::Telemetry::TelemetryAdapter

Defined in:
lib/chargebee/telemetry/telemetry_adapter.rb

Overview

Optional telemetry adapter for observability integrations (e.g. OpenTelemetry).

When not configured, the SDK skips all telemetry work — zero overhead. The SDK stores the adapter by reference and never clones or deep-copies it.

Implementations may inject W3C trace context headers (traceparent, tracestate) into request_headers during on_request_start.

Instance Method Summary collapse

Instance Method Details

#on_request_end(handle, result) ⇒ Object

Called once per SDK API call after the final response or terminal failure.

handle is the value returned from on_request_start and may be nil. result contains prebuilt end attributes.

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/chargebee/telemetry/telemetry_adapter.rb', line 27

def on_request_end(handle, result)
  raise NotImplementedError
end

#on_request_start(context, request_headers) ⇒ Object

Called once per SDK API call before the request is sent (including before retries).

context contains prebuilt start attributes. request_headers is a mutable map for trace propagation. Returns an opaque handle passed back to on_request_end, or nil if span creation was skipped.

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/chargebee/telemetry/telemetry_adapter.rb', line 20

def on_request_start(context, request_headers)
  raise NotImplementedError
end