Observability¶
octomate.config.observability ¶
Logging levels and Logfire export settings.
LogLevel
module-attribute
¶
LogLevel = Annotated[
Literal[
"CRITICAL",
"ERROR",
"WARNING",
"INFO",
"DEBUG",
"NOTSET",
],
BeforeValidator(
lambda level: (
level.upper()
if isinstance(level, str)
else level
)
),
]
LoggingConfig
pydantic-model
¶
Bases: BaseModel
Console log levels: the root level and per-logger overrides.
Fields:
Source code in octomate/config/observability.py
LogfireInstrumentConfig
pydantic-model
¶
Bases: BaseModel
Library auto-instrumentation toggles, all off by default: each one traces a
whole library's internals (every HTTP request, every SQL statement, every model
round-trip), which is diagnostic-session volume rather than always-on volume.
Octomate's own spans — the octomate.*-scoped ones in telemetry.py — are not
behind these: they always emit whenever tracing itself is on.
Fields:
-
pydantic_ai(bool) -
httpx(bool) -
sqlalchemy(bool)
Source code in octomate/config/observability.py
LogfireConfig
pydantic-model
¶
Bases: BaseModel
Logfire export: service identity, where spans go, and per-library instrumentation.
Fields:
-
service_name(str) -
environment(str) -
send_to_logfire(bool) -
console(bool) -
scrub(bool) -
instrument(LogfireInstrumentConfig)
Source code in octomate/config/observability.py
instrument
pydantic-field
¶
Per-library auto-instrumentation; see LogfireInstrumentConfig.