Skip to main content

Analytics

Every call to /sdk/v1/evaluate generates an evaluation log entry for each flag in the response. These logs are the foundation for dashboards, rollout tracking, and debugging unexpected flag behaviour.

What gets logged​

For each flag evaluated:

FieldValue
flag_idThe flag that was evaluated
environment_idThe environment used
user_idFrom the request context (if provided)
user_emailFrom the request context (if provided)
resulttrue or false
reasonHuman-readable explanation of the result
evaluated_atTimestamp of the evaluation

Async logging​

Evaluation logs are written asynchronously. The service sends the flag results to your application, then writes the log in the background via tokio::spawn. The log write never blocks or adds latency to the response.

If your application crashes immediately after receiving the response, a small number of evaluations may not be logged. For analytics and dashboards this is an acceptable trade-off. For audit requirements that need 100% accuracy, consider an alternative approach.

What analytics enables​

Rollout tracking: see how many users are in a rollout bucket and how that changes as you increase the percentage.

Flag exposure: understand how many users are actually seeing a feature before deciding to remove the flag.

Debugging: when a user reports unexpected behaviour, look up their evaluation history to see which reason was returned.

Cleanup signal: a flag with zero evaluations in the last 30 days is safe to remove.