Skip to main content

exd telemetry user

All evaluations for a single unit_id_hash. Support / debugging only — not for analytical batch use.

Synopsis

exd telemetry user --id <hex>
[--namespace <slug>] [--environment <env>]
[--flag <key>]...
[--since <duration> | --from <ts> --to <ts>]
[--source <uri>]...
[--format human|json]
[--limit <n>]

See common flags for shared options.

Description

Pulls every evaluation record matching a single hashed entity id. Useful for support: a user reports "I'm seeing the wrong banner" and you need the full picture of what they were served, when, by which manifest version.

Default --limit is 100; max 10,000. Larger queries should use export against an object-store warehouse.

Use cases

  • "Why did user X see Y?" support ticket. Hash their user id (using the same sha256_hex the SDKs use), then:

    HASH=$(echo -n "u_42" | sha256sum | head -c 64)
    exd telemetry user --id $HASH --since 7d
  • Bucketing-bug investigation. Combine with version-skew: if the user's records span multiple manifest_version values, a stale-SDK problem may be causing inconsistency.

  • Privacy audit. Confirm a user's records contain only the context attributes you expect (no leakage of private_attributes). T011 fires automatically if leakage is detected.

Note: raw_entity_ids flag namespaces. When [namespace].raw_entity_ids = true, the SDK writes the raw entity id (e.g. "u_42"), not the hash. In that mode pass the raw value to --id. See namespace § raw_entity_ids.

Subcommand-specific flags

FlagRequiredNotes
--id <value>yesThe unit_id_hash (or raw id in raw_entity_ids namespaces) to look up.

Result fields (--format json)

result.evaluations is an ordered array (newest first) of per-record summaries:

FieldTypeNotes
timestampRFC 3339When the evaluation happened.
flag_keystringFlag evaluated.
namespacestringNamespace slug.
environmentstringEnv block consulted.
variantstringVariant returned.
evaluation_reasonstringE.g. rule_matched, fallthrough, default_variant.
manifest_versionintegerThe version the SDK was on.
rule_idstringThe matched rule (when applicable).
context_attributesmapNon-private attributes only.

Example

$ exd telemetry user --id 9a3b...c2f --since 24h --limit 10
Evaluations for unit 9a3b...c2f (last 24h)

timestamp flag env variant reason manifest_version
2026-05-12T17:42:11Z onboarding-banner prod treat_a rule_matched 13
2026-05-12T17:42:11Z pricing-tier-gate prod pro rule_matched 13
2026-05-12T09:18:55Z onboarding-banner prod treat_a rule_matched 13
2026-05-12T08:01:02Z onboarding-banner prod control fallthrough 12 ← skew

Exit codes

See telemetry exit codes.

See also