A FastAPI service for collecting anonymized OVOS usage metrics and data with an interactive Streamlit dashboard for visualization.
🚀 Features:
- ✅ FastAPI backend to store utterance logs
- ✅ PostgreSQL database for structured storage
- ✅ Streamlit dashboard for data analysis
- ✅ Filters, charts, and data export (CSV & JSON)
- ✅ Dockerized setup for easy deployment
git clone https://github.com/TigreGotico/metrics-server-docker
cd metrics-server-dockerdocker-compose up --build -dThis will start:
- FastAPI server on
http://localhost:8000 - PostgreSQL database
- Streamlit dashboard on
http://localhost:8501
Send anonymized metrics from OVOS:
curl -X POST "http://localhost:8000/intents" \
-H "User-Agent: ovos-metrics" \
-F "utterance=What’s the weather?" \
-F "lang=en" \
-F "intent=weather" \
-F "match_data={\"pipeline\": \"padatious_high\"}"curl -X POST "http://localhost:8000/wake_word" \
-H "User-Agent: ovos-metrics" \
-F "name=alexa" \
-F "model=default" \
-F "plugin=mycroft-precise" \
-F "plugin_config={\"sensitivity\": 0.5}" \
-F "audio=@wakeword.wav"curl -X POST "http://localhost:8000/stt" \
-H "User-Agent: ovos-metrics" \
-F "transcript=What’s the weather?" \
-F "model=whisper" \
-F "plugin=ovos-stt-plugin-whisper" \
-F "plugin_config={\"language\": \"en\"}" \
-F "audio=@utterance.wav"
NOTE: the user agent must be
ovos-metricsotherwise the request is ignored
1️⃣ Open your browser: http://localhost:8501
2️⃣ Features:
- 📌 Filter by date range, language, and intent
- 📊 Pie charts for intent & language distribution
- 📥 Export data to CSV & JSON
- 🔄 Live updates & refresh button
- Fork the repo & create a new branch
- Make your changes & ensure tests pass
- Submit a pull request 🎉
This project was funded by the Ministerio para la Transformación Digital y de la Función Pública and Plan de Recuperación, Transformación y Resiliencia - Funded by EU – NextGenerationEU within the framework of the project ILENIA with reference 2022/TL22/00215337


