Библиотека предназначен для отслеживания метрик.
Библиотека для сбора, обработки и экспорта метрик в приложениях.
-
События (Events)
IEvent- интерфейс для создания пользовательских событийSetEvent- реализация событий для автоматического обновления метрик
-
Метрики (Metrics)
IMetric- интерфейс для работы с метрикамиMetric- класс для управления значениями метрик и их форматирования
-
Управление системой
MetricManager- централизованное управление метриками с периодическим экспортом данныхMetricManagerBuilder- конфигуратор системы через Builder-паттерн
- Потокобезопасные операции с атомарными операциями
- Поддержка пользовательских типов данных
- Гибкая система подписки на события
- Интервальный экспорт метрик
- Оптимизированные lock-free структуры данных
Библиотека включает два демонстрационных сценария:
- Работа со встроенными типами данных
- Интеграция пользовательских типов данных
Набор модульных тестов реализован с использованием Google Test Framework:
- Тестирование событий (
SetEventTest) - Валидация метрик (
MetricTest) - Проверка менеджера (
MetricManagerTest)
Создание директории сборки и конфигурация проекта
# Базовая конфигурация (Debug с тестами)
cmake -B build -DCMAKE_BUILD_TYPE=Debug
# Конфигурация без тестов
cmake -B build -DBUILD_TESTS=OFF
# Конфигурация без примеров
cmake -B build -DBUILD_EXAMPLES=OFF
# Release сборка
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
cd build
ctest --verbose
# Или для запуска конкретного теста
./tests/SetEventTest
# Пример 1
./build/examples/example1
# Пример 2
./build/examples/example2
| Опция CMake | Значение по умолчанию | Описание |
|---|---|---|
| BUILD_TESTS | ON | Включить сборку тестов |
| BUILD_EXAMPLES | ON | Включить сборку примеров |
| CMAKE_BUILD_TYPE | Debug | Тип сборки (Debug/Release) |
Примеры использования:
# Сборка в Release режиме без тестов
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
# Сборка в Debug режиме без примеров
cmake -B build -DBUILD_EXAMPLES=OFF