mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-07 02:47:21 +00:00
chore: skip shutdown if otel_endpoint is not set
# What does this PR do?
rid following error when ctrl+c'd server
│ /Users/erichuang/projects/lst3/llama_stack/providers/inline/telemetry/meta_reference/telemetry.py:92 in │
│ shutdown │
│ │
│ 89 │ │ pass │
│ 90 │ │
│ 91 │ async def shutdown(self) -> None: │
│ ❱ 92 │ │ trace.get_tracer_provider().force_flush() │
│ 93 │ │
│ 94 │ async def log_event(self, event: Event, ttl_seconds: int = 604800) -> None: │
│ 95 │ │ if isinstance(event, UnstructuredLogEvent): │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
AttributeError: 'ProxyTracerProvider' object has no attribute 'force_flush'
## Test Plan
This commit is contained in:
parent
94faec7bc5
commit
0ef4f1cd6b
1 changed files with 4 additions and 1 deletions
|
|
@ -79,8 +79,10 @@ class TelemetryAdapter(Telemetry):
|
||||||
metric_reader = PeriodicExportingMetricReader(OTLPMetricExporter())
|
metric_reader = PeriodicExportingMetricReader(OTLPMetricExporter())
|
||||||
metric_provider = MeterProvider(metric_readers=[metric_reader])
|
metric_provider = MeterProvider(metric_readers=[metric_reader])
|
||||||
metrics.set_meter_provider(metric_provider)
|
metrics.set_meter_provider(metric_provider)
|
||||||
|
self.is_otel_endpoint_set = True
|
||||||
else:
|
else:
|
||||||
logger.warning("OTEL_EXPORTER_OTLP_ENDPOINT is not set, skipping telemetry")
|
logger.warning("OTEL_EXPORTER_OTLP_ENDPOINT is not set, skipping telemetry")
|
||||||
|
self.is_otel_endpoint_set = False
|
||||||
|
|
||||||
self.meter = metrics.get_meter(__name__)
|
self.meter = metrics.get_meter(__name__)
|
||||||
self._lock = _global_lock
|
self._lock = _global_lock
|
||||||
|
|
@ -89,7 +91,8 @@ class TelemetryAdapter(Telemetry):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
async def shutdown(self) -> None:
|
async def shutdown(self) -> None:
|
||||||
trace.get_tracer_provider().force_flush()
|
if self.is_otel_endpoint_set:
|
||||||
|
trace.get_tracer_provider().force_flush()
|
||||||
|
|
||||||
async def log_event(self, event: Event, ttl_seconds: int = 604800) -> None:
|
async def log_event(self, event: Event, ttl_seconds: int = 604800) -> None:
|
||||||
if isinstance(event, UnstructuredLogEvent):
|
if isinstance(event, UnstructuredLogEvent):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue