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
-
#on_request_end(handle, result) ⇒ Object
Called once per SDK API call after the final response or terminal failure.
-
#on_request_start(context, request_headers) ⇒ Object
Called once per SDK API call before the request is sent (including before retries).
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.
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.
20 21 22 |
# File 'lib/chargebee/telemetry/telemetry_adapter.rb', line 20 def on_request_start(context, request_headers) raise NotImplementedError end |