/* Copyright (c) [2023] [pcm] [pcm-coordinator] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPaRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. */ package tracker import ( "github.com/prometheus/common/model" "time" ) type Interface interface { //GetMetric(expr string, time time.Time) Metric //GetMetricOverTime(expr string, start, end time.Time, step time.Duration) Metric GetNamedMetrics(metrics []string, time time.Time, opt QueryOption) []Metric GetNamedMetricsByTime(metrics []string, start, end string, step time.Duration, opt QueryOption) []Metric //GetMetadata(namespace string) []Metadata //GetMetricLabelSet(expr string, start, end time.Time) []map[string]string // //// meter //GetNamedMeters(meters []string, time time.Time, opts []QueryOption) []Metric //GetNamedMetersOverTime(metrics []string, start, end time.Time, step time.Duration, opts []QueryOption) []Metric GetRawData(expr string, o QueryOption) (model.Value, error) }