2013-01-11 02:27:03 +01:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
2013-01-12 21:22:59 +01:00
|
|
|
"code.google.com/p/gorest"
|
2013-02-06 17:08:05 +01:00
|
|
|
"github.com/prometheus/prometheus/storage/metric"
|
2013-01-27 19:59:20 +01:00
|
|
|
"github.com/prometheus/prometheus/utility"
|
2013-01-11 02:27:03 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
type MetricsService struct {
|
2013-01-12 21:22:59 +01:00
|
|
|
gorest.RestService `root:"/api/" consumes:"application/json" produces:"application/json"`
|
2013-01-11 02:27:03 +01:00
|
|
|
|
2013-01-18 00:07:00 +01:00
|
|
|
query gorest.EndPoint `method:"GET" path:"/query?{expr:string}&{json:string}" output:"string"`
|
2013-01-15 11:30:55 +01:00
|
|
|
queryRange gorest.EndPoint `method:"GET" path:"/query_range?{expr:string}&{end:int64}&{range:int64}&{step:int64}" output:"string"`
|
2013-02-06 17:08:05 +01:00
|
|
|
metrics gorest.EndPoint `method:"GET" path:"/metrics" output:"string"`
|
|
|
|
|
|
|
|
persistence metric.MetricPersistence
|
|
|
|
time utility.Time
|
|
|
|
}
|
|
|
|
|
2013-02-12 13:15:40 +01:00
|
|
|
func NewMetricsService(persistence metric.MetricPersistence) *MetricsService {
|
2013-02-06 17:08:05 +01:00
|
|
|
return &MetricsService{
|
2013-02-12 13:15:40 +01:00
|
|
|
persistence: persistence,
|
2013-02-06 17:08:05 +01:00
|
|
|
}
|
2013-01-11 02:27:03 +01:00
|
|
|
}
|