Skip to content

Prometheus metrics endpoint #207

@filthyrake

Description

@filthyrake

Summary

Add additional Prometheus metrics not covered by the initial implementation in PR #424.

Status

Partially implemented in PR #424 (Issue #414). Core metrics are in place at /metrics endpoint on Admin API (port 9001) and Worker API (port 9002).

✅ Already Implemented

  • vlog_http_requests_total{method, endpoint, status_code} - Request count
  • vlog_http_request_duration_seconds{method, endpoint} - Request latency histogram
  • vlog_videos_total{status} - Total videos by status
  • vlog_video_views_total - Total view count
  • vlog_transcoding_jobs_total{status} - Jobs by status
  • vlog_transcoding_job_duration_seconds - Transcoding duration histogram
  • vlog_transcoding_queue_size - Pending jobs count
  • vlog_workers_total{status} - Workers by status
  • vlog_db_* - Database metrics
  • vlog_redis_* - Redis metrics
  • vlog_reencode_* - Re-encode queue metrics

✅ Configuration Options - COMPLETED


Remaining Items

Metrics Not Yet Implemented

  • vlog_http_requests_in_progress{endpoint} - Current active requests gauge
  • vlog_videos_watch_time_seconds_total - Total watch time counter
  • vlog_worker_jobs_completed_total{worker_id} - Jobs completed per worker
  • vlog_worker_heartbeat_age_seconds{worker_id} - Time since last heartbeat
  • vlog_storage_videos_bytes - Total video storage used gauge

Grafana Dashboard

  • Create example Grafana dashboard JSON with panels for:
    • API performance (request rate, latency percentiles, error rate)
    • Transcoding status (queue depth, active jobs, duration)
    • Worker health (online count, heartbeat status)
    • Storage usage trends

Priority

Low - Core metrics are functional. These are nice-to-have enhancements.


Updated: Configuration options completed in PR #436/#495. Core implementation completed in PR #424 as part of Issue #414.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions