7575#define CHARTS_CHUNKIOJOBS 28
7676#define CHARTS_CHUNKOPJOBS 29
7777#define CHARTS_MEMORY 30
78+ #define CHARTS_GC_PURGE 31
7879
79- #define CHARTS_NUMBER 31
80+ #define CHARTS_NUMBER 32
8081
8182const unsigned long kLinuxMaxrssSize = 1024UL ;
8283
@@ -113,6 +114,7 @@ const unsigned long kLinuxMaxrssSize = 1024UL;
113114 {" chunkiojobs" ,CHARTS_MODE_MAX,0 ,CHARTS_SCALE_NONE , 1 , 1 }, \
114115 {" chunkopjobs" ,CHARTS_MODE_MAX,0 ,CHARTS_SCALE_NONE , 1 , 1 }, \
115116 {" memory" ,CHARTS_MODE_MAX,0 ,CHARTS_SCALE_NONE , 1 , 1 }, \
117+ {" gcpurge" ,CHARTS_MODE_ADD,0 ,CHARTS_SCALE_NONE , 1 , 1 }, \
116118 {NULL ,0 ,0 ,0 , 0 , 0 } \
117119};
118120
@@ -165,7 +167,7 @@ void chartsdata_refresh(void) {
165167 uint64_t bytesIn, bytesOut, totalBytesRead, totalBytesWrite;
166168 uint32_t opsRead, opsWrite, totalOpsRead, totalOpsWrite, replications = 0 ;
167169 uint32_t opsCreate, opsDelete, opsUpdateVersion, opsDuplicate, opsTruncate;
168- uint32_t opsDupTrunc, opsTest;
170+ uint32_t opsDupTrunc, opsTest, opsGCPurge ;
169171 uint32_t maxChunkServerJobsCount, maxMasterJobsCount;
170172
171173 // Timer runs only when the process is executing.
@@ -177,12 +179,10 @@ void chartsdata_refresh(void) {
177179
178180 uint32_t userTimeMicroSeconds, procTimeMicroSeconds;
179181
180- for (auto i = 0 ; i < CHARTS_NUMBER; ++i) {
181- data[i] = 0 ;
182- }
182+ for (auto i = 0 ; i < CHARTS_NUMBER; ++i) { data[i] = 0 ; }
183183
184- setitimer (ITIMER_VIRTUAL, &it_set, &userTime); // user time
185- setitimer (ITIMER_PROF, &it_set, &procTime); // user time + system time
184+ setitimer (ITIMER_VIRTUAL, &it_set, &userTime); // user time
185+ setitimer (ITIMER_PROF, &it_set, &procTime); // user time + system time
186186
187187 // on fucken linux timers can go backward !!!
188188 if (userTime.it_value .tv_sec <= 999 ) {
@@ -223,18 +223,16 @@ void chartsdata_refresh(void) {
223223 data[CHARTS_CSCONNIN] = 0 ;
224224 data[CHARTS_CSCONNOUT] = 0 ;
225225
226- networkStats (&bytesIn, &bytesOut, &opsRead, &opsWrite,
227- &maxChunkServerJobsCount);
226+ networkStats (&bytesIn, &bytesOut, &opsRead, &opsWrite, &maxChunkServerJobsCount);
228227 data[CHARTS_CSSERVIN] = bytesIn;
229228 data[CHARTS_CSSERVOUT] = bytesOut;
230229 data[CHARTS_CHUNKIOJOBS] = maxChunkServerJobsCount;
231230 data[CHARTS_HLOPR] = opsRead;
232231 data[CHARTS_HLOPW] = opsWrite;
233232
234- HddStats::stats (HddStats::statsReport (
235- &bytesIn, &bytesOut, &opsRead, &opsWrite, &totalBytesRead,
236- &totalBytesWrite, &totalOpsRead, &totalOpsWrite,
237- data + CHARTS_TOTAL_RTIME, data + CHARTS_TOTAL_WTIME));
233+ HddStats::stats (HddStats::statsReport (&bytesIn, &bytesOut, &opsRead, &opsWrite, &totalBytesRead,
234+ &totalBytesWrite, &totalOpsRead, &totalOpsWrite,
235+ data + CHARTS_TOTAL_RTIME, data + CHARTS_TOTAL_WTIME));
238236 data[CHARTS_OVERHEAD_BYTESR] = bytesIn;
239237 data[CHARTS_OVERHEAD_BYTESW] = bytesOut;
240238 data[CHARTS_OVERHEAD_LLOPR] = opsRead;
@@ -245,16 +243,16 @@ void chartsdata_refresh(void) {
245243 data[CHARTS_TOTAL_LLOPW] = totalOpsWrite;
246244 data[CHARTS_REPL] = replications + gReplicator .getStats ();
247245
248- HddStats::operationStats (&opsCreate, &opsDelete, &opsUpdateVersion,
249- &opsDuplicate, &opsTruncate, &opsDupTrunc,
250- &opsTest);
246+ HddStats::operationStats (&opsCreate, &opsDelete, &opsUpdateVersion, &opsDuplicate, &opsTruncate,
247+ &opsDupTrunc, &opsTest, &opsGCPurge);
251248 data[CHARTS_CREATE] = opsCreate;
252249 data[CHARTS_DELETE] = opsDelete;
253250 data[CHARTS_VERSION] = opsUpdateVersion;
254251 data[CHARTS_DUPLICATE] = opsDuplicate;
255252 data[CHARTS_TRUNCATE] = opsTruncate;
256253 data[CHARTS_DUPTRUNC] = opsDupTrunc;
257254 data[CHARTS_TEST] = opsTest;
255+ data[CHARTS_GC_PURGE] = opsGCPurge;
258256
259257 charts_add (data, eventloop_time () - SECONDS_IN_ONE_MINUTE);
260258}
0 commit comments