| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
### Описание
В данном PR реализован механизм базовой фильтрации метрик в Unified Agent. Цель — по умолчанию исключать некоторые "тяжелые" или избыточные метрики для снижения нагрузки, оставляя при этом возможность запросить полный набор.
**Основные изменения:**
* **Новый пресет фильтрации:** В `ESetParameter` добавлен режим `basic`. В отличие от `minimal` и `advanced`, работающих по принципу "белого списка" (allowlist), режим `basic` работает как "черный список" (blocklist) и исключает только заданные метрики.
* **Черный список по умолчанию:** Реализована функция `GetDefaultBlockedMetricNames()`. На данный момент в этот список добавлена метрика `UnacknowledgedBytes`.
* **Логика фильтрации:** Обновлен класс `TCountersFilter`. Теперь методы `GetAllowedNames` и `GetBlockedNames` используют единый `switch-case` по значениям `ESetParameter`. Если параметр `@set` пуст или не распознан, по умолчанию применяется поведение пресета `basic`. Пресет `all` корректно отключает любую фильтрацию.
* **Изменение дефолтного поведения:** Для плагина `agent_metrics_input` значение по умолчанию в поле `Preset` изменено на `basic`. Теперь `TCountersFilter` инстанцируется и применяется всегда, гарантируя консистентную фильтрацию.
**Тестирование:**
* В конфигурацию `test_counters_set_parameter.yml` добавлен `fs` storage и пайплайн для отправки данных через него. Это было необходимо, чтобы агент начал генерировать метрику `UnacknowledgedBytes`, связанную с файловым хранилищем.
* В `generic_tests.cpp` значительно переработан `TestCountersSetParameter`. Чтобы избежать "мигания" (flakiness) тестов из-за меняющихся значений счетчиков или появления служебных логов (например, `RecordsReceived`), реализована кастомная функция `getSensorSchema`. Она извлекает и сравнивает только структуру метрик (`kind` и `labels`), игнорируя их числовые значения.
* Добавлены строгие ассерты: тест проверяет, что метрика `UnacknowledgedBytes` **отсутствует** при базовом запросе (или при `?@set=basic`), но **гарантированно присутствует** при явном запросе `?@set=all`.
commit_hash:78b757d4c55f496e0f041ddfba8f385784b46881
|
| |
|
|
| |
commit_hash:1d15aa793cf4d50dfdab33d413cdb8480b35080a
|
| |
|
|
|
|
| |
в ручке /counters
commit_hash:7540b71c453d05401c539b0f22cd489831fdfa20
|
| |
|
|
| |
commit_hash:d6538967a151a3aba3c806d3d1ba3f4c7ef1ae47
|
| |
|
|
|
| |
Идея в том, чтобы фильтровать нулевые метрики на выводе при помощи вот такого класса: <HIDDEN_URL>
commit_hash:296137b0e9503a932eeb1bd5586772c9e4d6c1f8
|
| |
|
|
| |
https://clubs.at.yandex-team.ru/arcadia/29404
|
| | |
|
| |
|
| |
Pull Request resolved: 86
|
| |
|
|
| |
ref:460fd827b07d7a0cd719c88e6381600b19cdce73
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| | |
|
| | |
|
|
|
ref:cde9a383711a11544ce7e107a78147fb96cc4029
|