# 2024-07-25-Release

## New Features

* [Configurable Measurement Interval](#configurable-measurement-interval)
  * Review the [Upgrade Notes](#upgrade-notes) for upgrade requirements
* [Prometheus Metrics](#prometheus-metrics)
* [CLI Completion Command](#cli-completion-command)
* Multiple performance improvements for Postgres and Bolt Store
* Added the ability to specify a selector or query to the `/agents/labels` endpoint

## Bug Fixes

* Fixed Configurations page telemetry sorting

## Upgrade Notes

### Prometheus

If you are **not** using BindPlane with high availability, no action is required.

BindPlane High Availability users should upgrade their [Prometheus Linux Package](https://github.com/observIQ/bindplane-docs/blob/main/production-checklist/bindplane/high-availability/prometheus/installation.md). The latest version of the package will contain the new recording rules that enable [Configurable Measurement Interval](#configurable-measurement-interval). After upgrading, no further action is required.

If you are managing Prometheus [manually](https://github.com/observIQ/bindplane-docs/blob/main/production-checklist/bindplane/high-availability/prometheus/manual-install.md), you will need to re-review the [documentation](https://github.com/observIQ/bindplane-docs/blob/main/production-checklist/bindplane/high-availability/prometheus/manual-install.md). Make sure to update your recording rules.

The new recording rules look like this.

```yaml
groups:
- name: configuration-rollups
  interval: 1m
  rules:
  - record: bindplane_agent_measurements:rollup:rate:1m
    expr: sum without (agent) (rate(bindplane_agent_measurements{}[1m9s999ms] offset 10s))
- name: 5m-configuration-rollups
  interval: 5m
  rules:
  - record: bindplane_agent_measurements:rollup:rate:5m
    expr: sum without (agent) (rate(bindplane_agent_measurements:1m{}[5m59s999ms] offset 10s))
- name: 1h-configuration-rollups
  interval: 1h
  rules:
  - record: bindplane_agent_measurements:rollup:rate:1h
    expr: sum without (agent) (rate(bindplane_agent_measurements:15m{}[1h14m59s999ms] offset 10s))
```

### Configurable Measurement Interval

Agents send configuration throughput metrics to BindPlane every 10 seconds. This interval is now\
configurable, supporting 10s, 1m, and 15m. It is recommended to use 1m or 15m intervals when managing large numbers of agents. At scale, 10s intervals can be responsible for high overhead.

The interval can be set by modifying a configuration's advanced settings. Select the gear icon on and\
choose "Advanced Configuration Options".

<figure><img src="https://github.com/observIQ/bindplane-docs/blob/main/.gitbook/assets/release-notes-bindplane-2024-07-25-release-readme-image-1.png" alt="Bindplane docs - 2024-07-25-Release - image 1"><figcaption></figcaption></figure>

See the [Upgrade Notes](#upgrade-notes) for important details regarding configurable measurement intervals.

### Prometheus Metrics

BindPlane can expose APM metrics using a built-in Prometheus exporter. Metrics are disabled by\
default and can be enabled by updating your configuration file.

```yaml
type: prometheus
interval: 10s
prometheus:
    endpoint: /metrics
```

### CLI Completion Command

The CLI supports shell completion for `bash`, `zsh`, `fish` and `powershell`. After upgrading your\
CLI, use the `bindplane completion -h` command for more information.
