timewrap

Description

Displays, or wraps, the output of the timechart command so that every period of time is a different series.

You can use the timewrap command to compare data over specific time period, such as day-over-day or month-over-month. You can also use the timewrap command to compare multiple time periods, such as a two week period over another two week period. See Timescale options.

Syntax

The required syntax is in bold.

timewrap

<timewrap-span>

[align=now | end]

[series=relative | exact | short]

[time_format=<str>]

Required arguments

timewrap-span

Syntax: [<int>]<timescale>

Description: A span of each bin, based on time. The timescale is required. The int is not required. If <int> is not specified, 1 is assumed. For example if day is specified for the timescale, 1day is assumed. See Timescale options.

Optional arguments

align

Syntax: align=now | end

Description: Specifies if the wrapping should be aligned to the current time or the end time of the search.

Default: end

series

Syntax: series=relative | exact | short

Description: Specifies how the data series is named. If series=relative and timewrap-span is set to week, the field names are latest_week, 1week_before, 2weeks_before, and so forth. If series=exact, use the time_format argument to specify a custom format for the series names. If series=short, the field names are an abbreviated version of the field names used with series=relative. With series=short, the field names are abbreviated to "s" followed by a number representing the period of time. For example, if timewrap-span is set to week, the field names are s0, s1, s2 and so forth. The field s0 represents the latest week. The field s1 represents 1 week before the latest week.

Default: relative

time_format

Syntax: time_format=<str>

Description: Use with series=exact to specify a custom name for the series. The time_format is designed to be used with the time format variables. For example, if you specify time_format="week of %d/%m/%y", this format appears as week of 13/2/17 and week of 20/2/17. If you specify time_format=week of  %b %d, this format appears as week of Feb 13 and week of Feb 20. See the Usage section.

Default: None

Timescale options

<timescale>

Syntax: <sec> | <min> | <hr> | <day> | <week> | <month> | <quarter> | <year>

Description: Time scale units.

Time scale Syntax Description
<sec> s | sec | secs | second | seconds Time scale in seconds.
<min> min | mins | minute | minutes Time scale in minutes.
<hr> h | hr | hrs | hour | hours Time scale in hours.
<day> d | day | days Time scale in days.
<week> w | week | weeks Time scale in weeks.
<month> m | mon | month | months Time scale in months.
<quarter> qtr | quarter | quarters Time scale in quarters
<year> y | yr | year | years Time scale in years.

Note: The timewrap command uses the abbreviation m to refer to months. Other commands , such as timechart and bin use the abbreviation m to refer to minutes.

Usage

The timewrap command is a reporting command.

You must use the timechart command in the search before you use the timewrap command.

The wrapping is based on the end time of the search. If you specify the time range of All time, the wrapping is based on today's date. You see this in the timestamps for the _time field and in the data series names.

Field names with a timechart BY clause

If you use a BY clause in the timechart command part of your search, the field names generated by the timewrap command are appended to the field names generated with the BY clause. For example, suppose you have a search that includes BY categoryId in the timechart command and the results look something like this:

When you add the timewrap command, such as | timewrap w series=short, the series field names are appended to the category ID names from the timechart BY clause.

The output looks something like this:

Using the time_format argument

If you do not include any time specifiers with the time_format argument, all of the data series display the same name and are compressed into each other.

Examples

1. Compare week over week

Display a timechart that has a span of 1 day for each count in a week over week comparison table. Each table column, which is the series, is 1 week of time.

2. Compare today, yesterday, and average for the week

To compare a few days with the weekly average, you need to calculate the daily totals, calculate the weekly average, and remove the days you don't want to use. For example:

  • Use the timewrap command to generate results over the last 7 days.
  • By using the series=short argument, field names are generated in the output which start with "s", making it easy to create totals using the addtotals command.
  • Use the addtotals and eval commands to calculate the average over those 7 days.
  • The table command is used to cut out days 3-7 so that only today, yesterday, and the weekly average are returned.
  • The rename command is used to rename the fields.

The output looks something like this:

3. Compare a day of the week to the same day of the previous weeks

You can compare a day of the week to the same day of the weeks by specifying a filter at the end of the search. For example, to compare Wednesdays your search would be like this:

The output looks something like this:

If you change the timechart span to 1d instead of 1h, your output will look like this: