📊 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-передачу телеметрии. Ключевой компонент для превращения сырых данных трекинга в практические метрики.