## 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 Wavefront 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.