ОтелФабрикаПростыхРезервуаров
Фабрика простых резервуаров exemplars фиксированного размера (SimpleFixedSizeExemplarReservoir).
Описание
Фабрику передают в параметр РезервуарЭкземпляров представления, чтобы задать, сколько exemplars хранит точка данных потока. SDK вызывает СоздатьРезервуар() для каждой серии потока (набора атрибутов точки данных): у каждой серии свой резервуар. Резервуар хранит exemplars одного интервала сбора: после сбора читателем серия получает новый резервуар, поэтому exemplars точки взяты из измерений, записанных после предыдущего сбора.
Резервуар хранит не больше Размер exemplars. Первые Размер предложенных резервуару измерений сохраняются подряд, далее N-е измерение заменяет случайно выбранный exemplar с вероятностью Размер/N (равномерная выборка, Algorithm R): у каждого измерения интервала равные шансы попасть в exemplars.
Exemplar содержит значение измерения, время записи в резервуар, идентификаторы трассировки и спана, если измерение записано в контексте спана, и атрибуты измерения, которых нет в атрибутах серии (filteredAttributes), — например, отброшенные представлением через РазрешенныеКлючиАтрибутов или ИсключенныеКлючиАтрибутов. Наблюдения асинхронных инструментов предлагаются резервуару при сборе и идентификаторов трассировки и спана не содержат.
Резервуару предлагаются только измерения, которые пропустил фильтр exemplars провайдера (ОтелФильтрЭкземпляров): по умолчанию — записанные в контексте сэмплированного спана. При фильтре ВсегдаВыключен() резервуары не создаются.
Резервуар по умолчанию
Если View не задал РезервуарЭкземпляров, фабрику выбирает SDK по агрегации потока (спецификация Metrics SDK, раздел Exemplar defaults):
| Агрегация потока | Фабрика резервуаров |
|---|---|
| Явная гистограмма хотя бы с одной границей | ОтелФабрикаВыровненныхРезервуаровГистограммы с границами гистограммы |
| Экспоненциальная гистограмма | ОтелФабрикаПростыхРезервуаров размера min(20, МаксБакетов) |
Отбросить (drop) | нет: у потока нет ни точек данных, ни exemplars |
| Сумма, последнее значение, явная гистограмма с пустым массивом границ | ОтелФабрикаПростыхРезервуаров размера 1 |
Конструктор
Новый ОтелФабрикаПростыхРезервуаров(Размер)| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
Размер | Число | 1 | Максимальное число exemplars в резервуаре серии |
Методы
СоздатьРезервуар
Создаёт новый резервуар размера Размер. SDK вызывает метод для каждой серии потока на каждый интервал сбора.
Возвращает: ОтелРезервуарЭкземпляров — новый резервуар
Размер
Возвращает размер создаваемых резервуаров.
Возвращает: Число — максимальное число exemplars в резервуаре
Пример
// До пяти exemplars на точку данных счётчика запросов
Представление = Новый ОтелПредставление(, , , , , ,
Новый ОтелФабрикаПростыхРезервуаров(5)); // РезервуарЭкземпляров
Провайдер = Новый ОтелПостроительПровайдераМетрик()
.ЗарегистрироватьЧитатель(Читатель)
.ЗарегистрироватьПредставление(Новый ОтелСелекторИнструментов("http.server.requests"), Представление)
.Построить();