6#include <userver/utils/statistics/fwd.hpp>
7#include <userver/utils/statistics/rate.hpp>
8#include <userver/utils/statistics/rate_counter.hpp>
9#include <userver/utils/statistics/recentperiod.hpp>
11USERVER_NAMESPACE_BEGIN
13namespace cache::impl {
15struct ExpirableLruCacheStatisticsAggregator
final {
21 ExpirableLruCacheStatisticsAggregator& operator+=(
const ExpirableLruCacheStatisticsAggregator& other);
24struct ExpirableLruCacheStatisticsBase
final {
30 ExpirableLruCacheStatisticsAggregator Load()
const;
35struct ExpirableLruCacheStatistics
final {
36 ExpirableLruCacheStatisticsBase total;
41void CacheHit(ExpirableLruCacheStatistics& stats);
43void CacheMiss(ExpirableLruCacheStatistics& stats);
45void CacheStale(ExpirableLruCacheStatistics& stats);
47void CacheBackgroundUpdate(ExpirableLruCacheStatistics& stats);
49void DumpMetric(
utils::
statistics::Writer& writer,
const ExpirableLruCacheStatisticsBase& stats);
51void DumpMetric(
utils::
statistics::Writer& writer,
const ExpirableLruCacheStatistics& stats);