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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bindplane.com/changelog/july-2024/2024-07-25-release.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
