userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
lru_cache_statistics.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/cache/lru_cache_statistics.hpp
4
/// @brief Expirable LRU cache statistics types and metric helpers
5
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
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
cache
::impl {
14
15
struct
ExpirableLruCacheStatisticsAggregator
final
{
16
utils
::
statistics
::
Rate
hits;
17
utils
::
statistics
::
Rate
misses;
18
utils
::
statistics
::
Rate
stale;
19
utils
::
statistics
::
Rate
background_updates;
20
21
ExpirableLruCacheStatisticsAggregator& operator+=(
const
ExpirableLruCacheStatisticsAggregator& other);
22
};
23
24
struct
ExpirableLruCacheStatisticsBase
final
{
25
utils
::
statistics
::RateCounter hits;
26
utils
::
statistics
::RateCounter misses;
27
utils
::
statistics
::RateCounter stale;
28
utils
::
statistics
::RateCounter background_updates;
29
30
ExpirableLruCacheStatisticsAggregator Load()
const
;
31
32
void
Reset();
33
};
34
35
struct
ExpirableLruCacheStatistics
final
{
36
ExpirableLruCacheStatisticsBase total;
37
utils
::
statistics
::
RecentPeriod
<std::atomic<std::uint64_t>, std::uint64_t> recent_hits;
38
utils
::
statistics
::
RecentPeriod
<std::atomic<std::uint64_t>, std::uint64_t> recent_misses;
39
};
40
41
void
CacheHit(ExpirableLruCacheStatistics& stats);
42
43
void
CacheMiss(ExpirableLruCacheStatistics& stats);
44
45
void
CacheStale(ExpirableLruCacheStatistics& stats);
46
47
void
CacheBackgroundUpdate(ExpirableLruCacheStatistics& stats);
48
49
void
DumpMetric(
utils
::
statistics
::Writer& writer,
const
ExpirableLruCacheStatisticsBase& stats);
50
51
void
DumpMetric(
utils
::
statistics
::Writer& writer,
const
ExpirableLruCacheStatistics& stats);
52
53
}
// namespace cache::impl
54
55
USERVER_NAMESPACE_END
userver
cache
lru_cache_statistics.hpp
Generated on
for userver by
Doxygen
1.17.0