pub struct ObservabilityConfig {
pub enabled: bool,
pub exporter: TelemetryExporterKind,
pub endpoint: Option<String>,
pub service_name: Option<String>,
pub log_file_max_bytes: u64,
}Expand description
Configuration for structured observability export, and for the daemon’s own log file.
Export is off by default: telemetry costs a background export pipeline and most interactive users have the dashboard instead. When enabled, spans, metrics and log records for every run flow to the configured exporter.
Example config:
[observability]
enabled = true
exporter = "otlp"
endpoint = "http://localhost:4318"
service_name = "leviath"
log_file_max_bytes = 5242880Fields§
§enabled: boolWhether to export telemetry at all (default: false).
exporter: TelemetryExporterKindWhich exporter to use (default: otlp).
endpoint: Option<String>OTLP endpoint. Falls back to OTEL_EXPORTER_OTLP_ENDPOINT, then to
http://localhost:4318 - the OTLP HTTP port. Leviath exports OTLP
over HTTP/protobuf, not gRPC, so a collector’s 4317 gRPC endpoint will
not work here.
service_name: Option<String>The service.name resource attribute. Falls back to
OTEL_SERVICE_NAME, then to "leviath".
log_file_max_bytes: u64Bytes a log file Leviath writes for itself may reach before it is
rolled to <name>.1, replacing the previous one: the daemon’s
daemon.log and each lev serve’s serve-<name>.log, under the data
directory. 0 never rolls. Default: 5 MiB.
Trait Implementations§
Source§impl Clone for ObservabilityConfig
impl Clone for ObservabilityConfig
Source§fn clone(&self) -> ObservabilityConfig
fn clone(&self) -> ObservabilityConfig
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 ObservabilityConfig
impl Debug for ObservabilityConfig
Source§impl Default for ObservabilityConfig
impl Default for ObservabilityConfig
Source§impl<'de> Deserialize<'de> for ObservabilityConfig
impl<'de> Deserialize<'de> for ObservabilityConfig
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>,
impl Eq for ObservabilityConfig
Source§impl PartialEq for ObservabilityConfig
impl PartialEq for ObservabilityConfig
Source§impl Serialize for ObservabilityConfig
impl Serialize for ObservabilityConfig
impl StructuralPartialEq for ObservabilityConfig
Auto Trait Implementations§
impl Freeze for ObservabilityConfig
impl RefUnwindSafe for ObservabilityConfig
impl Send for ObservabilityConfig
impl Sync for ObservabilityConfig
impl Unpin for ObservabilityConfig
impl UnsafeUnpin for ObservabilityConfig
impl UnwindSafe for ObservabilityConfig
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.