+++
title = "Гистограммы и тепловые карты"
description = "Введение в гистограммы и тепловые карты"
keywords = ["harvest", "heatmap", "panel", "documentation", "histogram"]
aliases = ["/docs/harvest/latest/getting-started/intro-histograms"]
weight = 700
+++
# Введение в гистограммы и тепловые карты

Гистограмма представляет собой графическое представление распределения числовых данных. Он группирует значения в ведра
(иногда также называемых корзинами), а затем подсчитывает, сколько значений попадает в каждую корзину.

Вместо того, чтобы отображать фактические значения, гистограммы отображают сегменты. Каждая полоса представляет собой ведро,
а высота столбца представляет частоту (например, количество) значений, попадающих в интервал этого сегмента.

## Пример гистограммы

Эта гистограмма показывает распределение значений пары временных рядов. Вы можете легко увидеть, что
большинство значений находится между 240-300 с пиком между 260-280.

![](/static/img/docs/v43/heatmap_histogram.png)

Гистограммы смотрят только на _распределение значений_ за определенный период времени. Проблема с гистограммами заключается в том, что вы не можете увидеть какие-либо тренды или изменения в распределении с течением времени.
Вот где тепловые карты становятся полезными.

## Тепловые карты

_Тепловая карта_ похожа на гистограмму, но с течением времени, где каждый временной срез представляет собой собственную гистограмму. Вместо того, чтобы использовать высоту столбца в качестве представления частоты, он использует ячейки и окрашивает ячейку пропорционально количеству значений в сегменте.

В этом примере вы можете четко увидеть, какие значения являются более распространенными и как они изменяются с течением времени.

![](/static/img/docs/v43/heatmap_histogram_over_time.png)
## Предварительно размеченные данные

Существует ряд источников данных, поддерживающих гистограмму с течением времени, таких как Elasticsearch (с использованием сегмента гистограммы).
агрегация) или Prometheus (с типом метрики [histogram](https://prometheus.io/docs/concepts/metric_types/#histogram)
и для параметра *Форматировать как* установлено значение «Тепловая карта»). Но в целом можно использовать любой источник данных, если он соответствует требованиям:
возвращает серию с именами, представляющими привязку сегмента, или возвращает серию, отсортированную по привязке в порядке возрастания.

## Необработанные данные и агрегированные

Если вы используете тепловую карту с обычными данными временных рядов (без предварительной разбивки), важно помнить, что ваши данные
часто уже агрегированы вашим сервером временных рядов. Большинство запросов временных рядов не возвращают необработанные выборочные данные.
но включите группу по временному интервалу или пределу maxDataPoints в сочетании с функцией агрегирования (обычно среднее значение).

Все это, конечно, зависит от временного диапазона вашего запроса. Но важно знать, что группировка гистограммы
которые выполняет Harvest, может выполняться на уже агрегированных и усредненных данных. Для получения более точных тепловых карт лучше
выполнять группировку во время сбора метрик или сохранять данные в Elasticsearch или в другом источнике данных, который
поддерживает группировку гистограмм на необработанных данных.

Если вы удалите или уменьшите группу по времени (или поднимите maxDataPoints) в своем запросе, чтобы вернуть больше точек данных, ваша тепловая карта будет
более точным, но это также может сильно нагружать ЦП и память вашего браузера и может привести к зависаниям и сбоям, если число
точки данных становятся неоправданно большими.