- otlp_exporter hosts SDK loading (symbol table), header/endpoint/resource helpers shared with gateway_health_export; export module imports them instead of keeping copies (_otlp_config/_resolve_headers/_install_id/_safe_resource_attributes unified). _KEEP_BY_KIND attribute allowlist reused for diagnostic log attrs. - events: _MonitoringEvent base supplies to_dict; field order (wire order) unchanged. - redaction: redact_bounded() replaces 3 inline redact+truncate try/excepts. - EmitterStreamer base owns the shared unsubscribe/flush/shutdown for OTLPStreamer and GatewayDiagnosticLogStreamer. - gateway_health: metric construction helpers, _contains_any shared with cron_health, dead _allowed_logger/redact_gateway_message removed (0 refs). - Comment/docstring compaction keeping every stated invariant.
23 lines
630 B
Python
23 lines
630 B
Python
"""Hermes gateway monitoring: service health + redacted diagnostics over OTLP.
|
|
|
|
``emitter`` is the in-process event bus: producers hand typed events to a
|
|
fire-and-forget queue that never blocks or raises into gateway code, and OTLP
|
|
subscribers consume them off the hot path. Nothing is persisted locally.
|
|
Out of scope: trajectory capture, usage analytics, any content-bearing signal
|
|
(those belong to the NeMo Relay integration).
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from . import emitter, events
|
|
|
|
emit = emitter.emit
|
|
get_emitter = emitter.get_emitter
|
|
|
|
__all__ = [
|
|
"emitter",
|
|
"events",
|
|
"emit",
|
|
"get_emitter",
|
|
]
|