pub struct DaemonConfig {Show 20 fields
pub listen_addr: String,
pub listen_port: u16,
pub listen_port_grpc: u16,
pub json_socket: String,
pub max_active_traces: usize,
pub trace_ttl_ms: u64,
pub sampling_rate: f64,
pub max_events_per_trace: usize,
pub max_payload_size: usize,
pub environment: DaemonEnvironment,
pub max_retained_findings: usize,
pub ingest_queue_capacity: usize,
pub analysis_queue_capacity: usize,
pub memory_high_water_pct: u8,
pub api_enabled: bool,
pub tls: DaemonTlsConfig,
pub ack: DaemonAckConfig,
pub cors: DaemonCorsConfig,
pub correlation: CorrelationConfig,
pub archive: Option<DaemonArchiveConfig>,
}Expand description
Daemon runtime config. Maps to [daemon] plus its [daemon.tls],
[daemon.ack], [daemon.cors] and [daemon.correlation] sub-tables.
Fields§
§listen_addr: String§listen_port: u16Port for OTLP HTTP receiver.
listen_port_grpc: u16Port for OTLP gRPC receiver.
json_socket: String§max_active_traces: usizeMaximum number of active traces in streaming mode.
trace_ttl_ms: u64Trace TTL in milliseconds for streaming mode eviction.
sampling_rate: f64Sampling rate for incoming traces (0.0 - 1.0).
max_events_per_trace: usizeMaximum events kept per trace (ring buffer size).
max_payload_size: usizeMaximum payload size in bytes for JSON deserialization.
environment: DaemonEnvironmentDeployment environment label used to stamp findings with a
Confidence value, so downstream consumers (perf-lint) can boost
severity on production traffic. Ignored in analyze batch mode,
which always emits Confidence::CiBatch.
max_retained_findings: usizeMaximum number of findings retained by the daemon query API.
ingest_queue_capacity: usizeCapacity of the ingestion channel: span-event batches buffered between the listeners and the event loop. Provides ingestion backpressure once full.
analysis_queue_capacity: usizeCapacity of the analysis worker queue: evicted/expired batches
awaiting detect+score. When full, whole batches are shed (counted
on perf_sentinel_analysis_shed_*).
memory_high_water_pct: u8Memory-pressure admission control, as a percentage of the cgroup v2
memory limit (1-100). When the pod’s memory.current / memory.max
crosses this high-water mark, OTLP ingest is rejected with a
retryable status (counted on perf_sentinel_otlp_rejected_total
{reason="memory_pressure"}) until usage falls back below the mark,
so RSS is bounded independently of queue depth. 0 disables the
guard (default). Linux/cgroup-v2 only, inert elsewhere.
api_enabled: bool§tls: DaemonTlsConfigTLS material for the OTLP listeners. When cert_path and
key_path are both Some, both gRPC and HTTP listen TLS; when
both are None, plain TCP (default).
ack: DaemonAckConfigDaemon-side ack store (JSONL persistence + HTTP API).
cors: DaemonCorsConfigCORS layer for the daemon HTTP API.
correlation: CorrelationConfigCross-trace correlation. enabled = false by default; the
daemon never wires the correlator when off, so the other fields
only apply when enabled = true.
archive: Option<DaemonArchiveConfig>Optional per-window Report archive writer. None (default)
means no archive is written. Consumed by perf-sentinel disclose.
Trait Implementations§
Source§impl Clone for DaemonConfig
impl Clone for DaemonConfig
Source§fn clone(&self) -> DaemonConfig
fn clone(&self) -> DaemonConfig
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 DaemonConfig
impl Debug for DaemonConfig
Auto Trait Implementations§
impl Freeze for DaemonConfig
impl RefUnwindSafe for DaemonConfig
impl Send for DaemonConfig
impl Sync for DaemonConfig
impl Unpin for DaemonConfig
impl UnsafeUnpin for DaemonConfig
impl UnwindSafe for DaemonConfig
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,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request