Collects events into sessions, which are series of events that are no further than maxpause apart (defaults to 15m), and then performs an aggregate function across the events that make up the session.

ParameterTypeRequiredDefaultDescription
function[a]Array of Aggregate Functionsoptional[b]count(as=_count) Specifies which aggregate functions to perform on each session.
maxpausestringoptional[b]15m Defines the maximum pause between sessions i.e., events more than this far apart will become separate sessions.

[a] The argument name function can be omitted.

[b] Optional parameters use their default value unless explicitly set

Omitted Argument Names

The argument name for function can be omitted; the following forms of this function are equivalent:

logscale
session("count(as=_count)")

and:

logscale
session(function="count(as=_count)")

session() Examples

Count unique visitors (each visitor defined as non-active for 15 minutes)

logscale
groupby(client_ip, function=session(maxpause=15m))
| count()

Find the visits with most clicks

logscale
groupby(cookie_id, function=session(maxpause=15m, count(as=clicks)))
| sort(clicks)

Find the minimum and maximum values of the field bet within each session

logscale
groupby(cookie_id, function=session([max(bet),min(bet)]))