pub struct Domain {Show 23 fields
pub apm_env: Option<String>,
pub env: Option<String>,
pub compute_stats_by_span_kind: bool,
pub peer_tags: Vec<String>,
pub peer_tags_aggregation: bool,
pub error_sampling_enabled: bool,
pub error_tracking_standalone_enabled: bool,
pub errors_per_second: f64,
pub target_traces_per_second: f64,
pub extra_sample_rate: f64,
pub analyzed_rate_by_service: HashMap<String, f64>,
pub analyzed_spans_by_service: HashMap<String, HashMap<String, f64>>,
pub max_events_per_second: f64,
pub max_catalog_entries: usize,
pub features: Vec<ApmFeature>,
pub enable_rare_sampler: bool,
pub rare_sampler: RareSampler,
pub probabilistic_sampler: ProbabilisticSampler,
pub obfuscation: Obfuscation,
pub ottl_filter: OttlFilter,
pub ottl_transform: OttlTransform,
pub max_resource_len: usize,
pub replace_tags: Vec<ReplaceRule>,
}Expand description
Resolved traces configuration.
Fields§
§apm_env: Option<String>Trace environment configured by apm_config.env (DD_APM_ENV).
None when no input set the key. An explicit empty value is kept as Some(""), which is
distinct from None: it still takes precedence over env and the env: global tags.
Defaults to None. The value is not normalized; the trace pipeline resolves its environment
from this, env, and the global tags.
env: Option<String>Agent environment configured by the top-level env key (DD_ENV).
None when no input set the key. An explicit empty value is kept as Some(""), which still
takes precedence over the env: global tags.
Defaults to None. The value is not normalized; the trace pipeline uses it when apm_env is
None.
compute_stats_by_span_kind: boolWhether trace stats are computed separately per span kind.
Span tags promoted to peer tags for peer-service aggregation.
Whether stats are aggregated by peer tags.
error_sampling_enabled: boolWhether error spans are sampled independently of the base sampler. (not in Datadog Agent config schema)
error_tracking_standalone_enabled: boolWhether error tracking runs standalone, without full trace ingestion.
errors_per_second: f64Target number of error traces sampled per second.
target_traces_per_second: f64Target number of traces sampled per second.
extra_sample_rate: f64Multiplier applied to every learned keep-rate of the adaptive samplers.
Defaults to 1.0, leaving the computed rates unchanged; values above 1.0 keep
proportionally more. A value of 0 drops every trace decided by a learned rate.
Signatures without a learned rate—new, or freshly cleaned up—fall to the sampler’s
default rate, which this multiplier does not scale.
Operators who want coarser or finer sampling than the adaptive target computes can set this once instead of re-planning the target: raise it temporarily for incident investigations, lower it to control ingestion cost. The trade-off is coverage against volume—every adaptive sampler’s output scales together, so the per-service distribution is preserved while the total scales.
analyzed_rate_by_service: HashMap<String, f64>Event extraction rates by service, for the legacy analytics configuration.
Empty by default, so no spans are nominated through this map. Rates apply only to
top-level spans of the named service. Superseded by analyzed_spans_by_service; the
legacy map is ignored when both are set.
analyzed_spans_by_service: HashMap<String, HashMap<String, f64>>Event extraction rates by service and operation name.
Empty by default. Configured keys combine service and operation as
service|operation with exactly one separator; malformed keys and non-numeric rates
are dropped with a warning at translation. Takes precedence over
analyzed_rate_by_service when non-empty.
max_events_per_second: f64Upper bound on the average number of extracted events sampled per second.
Defaults to 200. A decaying rate estimate caps survivors at this budget; spans of manually kept traces bypass the budget entirely. Raise it when customers need more event volume than the default allows; in normal traffic it should sit high enough that the cap never engages, since capped events are dropped probabilistically.
max_catalog_entries: usizeMaximum number of service signatures the priority sampler tracks rates for.
Defaults to 5000. If set to 0, the default of 5000 applies. Distinct services beyond
the cap evict the least recently used entries and lose their learned rates.
Deployments with more distinct (service, environment) pairs than the default should raise this. The trade-off is memory—the catalog holds a map entry and an LRU entry per tracked signature—against rate fidelity, since evicted services re-learn their rates from cold.
features: Vec<ApmFeature>Beta APM feature flags enabled for traces.
Empty by default. Unrecognized values are carried as ApmFeature::Other and ignored
without a warning: the flag inventory is not stable across versions. Enable
ApmFeature::ProbabilisticSamplerFullTraceId on every probabilistic sampler in the
ingestion path so they keep the same traces.
enable_rare_sampler: boolWhether the rare-span sampler is enabled.
rare_sampler: RareSamplerRare-span sampler settings.
probabilistic_sampler: ProbabilisticSamplerProbabilistic sampler settings.
obfuscation: ObfuscationPer-subsystem trace obfuscation settings.
ottl_filter: OttlFilterOTTL span-drop filter settings.
ottl_transform: OttlTransformOTTL span-transform settings.
max_resource_len: usizeMaximum length of a span’s resource name, in bytes; longer resources are truncated.
Defaults to 5000 bytes. If set to 0, all span resources are truncated to empty strings.
Change this only if legitimate resources exceed the default.
Regex-based trace tag replacement rules, used to scrub sensitive values the built-in obfuscation passes through. Defaults to no rules.
Rules run in order after obfuscation and before stats and sampling. A "*" rule rewrites
every non-_-prefixed tag, the resource, and span events; "resource.name" only the
resource; any other name only that tag. Matched values are stored as strings, and a
pattern that fails to compile prevents startup.