Skip to main content

EventsConfig

Struct EventsConfig 

Source
#[non_exhaustive]
pub struct EventsConfig { pub filter: Option<String>, pub sampling: SamplingConfig, pub limits: LimitsConfig, pub audit: AuditConfig, pub queues: QueuesConfig, pub sinks: SinksConfig, pub service: ServiceConfig, pub dev_mode: bool, }
Expand description

The complete config tree. Every field is optional so a config file can be a single line if the user only cares to override filter.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§filter: Option<String>

EnvFilter-grammar directives. None ⇒ defer to OBS_FILTER env var; if both unset, "info" applies.

§sampling: SamplingConfig

Head/tail sampling tunables.

§limits: LimitsConfig

Per-event byte caps.

§audit: AuditConfig

AUDIT-tier delivery policy (Phase 3 task 3.12 implements the spool; the config struct lives here so user obs.yaml files already have a stable shape).

§queues: QueuesConfig

Per-tier mpsc queue capacities (Phase 3 worker pool).

§sinks: SinksConfig

Per-sink configuration (Phase 3+ implements the sinks; the config struct lives here so user obs.yaml files already have a stable shape).

§service: ServiceConfig

Service identity (overrides defaults read from env).

§dev_mode: bool

Dev-mode toggle (OBS_DEV=1 or dev_mode: true). Enables extra diagnostics intended for local iteration: more verbose scope-field warnings, source-loc capture, and the dev_ergonomics test path. Spec 13 § 2.3 / 60 § 7 / spec 94 § 3.10 / P3-A.

Implementations§

Source§

impl EventsConfig

Source

pub fn builder() -> EventsConfigBuilder

Builder entry. See spec 15 § 5.1.

Source

pub fn from_yaml_str(yaml: &str) -> Result<EventsConfig, ConfigError>

Parse YAML bytes into an EventsConfig. Spec 15 § 5.1 / spec 93 P0-9. ${VAR} references in scalar string values are expanded against the process environment before parsing — set ${VAR:-default} to provide a fallback.

Unknown top-level keys fail parsing (struct is deny_unknown_fields). The error message is annotated with the valid root-key set so typos like filtr: surface with an immediate fix-up hint — boundary-review § 4.1.

§Errors

Returns ConfigError::Yaml when parsing fails (unknown fields, type mismatch, syntax error). Validation is left to the caller — call Self::validate after loading.

Source

pub fn from_yaml_path( path: impl AsRef<Path>, ) -> Result<EventsConfig, ConfigError>

Read a YAML file from disk.

§Errors

Returns ConfigError::Io when the file cannot be read or ConfigError::Yaml when parsing fails.

Source

pub fn merged_with_env(self, prefix: &str) -> EventsConfig

Apply environment-variable overrides under prefix. The convention is <PREFIX>_<DOTTED_PATH_WITH___INSTEAD_OF_DOTS> — e.g. OBS_FILTER for filter, OBS_AUDIT__SPOOL_DIR for audit.spool_dir, OBS_SAMPLING__DEFAULT_RATE for sampling.default_rate. Values are parsed by re-running serde_yaml against the resulting flat map. Spec 15 § 5.1 / spec 93 P0-9.

Source§

impl EventsConfig

Source

pub fn validate(&self) -> Result<(), ConfigError>

Validate ranges. Returns the first violation found, or Ok if the config is well-formed. Spec 15 § 6.

§Errors

Returns a ConfigError describing the first invalid setting.

Trait Implementations§

Source§

impl Clone for EventsConfig

Source§

fn clone(&self) -> EventsConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EventsConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for EventsConfig

Source§

fn default() -> EventsConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for EventsConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<EventsConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EventsConfig

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,