@cryptotaxi247 / netdata-1 / commits / 7c5b13fc3

use stats readaheads

Costa Tsaousis (ktsaou) committed Mar 5, 2018 at 18:37 UTC 7c5b13fc31e6c57e33e7cd343d3013544afa1ed0
1 file changed +11 -13
src/proc_diskstats.c
+11 -13
@@ -35,7 +35,6 @@ static struct disk {
35 int device_is_bcache;
36
37 char *bcache_filename_cache_congested;
38 - char *bcache_filename_readahead;
38 char *bcache_filename_dirty_data;
39 char *bcache_filename_writeback_rate;
40
@@ -45,6 +44,7 @@ static struct disk {
44 char *bcache_filename_stats_total_cache_miss_collisions;
45 char *bcache_filename_stats_total_cache_bypass_hits;
46 char *bcache_filename_stats_total_cache_bypass_misses;
47 + char *bcache_filename_stats_total_cache_readaheads;
48
49 RRDSET *st_io;
50 RRDDIM *rd_io_reads;
@@ -99,7 +99,7 @@ static struct disk {
99
100 RRDSET *st_bcache_rates;
101 RRDDIM *rd_bcache_rate_congested;
102 - RRDDIM *rd_bcache_rate_readahead;
102 + RRDDIM *rd_bcache_readaheads;
103 RRDDIM *rd_bcache_rate_writeback;
104
105 struct disk *next;
@@ -519,7 +519,7 @@ static struct disk *get_disk(unsigned long major, unsigned long minor, char *dis
519
520 snprintfz(buffer2, FILENAME_MAX, "%s/readahead", buffer);
521 if(access(buffer2, R_OK) == 0)
522 - d->bcache_filename_readahead = strdupz(buffer2);
522 + d->bcache_filename_stats_total_cache_readaheads = strdupz(buffer2);
523 else
524 error("bcache file '%s' cannot be read.", buffer2);
525
@@ -1074,8 +1074,8 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1074 cache_miss_collisions = 0,
1075 cache_misses = 0,
1076 cache_available_percent = 0,
1077 + cache_readaheads = 0,
1078 congested = 0,
1078 - readahead = 0,
1079 dirty_data = 0,
1080 writeback_rate = 0;
1081
@@ -1084,8 +1084,8 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1084 if(d->bcache_filename_cache_congested)
1085 congested = bcache_read_number_with_units(d->bcache_filename_cache_congested);
1086
1087 - if(d->bcache_filename_readahead)
1088 - readahead = bcache_read_number_with_units(d->bcache_filename_readahead);
1087 + if(d->bcache_filename_stats_total_cache_readaheads)
1088 + cache_readaheads = bcache_read_number_with_units(d->bcache_filename_stats_total_cache_readaheads);
1089
1090 if(d->bcache_filename_dirty_data)
1091 dirty_data = bcache_read_number_with_units(d->bcache_filename_dirty_data);
@@ -1132,14 +1132,12 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1132 , RRDSET_TYPE_AREA
1133 );
1134
1135 - d->rd_bcache_rate_readahead = rrddim_add(d->st_bcache_rates, "readahead", NULL, 1, 1024, RRD_ALGORITHM_ABSOLUTE);
1136 - d->rd_bcache_rate_writeback = rrddim_add(d->st_bcache_rates, "writeback", NULL, -1, 1024, RRD_ALGORITHM_ABSOLUTE);
1135 d->rd_bcache_rate_congested = rrddim_add(d->st_bcache_rates, "congested", NULL, 1, 1024, RRD_ALGORITHM_ABSOLUTE);
1136 + d->rd_bcache_rate_writeback = rrddim_add(d->st_bcache_rates, "writeback", NULL, -1, 1024, RRD_ALGORITHM_ABSOLUTE);
1137 }
1138 else rrdset_next(d->st_bcache_rates);
1139
1140 rrddim_set_by_pointer(d->st_bcache_rates, d->rd_bcache_rate_writeback, writeback_rate);
1142 - rrddim_set_by_pointer(d->st_bcache_rates, d->rd_bcache_rate_readahead, readahead);
1141 rrddim_set_by_pointer(d->st_bcache_rates, d->rd_bcache_rate_congested, congested);
1142 rrdset_done(d->st_bcache_rates);
1143 }
@@ -1196,8 +1194,6 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1194
1195 if(d->do_bcache == CONFIG_BOOLEAN_YES || (d->do_bcache == CONFIG_BOOLEAN_AUTO && (cache_hits != 0 || cache_misses != 0 || cache_miss_collisions != 0))) {
1196
1199 - cache_misses -= cache_miss_collisions;
1200 -
1197 if(unlikely(!d->st_bcache)) {
1198 d->st_bcache = rrdset_create_localhost(
1199 "disk_bcache"
@@ -1218,13 +1214,15 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1214
1215 d->rd_bcache_hits = rrddim_add(d->st_bcache, "hits", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1216 d->rd_bcache_misses = rrddim_add(d->st_bcache, "misses", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1221 - d->rd_bcache_miss_collisions = rrddim_add(d->st_bcache, "collisions", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1217 + d->rd_bcache_readaheads = rrddim_add(d->st_bcache, "readaheads", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
1218 + d->rd_bcache_miss_collisions = rrddim_add(d->st_bcache, "collisions", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
1219 }
1220 else rrdset_next(d->st_bcache);
1221
1222 rrddim_set_by_pointer(d->st_bcache, d->rd_bcache_hits, cache_hits);
1223 rrddim_set_by_pointer(d->st_bcache, d->rd_bcache_misses, cache_misses);
1224 rrddim_set_by_pointer(d->st_bcache, d->rd_bcache_miss_collisions, cache_miss_collisions);
1225 + rrddim_set_by_pointer(d->st_bcache, d->rd_bcache_readaheads, cache_readaheads);
1226 rrdset_done(d->st_bcache);
1227 }
1228
@@ -1328,7 +1326,7 @@ int do_proc_diskstats(int update_every, usec_t dt) {
1326 }
1327
1328 freez(t->bcache_filename_cache_congested);
1331 - freez(t->bcache_filename_readahead);
1329 + freez(t->bcache_filename_stats_total_cache_readaheads);
1330 freez(t->bcache_filename_dirty_data);
1331 freez(t->bcache_filename_writeback_rate);
1332 freez(t->bcache_filename_stats_total_cache_available_percent);