LATENCY-HISTOGRAM(3valkey)

πŸ“¦
version 9.0.6 Β· 2 versions
, in fedora 44

πŸ’– LATENCY-HISTOGRAM(3valkey) πŸ’–

okay bestie, we're in the Valkey Command Manual (section 3valkey) and today's main character is latency-histogram πŸŽ€

✨ NAME ✨

latency-histogram β€” returns the cumulative distribution of latencies of a subset or all commands. fr fr, that's the whole vibe.


🌸 SYNOPSIS 🌸

LATENCY HISTOGRAM COMMAND [COMMAND...]

πŸ¦‹ DESCRIPTION πŸ¦‹

LATENCY HISTOGRAM hands you a cumulative distribution of commands' latencies, but make it histogram format. it's giving data visualization but in your terminal πŸ’…

By default, you get all the available latency histograms back. but you can filter the reply by naming specific commands, so you're not drowning in numbers you didn't ask for.

Every histogram comes with these fields, no cap:

  • the Command name
  • the total calls for that command
  • a map of time buckets, and here's the tea on those:
    • each bucket is a latency range
    • each bucket covers twice the previous bucket's range (yes, it doubles, growth mindset ✨)
    • empty buckets are excluded from the reply, so no filler
    • the tracked latencies live between 1 microsecond and roughly 1 second
    • everything above 1 second counts as +Inf
    • at max, there will be log2(1,000,000,000)=30 buckets
⚠️ This command requires the extended latency monitoring feature to be enabled, which is the default. If you need to enable it, call valkey-config-set(7) CONFIG SET latency-tracking yes.

and if you wanna delete the latency histograms' data, that's valkey-config-resetstat(7) CONFIG RESETSTAT. bye bye data πŸ‘‹


πŸ’œ REPLY πŸ’œ

RESP2

valkey-protocol(7) Array reply: a map where each key is a command name, and each value is a map with the total calls, and an inner map of the histogram time buckets.

RESP3

valkey-protocol(7) Map reply: a map where each key is a command name, and each value is a map with the total calls, and an inner map of the histogram time buckets.

(yes they're the same description, RESP2 vs RESP3 is just the shape of the container, iconic behavior 🌈)


πŸ”₯ COMPLEXITY πŸ”₯

O(N) where N is the number of commands with latency information being retrieved. linear, not scary, we love that for us.


πŸ‘‘ ACL CATEGORIES πŸ‘‘

@admin @dangerous @slow

(so like… she's powerful. she's dangerous. she's slow. main character energy πŸ’…)


⭐ HISTORY ⭐

  • Available since: 7.0.0

πŸ“ EXAMPLES πŸ“

127.0.0.1:6379> LATENCY HISTOGRAM set
1# "set" =>
   1# "calls" => (integer) 100000
   2# "histogram_usec" =>
      1# (integer) 1 => (integer) 99583
      2# (integer) 2 => (integer) 99852
      3# (integer) 4 => (integer) 99914
      4# (integer) 8 => (integer) 99940
      5# (integer) 16 => (integer) 99968
      6# (integer) 33 => (integer) 100000

look at those doubling bucket keys β€” 1, 2, 4, 8, 16, 33 β€” she's literally built different 🧚


πŸ’€ SEE ALSO πŸ’€

acl(3valkey), acl-cat(3valkey), acl-deluser(3valkey), acl-dryrun(3valkey), acl-genpass(3valkey), acl-getuser(3valkey), acl-help(3valkey), acl-list(3valkey), acl-load(3valkey), acl-log(3valkey), acl-save(3valkey), acl-setuser(3valkey), acl-users(3valkey), acl-whoami(3valkey), bgrewriteaof(3valkey), bgsave(3valkey), command(3valkey), command-count(3valkey), command-docs(3valkey), command-getkeys(3valkey), command-getkeysandflags(3valkey), command-help(3valkey), command-info(3valkey), command-list(3valkey), commandlog(3valkey), commandlog-get(3valkey), commandlog-help(3valkey), commandlog-len(3valkey), commandlog-reset(3valkey), config(3valkey), config-get(3valkey), config-help(3valkey), config-resetstat(3valkey), config-rewrite(3valkey), config-set(3valkey), dbsize(3valkey), debug(3valkey), failover(3valkey), flushall(3valkey), flushdb(3valkey), info(3valkey), lastsave(3valkey), latency(3valkey), latency-doctor(3valkey), latency-graph(3valkey), latency-help(3valkey), latency-history(3valkey), latency-latest(3valkey), latency-reset(3valkey), lolwut(3valkey), memory(3valkey), memory-doctor(3valkey), memory-help(3valkey), memory-malloc-stats(3valkey), memory-purge(3valkey), memory-stats(3valkey), memory-usage(3valkey), module(3valkey), module-help(3valkey), module-list(3valkey), module-load(3valkey), module-loadex(3valkey), module-unload(3valkey), monitor(3valkey), psync(3valkey), replconf(3valkey), replicaof(3valkey), restore-asking(3valkey), role(3valkey), save(3valkey), shutdown(3valkey), slowlog(3valkey), slowlog-get(3valkey), slowlog-help(3valkey), slowlog-len(3valkey), slowlog-reset(3valkey), swapdb(3valkey), sync(3valkey), time(3valkey)


and that's the whole page bestie 🫢 this one's from version 9.0.0, dated 2025-10-21 β€” go forth and histogram your latencies, you absolute legend πŸ’–βœ¨

πŸ“¦ where this page comes from