// Copyright 2016 The Prometheus Authors // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package local import ( "time" "github.com/prometheus/common/model" "golang.org/x/net/context" "github.com/prometheus/prometheus/storage/metric" ) // NoopStorage is a dummy storage for use when Prometheus's local storage is // disabled. It throws away any appended samples and returns empty results. type NoopStorage struct{} // Start implements Storage. func (s *NoopStorage) Start() (err error) { return nil } // Stop implements Storage. func (s *NoopStorage) Stop() error { return nil } // WaitForIndexing implements Storage. func (s *NoopStorage) WaitForIndexing() { } // LastSampleForLabelMatchers implements Storage. func (s *NoopStorage) LastSampleForLabelMatchers(ctx context.Context, cutoff model.Time, matcherSets ...metric.LabelMatchers) (model.Vector, error) { return nil, nil } // QueryRange implements Storage. func (s *NoopStorage) QueryRange(ctx context.Context, from, through model.Time, matchers ...*metric.LabelMatcher) ([]SeriesIterator, error) { return nil, nil } // QueryInstant implements Storage. func (s *NoopStorage) QueryInstant(ctx context.Context, ts model.Time, stalenessDelta time.Duration, matchers ...*metric.LabelMatcher) ([]SeriesIterator, error) { return nil, nil } // MetricsForLabelMatchers implements Storage. func (s *NoopStorage) MetricsForLabelMatchers( ctx context.Context, from, through model.Time, matcherSets ...metric.LabelMatchers, ) ([]metric.Metric, error) { return nil, nil } // LabelValuesForLabelName implements Storage. func (s *NoopStorage) LabelValuesForLabelName(ctx context.Context, labelName model.LabelName) (model.LabelValues, error) { return nil, nil } // DropMetricsForLabelMatchers implements Storage. func (s *NoopStorage) DropMetricsForLabelMatchers(ctx context.Context, matchers ...*metric.LabelMatcher) (int, error) { return 0, nil } // Append implements Storage. func (s *NoopStorage) Append(sample *model.Sample) error { return nil } // NeedsThrottling implements Storage. func (s *NoopStorage) NeedsThrottling() bool { return false }