Files
cloudpods/pkg/monitor/metricquery/interfaces.go
zhaoxiangchun 3f63e4737a 统一监控接口
1.通过前端选择measurement等数据完成对influxdb指标的的查询
2.支持同时查询多个query。
2020-06-01 17:01:39 +08:00

28 lines
577 B
Go

package metricquery
import (
"yunion.io/x/onecloud/pkg/apis/monitor"
"yunion.io/x/onecloud/pkg/monitor/tsdb"
)
type Metrics struct {
Series tsdb.TimeSeriesSlice
Metas []tsdb.QueryResultMeta
}
type MetricQuery interface {
ExecuteQuery() (*Metrics, error)
}
type QueryFactory func(model []*monitor.AlertCondition) (MetricQuery, error)
var queryFactories = make(map[string]QueryFactory)
func RegisterMetricQuery(typeName string, factory QueryFactory) {
queryFactories[typeName] = factory
}
func GetQueryFactories() map[string]QueryFactory {
return queryFactories
}