Skip to content

roundTime

Description

Returns a timestamp rounded down to the nearest interval.

Note

Functionally equivalent to dividing a timestamp by an interval: timestamp / interval.

Syntax

Like many functions in DataPrime, roundTime supports two notations, function and method notation. These interchangeable forms allow flexibility in how you structure expressions.

roundTime(sourceTimestamp: timestamp, timeInterval: interval): timestamp
(sourceTimestamp: timestamp).roundTime(timeInterval: interval): timestamp

Arguments

NameTypeRequiredDescription
sourceTimestamptimestamptrueThe timestamp to round
timeIntervalintervaltrueThe interval that defines the rounding precision

Example

Use case: Group timestamps into one-hour buckets

Round event timestamps to one-hour buckets and count CREATE actions per bucket.

[
{ "ts": 1728763337, "action": "CREATE" },
{ "ts": 1728751234, "action": "CREATE" },
{ "ts": 1728734567, "action": "UPDATE" },
{ "ts": 1728763312, "action": "DELETE" }
]
filter action == "CREATE"
| groupby roundTime(ts, 1h) as time_bucket agg count() as create_count
filter action == "CREATE"
| groupby ts.roundTime(1h) as time_bucket agg count() as create_count

Output

[
{ "time_bucket": 1728763200000000000, "create_count": 2 },
{ "time_bucket": 1728748800000000000, "create_count": 1 },
{ "time_bucket": 1728734400000000000, "create_count": 1 }
]