RapidGo
No results found

Metrics

Prometheus HTTP instrumentation with request count, duration, and response size.

RapidGo includes Prometheus metrics for HTTP request instrumentation.

Setup

import "github.com/RAiWorks/RapidGo/v2/core/metrics"

m := metrics.New()

// Add metrics middleware to all routes
r.Use(m.Middleware())

// Expose /metrics endpoint for Prometheus scraping
r.Get("/metrics", metrics.Handler())

Collected Metrics

Metric Type Labels Description
http_requests_total Counter method, path, status Total HTTP requests
http_request_duration_seconds Histogram method, path, status Request duration
http_response_size_bytes Histogram method, path, status Response body size

Prometheus Configuration

Add a scrape target in your prometheus.yml:

scrape_configs:
  - job_name: 'rapidgo'
    scrape_interval: 15s
    static_configs:
      - targets: ['localhost:8080']

Grafana Dashboard

The metrics follow standard Prometheus naming conventions and work with common Grafana dashboards for HTTP monitoring. You can visualize:

  • Request rate (requests/second)
  • Error rate (4xx/5xx responses)
  • Response time percentiles (p50, p95, p99)
  • Response size distribution