{
std::vector<std::string> result;
for (const auto& field : k_statistics_fields) {
- if (m_counters.get(field.statistic) != 0 && !(field.flags & FLAG_NOZERO)) {
- result.emplace_back(field.id);
+ if (!(field.flags & FLAG_NOZERO)) {
+ for (size_t i = 0; i < m_counters.get(field.statistic); ++i) {
+ result.emplace_back(field.id);
+ }
}
}
std::sort(result.begin(), result.end());
$CCACHE_COMPILE -c test.c
expect_stat direct_cache_hit 0
+ expect_stat preprocessed_cache_miss 1
expect_stat cache_miss 1
+ expect_stat primary_storage_hit 0
+ expect_stat primary_storage_miss 2
$CCACHE_COMPILE -c test.c
expect_stat direct_cache_hit 1
+ expect_stat preprocessed_cache_miss 1
expect_stat cache_miss 1
+ expect_stat primary_storage_hit 2
+ expect_stat primary_storage_miss 2
expect_content stats.log "# test.c
cache_miss
direct_cache_miss
preprocessed_cache_miss
primary_storage_miss
+primary_storage_miss
# test.c
direct_cache_hit
+primary_storage_hit
primary_storage_hit"
}