pub struct Observability {
pub admin_addr: Option<String>,
pub access_log: bool,
pub otlp_endpoint: Option<String>,
}Expand description
Operational observability config ([observability], ADR 000009 Stage A): a separate admin
listener exposing Prometheus metrics + liveness/readiness, and an opt-in structured access log.
Off by default — Plecto stays quiet and exposes nothing extra unless asked (operational
simplicity). Captured at construction; a reload does not re-bind the admin listener.
Fields§
§admin_addr: Option<String>host:port the admin endpoint binds (e.g. 127.0.0.1:9090). None = no admin listener
(the default). Serves /metrics, /healthz, /readyz — never on the data-plane port, so
proxied routes never collide with it and the metrics surface is not exposed to clients.
access_log: boolEmit one structured access-log event per request (the plecto::access tracing target,
rendered as JSON by the binary’s subscriber). false by default.
otlp_endpoint: Option<String>OTLP/HTTP collector base URL (e.g. http://localhost:4318) — the exporter appends
/v1/traces, mirroring OTEL_EXPORTER_OTLP_ENDPOINT semantics (ADR 000040). None = no
trace export (the default). Captured at construction, like admin_addr: changing it
requires a restart, not a reload.
Trait Implementations§
Source§impl Clone for Observability
impl Clone for Observability
Source§fn clone(&self) -> Observability
fn clone(&self) -> Observability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Observability
impl Debug for Observability
Source§impl Default for Observability
impl Default for Observability
Source§fn default() -> Observability
fn default() -> Observability
Source§impl<'de> Deserialize<'de> for Observability
impl<'de> Deserialize<'de> for Observability
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for Observability
impl JsonSchema for Observability
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Observability
impl RefUnwindSafe for Observability
impl Send for Observability
impl Sync for Observability
impl Unpin for Observability
impl UnsafeUnpin for Observability
impl UnwindSafe for Observability
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more