mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-02-14 16:38:41 -06:00
Implement comprehensive analytics and monitoring system with PostHog integration, complete observability stack (Prometheus, Grafana, Loki, Promtail), and CI/CD workflows for automated builds. Features: - Add PostHog telemetry integration with privacy-focused event tracking - Implement installation flow for opt-in telemetry configuration - Add telemetry management UI in admin panel with detailed transparency - Track key user events across all major features (projects, tasks, timer, etc.) Infrastructure: - Set up Prometheus for metrics collection - Configure Grafana for visualization dashboards - Integrate Loki and Promtail for log aggregation - Add separate analytics docker-compose configuration CI/CD: - Add GitHub Actions workflows for building and publishing Docker images - Implement separate dev and production build pipelines - Configure automated image publishing to registry Documentation: - Restructure documentation into organized docs/ directory - Add comprehensive guides for telemetry, analytics, and local development - Create transparency documentation for tracked events - Add CI/CD and build configuration guides Code improvements: - Integrate telemetry hooks across all route handlers - Add feature flags and configuration management - Refactor test suite for analytics functionality - Clean up root directory by moving docs and removing test artifacts Breaking changes: - Requires new environment variables for PostHog configuration - Docker compose setup now supports analytics stack Changes: 73 files changed, 955 insertions(+), 14126 deletions(-)
35 lines
931 B
YAML
35 lines
931 B
YAML
# Prometheus configuration for TimeTracker
|
|
# This file configures Prometheus to scrape metrics from the TimeTracker application
|
|
|
|
global:
|
|
scrape_interval: 15s # Scrape targets every 15 seconds
|
|
evaluation_interval: 15s # Evaluate rules every 15 seconds
|
|
external_labels:
|
|
monitor: 'timetracker'
|
|
|
|
# Scrape configurations
|
|
scrape_configs:
|
|
# TimeTracker application metrics
|
|
- job_name: 'timetracker'
|
|
static_configs:
|
|
- targets: ['timetracker:8000'] # Scrape from timetracker service
|
|
metrics_path: '/metrics'
|
|
scrape_interval: 30s # Scrape every 30 seconds
|
|
scrape_timeout: 10s
|
|
|
|
# Prometheus self-monitoring
|
|
- job_name: 'prometheus'
|
|
static_configs:
|
|
- targets: ['localhost:9090']
|
|
|
|
# Example alerting rules (optional)
|
|
# rule_files:
|
|
# - 'alerts.yml'
|
|
|
|
# Alertmanager configuration (optional)
|
|
# alerting:
|
|
# alertmanagers:
|
|
# - static_configs:
|
|
# - targets: ['alertmanager:9093']
|
|
|