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