Summary
lowpass(<tsExpression1>, <tsExpression2>[, inner])
lowpass(<traceDuration>, <tracesExpression>)
lowpass(<spanDuration>, <spansExpression>)
You can use lowpass()
with time series, with traces, and with spans. Multiple operators can be used at the same time.
Time series filtering function | Filters the results of tsExpression2 to include only points with values that are less than tsExpression1 . tsExpression1 is often a constant. |
Traces filtering function | Filters the results of tracesExpression to include only traces that are shorter than the specified duration. |
Spans filtering function |
Filters the results of spansExpression to include only spans that are shorter than the specified duration. |
Parameters
Property | Description |
---|---|
tsExpression1 | Threshold expression. Often a constant. |
tsExpression2 | Expression that describes the time series you want to filter. |
inner | Results in an inner join. |
Traces Filtering Function
Parameter | Description |
---|---|
traceDuration | Upper limit for trace duration. Specify an integer number of milliseconds, seconds, minutes, hours, days or weeks (1ms, 1s, 1m, 1h, 1d, 1w). |
tracesExpression | Expression that that describes the traces you want to filter. Includes a traces() function. |
Spans Filtering Function
Parameter | Description |
---|---|
spanDuration | Upper limit for span duration. Specify an integer number of milliseconds, seconds, minutes, hours, days or weeks (1ms, 1s, 1m, 1h, 1d, 1w). |
spansExpression | Expression that that describes the spans you want to filter. Includes a spans() function. |
Description
You can use lowpass()
:
- With time series as a filtering function.
- With traces as a filtering function.
- With spans as a filtering function.
You can use the lt
operator with time series. You can use more than one operator to create a bounded expression. For example, use ts(<tsExpression>).gt(50.5).lt(70.5)
to return only values greater than 50.5 and less than 70.5.
Time-Series Filtering Function
The lowpass()
filtering function time-series filtering function plots a chart based on all reported data points that are lower than the specified threshold. The function ignores data points if their values are greater than or equal to the threshold, resulting in gaps between the remaining points.
You typically use lowpass()
to compare multiple time series to a single threshold or a single time series to multiple thresholds. If tsExpression1
and tsExpression2
each describe multiple time series, then the query engine uses series matching to determine which pairs of time series to compare.
Traces Filtering Function
The lowpass()
trace-filtering function examines the traces described by the traces expression, and returns only traces that are shorter than the specified duration. Longer traces are ignored. The duration of an entire trace is considered, not the duration of any individual span in the trace.
For example, the following query returns only traces that are shorter than 12 milliseconds:
lowpass(12ms, traces("beachshirts.styling.makeShirts"))
Spans Filtering Function
The lowpass()
spans-filtering function examines the spans described by the spans expression, and returns any spans that are shorter than the specified duration. Longer spans are ignored.
For example, the following query expression returns only spans that are shorter than 12 milliseconds:
lowpass(12ms, spans("beachshirts.styling.makeShirts"))
You can pass this expression to traces() to display traces that contain at least one span for beachshirts.styling.makeShirts
that is shorter than 12 milliseconds.
traces(lowpass(12ms, spans("beachshirts.styling.makeShirts")))
Examples
Let’s look at latency data:
Now we wrap this example with lowpass()
and use a threshold of 130.
The resulting Stacked Area chart shows results only where the data are less than 130.