📊 Bee movement metric reporting

📊 Отчётность метрик движения пчёл

🎯 Назначение

Собирает, обрабатывает и передаёт комплексную аналитику движения пчёл с мониторинга летка, чтобы давать пчеловодам практические инсайты.

🎭 Пользовательская история

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

🚀 Ключевые преимущества

  • Комплексная аналитика: детальные паттерны движения, пики активности и сезонные тренды
  • Система раннего предупреждения: обнаружение аномалий в необычных паттернах активности
  • Историческое отслеживание: долгосрочные данные для понимания развития семьи
  • Готовность к интеграции: стандартизированные метрики для дашбордов и систем оповещений

🔧 Технический обзор

Система расчёта метрик (src/metrics.py) обрабатывает историю треков и генерирует производную аналитику: среднюю скорость, 95-й перцентиль скорости и обнаружение неподвижных пчёл. Данные сохраняются локально в ежедневно ротируемых JSONL-файлах и передаются через telemetry API с настраиваемыми endpoint и аутентификацией.

📋 Критерии приёмки

  • Рассчитывает производные метрики: avg_speed_px_per_frame, p95_speed_px_per_frame, stationary_bees_count
  • Обрабатывает историю треков с NumPy для расчёта скорости и расстояний
  • Сохраняет телеметрию локально в ежедневно ротируемых JSONL-файлах (metrics_YYYY-MM-DD.jsonl)
  • Передаёт данные на настраиваемый TELEMETRY_BASE_URL с аутентификацией по API-токену
  • Включает базовые метрики: bees_in, bees_out, detected_bees, bee_interactions, net_flow
  • Поддерживает настраиваемый порог неподвижности (по умолчанию 10px движения)
  • Потокобезопасная передача телеметрии с асинхронной обработкой

🚫 Вне области

  • Долгосрочное хранение данных (облачная инфраструктура)
  • Продвинутая предиктивная аналитика (только базовый статистический анализ)
  • Сравнительный анализ между ульями
  • Корреляция с погодой (отдельные системы)

🏗️ Подход к реализации

  • Движок метрик: расчёты на NumPy для скорости и расстояний
  • Хранение данных: локальные JSONL-файлы с ежедневной ротацией в /app/telemetry
  • Интеграция API: HTTP POST на telemetry endpoint с bearer token
  • Анализ треков: евклидовы расстояния между последовательными парами координат
  • Потоки: асинхронная передача телеметрии без блокировки основной обработки

📊 Метрики успеха

  • Расчёт метрик на NumPy с округлением до 2 знаков
  • Локальное сохранение данных с ежедневной ротацией файлов
  • Успешная HTTP-передача телеметрии с корректной обработкой ошибок
  • Сериализация истории треков с целочисленными координатами
  • Потокобезопасная асинхронная обработка без блокировки видеопайплайна

🔗 Связанные функции

📚 Ресурсы и ссылки

💬 Заметки

Фактическая реализация использует NumPy для математических расчётов, ежедневно ротируемые JSONL-файлы и асинхронную HTTP-передачу телеметрии. Ключевой компонент для превращения сырых данных трекинга в практические метрики.