11#include <userver/utils/not_null.hpp> 
   12#include <userver/utils/statistics/labels.hpp> 
   13#include <userver/utils/statistics/metric_value.hpp> 
   14#include <userver/utils/statistics/storage.hpp> 
   16USERVER_NAMESPACE_BEGIN
 
   18namespace utils::statistics {
 
   25class MetricQueryError 
final : 
public std::runtime_error {
 
   27  using std::runtime_error::runtime_error;
 
   36  explicit Snapshot(
const Storage& storage, std::string prefix = {},
 
   37                    std::vector<Label> require_labels = {});
 
   39  Snapshot(
const Snapshot& other) = 
default;
 
   40  Snapshot(Snapshot&& other) 
noexcept = 
default;
 
   49                           std::vector<Label> require_labels = {}) 
const;
 
   52  friend void PrintTo(
const Snapshot& data, std::ostream*);
 
   55  utils::SharedRef<
const impl::SnapshotData> data_;
 
   74void PrintTo(
const Snapshot& data, std::ostream*);