Skip to main content

exd telemetry rules

Rule-fire frequency for a flag. Which rules are matching, which never fire?

Synopsis

exd telemetry rules --flag <key>
[--namespace <slug>] [--environment <env>]
[--since <duration> | --from <ts> --to <ts>]
[--source <uri>]...
[--format human|json]
[--thresholds <path>]
[--engine <name>]
[--fail-on-error]

See common flags for shared options.

Description

For each rule in the flag's [flag.environments.<env>] blocks (and the _ catch-all), counts how many evaluations matched at that rule. Includes fallthrough counts (no rule matched; resolution fell through to variant) and "off" counts when the catch-all variant served.

Use cases

  • Find dead rules. A rule that never fires across a long window is either redundant or misconfigured — T005 flags it:

    exd telemetry rules --flag onboarding-banner --since 30d
  • Rule-rewrite verification. After reordering or rewriting a rule, confirm the new order is matching the intended audience:

    exd telemetry rules --flag onboarding-banner --since 1h
  • Track segment health. A bucket-bearing segment whose rule never fires means no one's landing in that bucket — likely an entity_id_attribute mismatch.

  • CI gate on a recently-removed rule. After deleting rule[3], verify no late traffic depended on it:

    exd telemetry rules --flag onboarding-banner --since 1h --fail-on-error

Subcommand-specific flags

FlagRequiredNotes
--flag <key>yesThe flag to analyze.

Result fields (--format json)

Top-level fields plus a rules array; per row:

FieldTypeNotes
rule_idstring"rule[<i>]" for declared rules; "fallthrough" and "off" for the synthetic catch-all rows.
envstringEnvironment block the rule belongs to.
match_countintegerEvaluations matched at this rule.
match_fractionfloatmatch_count / total.

Plus top-level fallthrough_count, off_count, total.

Diagnostics

  • T005 rule never fires (match_count == 0 for a declared rule across the window)

Example

$ exd telemetry rules --flag onboarding-banner --since 7d
Rule-fire frequency for 'onboarding-banner' (last 7d, n=1,388,210)

env rule_id match_count match_fraction
prod rule[0] 643,201 46.3%
prod rule[1] 632,517 45.6%
prod rule[2] 0 0.0% ← T005
prod fallthrough 112,492 8.1%
prod off 0 0.0%

T005 info: rule[2] never fires (env=prod, audience=segment `eu-only-legacy`).
Consider removing the rule or auditing the segment's predicate.

Exit codes

See telemetry exit codes.

See also

  • summary — per-variant aggregate that adds up to these per-rule counts.
  • coverage — flags with no eval traffic at all.
  • dead-flags — flags where every eval lands in fallthrough.
  • T005.