class documentation
class Telemetry:
Constructor: Telemetry(library_name, source_component, library_version, config, ...)
Telemetry client for emitting events via pluggable backends.
| Class Method | register |
Register a custom backend class. |
| Method | __init__ |
Initialize a telemetry client. |
| Method | add |
Register a context provider for all events. |
| Method | add |
Register a context provider used only with system metadata. |
| Method | capture |
Capture a telemetry event. |
| Method | extend |
Register multiple context providers. |
| Method | extend |
Register multiple system context providers. |
| Method | flush |
Flush any buffered telemetry events. |
| Method | shutdown |
Shutdown the backend and flush pending telemetry. |
| Property | config |
Undocumented |
| Property | is |
Undocumented |
| Property | library |
Undocumented |
| Property | library |
Undocumented |
| Property | source |
Undocumented |
| Method | _add |
Register a provider once while preserving call order. |
| Method | _build |
Build the merged context for an event. |
| Method | _init |
Initialize the configured backend or fall back to NoopBackend. |
| Method | _merge |
Merge context from providers into the event context. |
| Class Variable | _logged |
Undocumented |
| Instance Variable | _backend |
Undocumented |
| Instance Variable | _base |
Undocumented |
| Instance Variable | _config |
Undocumented |
| Instance Variable | _context |
Undocumented |
| Instance Variable | _library |
Undocumented |
| Instance Variable | _library |
Undocumented |
| Instance Variable | _session |
Undocumented |
| Instance Variable | _source |
Undocumented |
| Instance Variable | _system |
Undocumented |
Register a custom backend class.
| Parameters | |
name:str | Backend name used in TelemetryConfig.backend. |
backendtype[ | Backend class instantiated with TelemetryConfig. |
def __init__(self, library_name:
str, *, source_component: str | None = None, library_version: str | None = None, config: TelemetryConfig | None = None, context_providers: list[ ContextProvider] | None = None, system_context_providers: list[ SystemContextProvider] | None = None):
¶
Initialize a telemetry client.
| Parameters | |
librarystr | Name of the library emitting telemetry, such as "luxonis_ml". |
sourcestr | None | Optional emitter/component name for the event context. If omitted, the library name is reused. |
librarystr | None | Version string for the library. If omitted, it is resolved from package metadata when possible. |
config:TelemetryConfig | None | Telemetry configuration to use. If omitted, values are read from environment variables. |
contextlist[ | Callables that return extra context to attach to every event. |
systemlist[ | Callables that return extra context to attach only when system metadata is requested. |
def capture(self, event:
str, properties: dict[ str, Any] | None = None, *, allowlist: set[ str] | None = None, include_system_metadata: bool | None = None, distinct_id: str | None = None):
¶
Capture a telemetry event.
| Parameters | |
event:str | Event name, such as "train_started". |
properties:dict[ | Optional event properties. Values are sanitized and redacted before sending. |
allowlist:set[ | If set, only these property keys are included. |
includebool | None | Whether to add extended system metadata for this event. If omitted, the config default is used. |
distinctstr | None | Optional backend identity override. When omitted, it defaults to the client's ephemeral session identifier. |
def _add_provider(self, providers:
list[ ContextProvider] | list[ SystemContextProvider], provider: ContextProvider | SystemContextProvider):
¶
Register a provider once while preserving call order.
def _merge_context_providers(self, context:
dict[ str, Any], providers: list[ ContextProvider | SystemContextProvider], error_message: str):
¶
Merge context from providers into the event context.