All checks were successful
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
25 lines
546 B
Go
25 lines
546 B
Go
package handlers
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
|
|
"armature/metrics"
|
|
)
|
|
|
|
// MetricsHandler serves the admin metrics endpoint.
|
|
type MetricsHandler struct {
|
|
collector *metrics.Collector
|
|
}
|
|
|
|
// NewMetricsHandler creates a MetricsHandler.
|
|
func NewMetricsHandler(c *metrics.Collector) *MetricsHandler {
|
|
return &MetricsHandler{collector: c}
|
|
}
|
|
|
|
// GetMetrics returns a full metrics snapshot.
|
|
// GET /api/v1/admin/metrics
|
|
func (h *MetricsHandler) GetMetrics(c *gin.Context) {
|
|
snap := h.collector.Collect(c.Request.Context())
|
|
c.JSON(200, snap)
|
|
}
|