V1 - Processing - timechart
timechart
- timechart {span="time", limit=N} <NAME = aggregate_function>, … by (groupByTerm)
The command timechart
can be considered as a "matrix version" of aggregate. That is, within the interval of "time" and the limit number of N, do aggregate_functions according to (groupByTerm). f("@timestamp")
has to be extracted before using the command timechart
.
timechart-Table
The basic usage of timechart
is given in the following example:
search
let source=f("@source"), size=f("__size__"), timestamp=f("@timestamp")
timechart {span="1h"} sourceCount=count() by source
In the result, with the command timechart
, a matrix is shown.
- Rows: time (with an interval of: span="time")
- Columns: source
To achieve the same goal, using aggregate
would be like:
search
let source=f("@source"), size=f("__size__"), timestamp=f("@timestamp")
let Hour=strftime("%H:%M",timebucket("1h", timestamp))
aggregate sourceCount=count() by source, Hour
Comparing the result table of aggregate
with the last one of timechart
, one can find this table is kind of an "unfolded version" or "list version" of the last one. And in the result table of aggregate
, if the count of a source in a one-hour interval is zero, this information cannot be shown. In a word, the timechart
already contains the dimension of time internally, and displayed a two-dimensional result table.
timechart-Histogram
Another important usage of timechart
is to present histogram with time as X axis, i.e. the time series of a variable.
Example:
function aws_Region()
search {from="-7d@d", to="@d"} sContent("@event_type","@cloudtrail")
let {awsRegion} =f("@cloudtrail")
aggregate count_Region=count() by awsRegion
sort count_Region
end
function aws_Region_timechart()
search {from="-7d@d", to="@d"} sContent("@event_type","@cloudtrail")
let {awsRegion} =f("@cloudtrail")
let timestamp=f("@timestamp")
timechart {span="1h"} count_Region_timechart=count() by awsRegion
end
stream aws_Region=aws_Region()
stream aws_Region_timechart=aws_Region_timechart()
In the example above, the basic statistics (illustrated by Pie Chart) of aws_Region is achieved by aggregate
("function aws_Region()"). On the other hand, how does the number of each aws_Region vary with time (illustrated by Histogram) is given by timechart
("function aws_Region_timechart()"). Therefore, timechart
is an fundemental tool in creating FPL reports.