pub struct ExpandedEntry {Show 28 fields
pub id: Option<String>,
pub signal_type: String,
pub name: String,
pub rate: f64,
pub duration: Option<String>,
pub generator: Option<GeneratorConfig>,
pub log_generator: Option<LogGeneratorConfig>,
pub labels: Option<BTreeMap<String, String>>,
pub dynamic_labels: Option<Vec<DynamicLabelConfig>>,
pub encoder: EncoderConfig,
pub sink: SinkConfig,
pub jitter: Option<f64>,
pub jitter_seed: Option<u64>,
pub gaps: Option<GapConfig>,
pub bursts: Option<BurstConfig>,
pub cardinality_spikes: Option<Vec<CardinalitySpikeConfig>>,
pub phase_offset: Option<String>,
pub clock_group: Option<String>,
pub after: Option<AfterClause>,
pub while_clause: Option<WhileClause>,
pub delay_clause: Option<DelayClause>,
pub distribution: Option<DistributionConfig>,
pub buckets: Option<Vec<f64>>,
pub quantiles: Option<Vec<f64>>,
pub observations_per_tick: Option<u32>,
pub mean_shift_per_sec: Option<f64>,
pub seed: Option<u64>,
pub on_sink_error: OnSinkError,
}Expand description
A single concrete scenario entry after pack expansion.
This is the fully-resolved form of a signal that later compilation
phases (after compiler, clock group assignment, runtime launcher)
consume. The type deliberately drops pack-related fields
(pack, overrides) because they cannot appear here, and drops
histogram/summary fields because spec §2.4 forbids pack entries from
carrying them — inline histogram/summary entries still flow through but
pack expansion never produces them.
Sub-signal IDs produced by pack expansion have the form
"{effective_entry_id}.{metric_name}"; see the module docs for the
auto-ID scheme used when the pack entry lacks an explicit id.
Fields§
§id: Option<String>Signal identifier. Concrete for every expanded entry: either the
user-provided inline id, or a pack-expansion sub-signal id of the
form "{effective_entry_id}.{metric_name}".
Inline entries without an id in the source carry None here (that
survives verbatim from the normalized input). Pack-expanded entries
always have Some(_): if the parent pack entry lacked an id, one
was synthesized (see module docs).
signal_type: StringSignal type: "metrics", "logs", "histogram", or "summary".
name: StringMetric or scenario name. Always populated after expansion: inline entries carried their own name through normalization; pack-expanded entries use the pack metric’s name.
rate: f64Event rate in events per second. Inherited from the parent normalized entry.
duration: Option<String>Total run duration (e.g. "30s", "5m").
generator: Option<GeneratorConfig>Value generator configuration (metrics signals only).
log_generator: Option<LogGeneratorConfig>Log generator configuration (logs signals only).
labels: Option<BTreeMap<String, String>>Static labels after the full precedence chain has been applied.
For pack-expanded entries this is the level-2-through-7 merge described in the module docs. For inline entries it is the already-merged map produced by Phase 2 normalization (unchanged).
None when no source contributed any labels.
dynamic_labels: Option<Vec<DynamicLabelConfig>>Dynamic (rotating) label configurations.
encoder: EncoderConfigEncoder configuration.
sink: SinkConfigSink configuration.
jitter: Option<f64>Jitter amplitude applied to generated values.
jitter_seed: Option<u64>Deterministic seed for jitter RNG.
gaps: Option<GapConfig>Recurring silent-period configuration.
bursts: Option<BurstConfig>Recurring high-rate burst configuration.
cardinality_spikes: Option<Vec<CardinalitySpikeConfig>>Cardinality spike configurations.
phase_offset: Option<String>Phase offset for staggered start within a clock group.
clock_group: Option<String>Clock group for coordinated timing across entries.
after: Option<AfterClause>Causal dependency on another signal’s value.
For pack-expanded signals, an override-level after replaces the
parent pack entry’s after; otherwise the parent’s after is
propagated verbatim. Resolution into timing offsets is Phase 4’s job.
while_clause: Option<WhileClause>Continuous lifecycle gate on another signal’s value.
Override-level while: replaces entry-level while: for that
metric; otherwise the parent’s while: is propagated verbatim.
delay_clause: Option<DelayClause>Open / close debounce windows for while_clause transitions.
distribution: Option<DistributionConfig>Distribution model for histogram or summary observations.
buckets: Option<Vec<f64>>Histogram bucket boundaries (histogram only).
quantiles: Option<Vec<f64>>Summary quantile boundaries (summary only).
observations_per_tick: Option<u32>Number of observations sampled per tick.
mean_shift_per_sec: Option<f64>Linear drift applied to the distribution mean each second.
seed: Option<u64>Deterministic seed for histogram/summary sampling.
on_sink_error: OnSinkErrorResolved sink-error policy.
Trait Implementations§
Source§impl Clone for ExpandedEntry
impl Clone for ExpandedEntry
Source§fn clone(&self) -> ExpandedEntry
fn clone(&self) -> ExpandedEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more