Simplified registry that configures Logfire for single backend export.
Source code in src/llmling_agent/observability/observability_registry.py
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 | class ObservabilityRegistry:
"""Simplified registry that configures Logfire for single backend export."""
def __init__(self):
self._configured = False
def configure_observability(self, observability_config: ObservabilityConfig):
"""Configure Logfire for single backend export.
Args:
observability_config: Configuration for observability
"""
if not observability_config.enabled or not observability_config.provider:
logger.debug("Observability disabled or no provider configured")
return
if self._configured:
logger.warning("Observability already configured, skipping")
return
config = observability_config.provider
if not config.enabled:
logger.debug("Provider is disabled", provider=config.type)
return
_setup_otel_environment(config) # Configure OTEL env variables based on provider
logfire.configure(
service_name=config.service_name,
environment=config.environment,
console=False,
send_to_logfire=(config.type == "logfire"),
)
logfire.instrument_pydantic_ai()
logging.basicConfig(handlers=[logfire.LogfireLoggingHandler()])
self._configured = True
logger.info("Configured observability", provider=config.type)
|
configure_observability(observability_config: ObservabilityConfig)
Configure Logfire for single backend export.
Parameters:
| Name |
Type |
Description |
Default |
observability_config
|
ObservabilityConfig
|
Configuration for observability
|
required
|
Source code in src/llmling_agent/observability/observability_registry.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 | def configure_observability(self, observability_config: ObservabilityConfig):
"""Configure Logfire for single backend export.
Args:
observability_config: Configuration for observability
"""
if not observability_config.enabled or not observability_config.provider:
logger.debug("Observability disabled or no provider configured")
return
if self._configured:
logger.warning("Observability already configured, skipping")
return
config = observability_config.provider
if not config.enabled:
logger.debug("Provider is disabled", provider=config.type)
return
_setup_otel_environment(config) # Configure OTEL env variables based on provider
logfire.configure(
service_name=config.service_name,
environment=config.environment,
console=False,
send_to_logfire=(config.type == "logfire"),
)
logfire.instrument_pydantic_ai()
logging.basicConfig(handlers=[logfire.LogfireLoggingHandler()])
self._configured = True
logger.info("Configured observability", provider=config.type)
|