Summary
highpass(<tsExpression1>, <tsExpression2>[, inner])
highpass(<traceDuration>, <tracesExpression>)
highpass(<spanDuration>, <spansExpression>)
You can use highpass()
with time series, with traces, or with spans.
You can use the .gt
operator with time series. 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 greater than tsExpression1 . tsExpression1 is often a constant. |
Traces filtering function | Filters the results of tracesExpression to include only traces that are longer than the specified duration. |
Spans filtering function |
Filters the results of spansExpression to include only spans that are longer than the specified duration. |
Parameters
Time-Series Filtering Function
Parameter | Description |
---|---|
tsExpression1 | Threshold expression. Often a constant. |
tsExpression2 | Expression that describes the time series that you want to filter. |
inner | Results in an inner join. |
Traces Filtering Function
Parameter | Description |
---|---|
traceDuration | Lower 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 | Lower 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 highpass()
:
- With time series as a filtering function.
- With traces as a filtering function.
- With spans as a filtering function.
You can use the gt
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 highpass()
time-series filtering function plots a chart based on all reported data points that are higher than the specified threshold. The function ignores data points if their values are less than or equal to the threshold, resulting in gaps between the remaining points.
You typically use highpass()
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 highpass()
trace-filtering function examines the traces described by the traces expression, and returns any traces that are longer than the specified duration. Shorter 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 longer than 3 seconds:
highpass(3s, traces("beachshirts.styling.makeShirts"))
Spans Filtering Function
The highpass()
spans-filtering function examines the spans described by the spans expression, and returns any spans that are longer than the specified duration. Shorter spans are ignored.
For example, the following query expression returns only spans that are longer than 3 seconds:
highpass(3s, 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 longer than 3 seconds.
traces(highpass(3s, spans("beachshirts.styling.makeShirts")))
Examples
Let’s look at latency data:
Now we wrap this example with highpass()
and use a threshold of 120.
The resulting Stacked Area chart shows results only where the data exceeds 120.