Search Reference

 


Functions for stats, geostats, chart, and timechart

Functions for stats, geostats, chart, and timechart

These are statistical functions that you can use with the chart, stats, and timechart commands.

  • Functions that are relevant for stats are also relevant for eventstats, streamstats, and geostats.
  • Functions that are relevant for chart, stats, and timechart are also relevant for their respective summary indexing counterparts: sichart, sistats, and sitimechart.
  • Functions that are relevant for sparklines will say as much. Note that sparklines is not a search command, it is a function that applies only to chart and stats and allows you to call other functions. For more information, read "Add sparklines to search results" in the Search Manual.
Function Description Command(s) Example(s)
avg(X) This function returns the average of the values of field X. See also, mean(X). chart, stats, timechart, sparkline() This examples returns the average response time:

avg(responseTime)

c(X) | count(X) This function returns the number of occurrences of the field X. To indicate a specific field value to match, format X as eval(field="value"). chart, stats, timechart, sparkline() This example returns the count of events where status has the value "404":

count(eval(status="404"))

These generate sparklines for the counts of events. The first looks at the _raw field. The second counts events with a user field:

sparkline(count)

sparkline(count(user))

dc(X) | distinct_count(X) This function returns the count of distinct values of the field X. chart, stats, timechart, sparkline() This example generates sparklines for the distinct count of devices and renames the field, "numdevices":

sparkline(dc(device)) AS numdevices

This example counts the distinct sources for each sourcetype, and buckets the count for each five minute spans:

sparkline(dc(source),5m) by sourcetype

earliest(X) This function returns the chronologically earliest seen occurrence of a value of a field X. chart, stats, timechart
estdc(X) This function returns the estimated count of the distinct values of the field X. chart, stats, timechart
estdc_error(X) This function returns the theoretical error of the estimated count of the distinct values of the field X. The error represents a ratio of abs(estimate_value - real_value)/real_value. chart, stats, timechart
first(X) This function returns the first seen value of the field X. In general, the first seen value of the field is the most recent instance of this field, relative to the input order of events into the stats command. chart, stats, timechart
last(X) This function returns the last seen value of the field X. In general, the last seen value of the field is the oldest instance of this field relative to the input order of events into the stats command. chart, stats, timechart
latest(X) This function returns the chronologically latest seen occurrence of a value of a field X. chart, stats, timechart
list(X) This function returns the list of all values of the field X as a multi-value entry. The order of the values reflects the order of input events. chart, stats, timechart
max(X) This function returns the maximum value of the field X. If the values of X are non-numeric, the max is found from lexicographic ordering. chart, stats, timechart, sparkline() This example returns the maximum value of "size":

max(size)

mean(X) This function returns the arithmetic mean of the field X. See also, avg(X). chart, stats, timechart, sparkline() This example returns the mean of "kbps" values:

mean(kbps)

median(X) This function returns the middle-most value of the field X.

Note: The median calculation is more correct for odd numbers of events. In cases where you have an even number of events, the median is approximated to be the higher of the two values.

chart, stats, timechart
min(X) This function returns the minimum value of the field X. If the values of X are non-numeric, the min is found from lexicographic ordering. chart, stats, timechart
mode(X) This function returns the most frequent value of the field X. chart, stats, timechart
p<X>(Y) | perc<X>(Y) | exactperc<X>(Y) | upperperc<X>(Y) This function returns the X-th percentile value of the numeric field Y, where X is an integer between 1 and 99. The percentile X-th function sorts the values of Y in an increasing order. Then, if you consider that 0% is the lowest and 100% the highest, the functions picks the value that corresponds to the position of the X% value.

The functions perc, p, and upperperc give approximate values for the integer percentile requested. The approximation algorithm used provides a strict bound of the actual value for any percentile. The functions perc and p return a single number that represents the lower end of that range while upperperc gives the approximate upper bound. exactperc provides the exact value, but will be very expensive for high cardinality fields.

chart, stats, timechart For the list of values Y = {10,9,8,7,6,5,4,3,2,1}:

perc50(Y)=6

perc95(Y)=10

per_day(X) This function returns the values of field X per day. timechart This example returns the values of "total" per day.

per_day(total)

per_hour(X) This function returns the values of field X per hour. timechart This example returns the values of "total" per hour.

per_hour(total)

per_minute(X) This function returns the values of field X per minute. timechart This example returns the values of "total" per minute.

per_minute(total)

per_second(X) This function returns the values of field X per second. timechart This example returns values of "kb" per second:

per_second(kb)

range(X) This function returns the difference between the max and min values of the field X ONLY IF the value of X are numeric. chart, stats, timechart, sparkline()
stdev(X) This function returns the sample standard deviation of the field X. chart, stats, timechart, sparkline() This example returns the standard deviation of wildcarded fields "*delay" which can apply to both, "delay" and "xdelay".

stdev(*delay)

stdevp(X) This function returns the population standard deviation of the field X. chart, stats, timechart, sparkline()
sum(X) This function returns the sum of the values of the field X. chart, stats, timechart, sparkline() sum(eval(date_hour * date_minute))
sumsq(X) This function returns the sum of the squares of the values of the field X. chart, stats, timechart, sparkline()
values(X) This function returns the list of all distinct values of the field X as a multi-value entry. The order of the values is lexicographical. chart, stats, timechart
var(X) This function returns the sample variance of the field X. chart, stats, timechart, sparkline()
varp(X) This function returns the population variance of the field X. chart, stats, timechart, sparkline().

This documentation applies to the following versions of Splunk: 6.0 , 6.0.1 , 6.0.2 , 6.0.3 , 6.0.4 , 6.0.5 , 6.0.6 , 6.1 , 6.1.1 , 6.1.2 , 6.1.3 , 6.1.4 , 6.2.0 View the Article History for its revisions.


You must be logged into splunk.com in order to post comments. Log in now.

Was this documentation topic helpful?

If you'd like to hear back from us, please provide your email address:

We'd love to hear what you think about this topic or the documentation as a whole. Feedback you enter here will be delivered to the documentation team.

Feedback submitted, thanks!