Skip to content

SeniorPomidorDeveloper/MetricsLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MetricsLog

Библиотека предназначен для отслеживания метрик.

Описание

Библиотека для сбора, обработки и экспорта метрик в приложениях.

Ключевые компоненты

  • События (Events)

    • IEvent - интерфейс для создания пользовательских событий
    • SetEvent - реализация событий для автоматического обновления метрик
  • Метрики (Metrics)

    • IMetric - интерфейс для работы с метриками
    • Metric - класс для управления значениями метрик и их форматирования
  • Управление системой

    • MetricManager - централизованное управление метриками с периодическим экспортом данных
    • MetricManagerBuilder - конфигуратор системы через Builder-паттерн

Особенности реализации

  • Потокобезопасные операции с атомарными операциями
  • Поддержка пользовательских типов данных
  • Гибкая система подписки на события
  • Интервальный экспорт метрик
  • Оптимизированные lock-free структуры данных

Примеры использования

Библиотека включает два демонстрационных сценария:

  1. Работа со встроенными типами данных
  2. Интеграция пользовательских типов данных

Тестирование

Набор модульных тестов реализован с использованием 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors