Assign the start of the search time interval to the field provided by parameter as.

The time is represented as milliseconds since January 1, 1970 (UTC). In live queries (where the search time interval is forever moving), start() is the current time minus the width of the search interval.


The parser does not have a search interval; therefore, it does not make sense to use the start() query function here.

Function Traits: Aggregate, FieldComputationFunction, Transformation

as[a]stringoptional_start Name of output field.

[a] The argument name as can be omitted.

The parameter name for as can be omitted; the following forms are equivalent:




start() Examples

Assign s the value of start():

s := start()

Use start() in an assignment:

isOld := (@timestamp - start()) < 1000

Search Relative Time to Query Execution

flowchart LR; repo{{Events}} 0[(Filter Function)] result{{Result Set}} repo --> 0 0 --> result
test(@timestamp < (start() + (30*24*60*60*1000)))

If you want to be able to execute a query that executes against a time range relative to when the query is executed, for example,

  1. Starting with the source repository events

  2. flowchart LR; repo{{Events}} 0[(Filter Function)] result{{Result Set}} repo --> 0 0 --> result style 0 fill:#ff0000,stroke-width:4px,stroke:#000;

    Tests whether the @timestamp for an event is less than the start time of the query. The query start time is returned by the start() function. To work out the relative time, we add the explicit number of milliseconds by calculating the number of milliseconds in the specified number of days, in this case, 30.

    test(@timestamp < (start() + (30*24*60*60*1000)))
  3. Event Result set

Summary and Results

The query is a practical way of querying with a relative time from the query execution. The 30 days (and calculation) used in the example could be updated with any time calculation to achieve the required result.