Lines 125-130
Link Here
|
125 |
if (! stat_is_init) |
125 |
if (! stat_is_init) |
126 |
stat_init(); |
126 |
stat_init(); |
127 |
sincelastreq = 0; |
127 |
sincelastreq = 0; |
|
|
128 |
stats_all.s2.if_opackets = stats_all.s3.if_opackets; |
128 |
return(&stats_all.s2); |
129 |
return(&stats_all.s2); |
129 |
} |
130 |
} |
130 |
|
131 |
|
Lines 134-139
Link Here
|
134 |
if (! stat_is_init) |
135 |
if (! stat_is_init) |
135 |
stat_init(); |
136 |
stat_init(); |
136 |
sincelastreq = 0; |
137 |
sincelastreq = 0; |
|
|
138 |
stats_all.s1.if_opackets = stats_all.s3.if_opackets; |
137 |
return(&stats_all.s1); |
139 |
return(&stats_all.s1); |
138 |
} |
140 |
} |
139 |
|
141 |
|
Lines 205-217
Link Here
|
205 |
exit(1); |
207 |
exit(1); |
206 |
} |
208 |
} |
207 |
for(i = 0; i < RSTAT_CPUSTATES ; i++) |
209 |
for(i = 0; i < RSTAT_CPUSTATES ; i++) |
208 |
stats_all.s1.cp_time[i] = bsd_cp_time[cp_time_xlat[i]]; |
210 |
stats_all.s3.cp_time[i] = bsd_cp_time[cp_time_xlat[i]]; |
209 |
|
211 |
|
210 |
(void)getloadavg(avrun, sizeof(avrun) / sizeof(avrun[0])); |
212 |
(void)getloadavg(avrun, sizeof(avrun) / sizeof(avrun[0])); |
211 |
|
213 |
|
212 |
stats_all.s2.avenrun[0] = avrun[0] * FSCALE; |
214 |
stats_all.s3.avenrun[0] = avrun[0] * FSCALE; |
213 |
stats_all.s2.avenrun[1] = avrun[1] * FSCALE; |
215 |
stats_all.s3.avenrun[1] = avrun[1] * FSCALE; |
214 |
stats_all.s2.avenrun[2] = avrun[2] * FSCALE; |
216 |
stats_all.s3.avenrun[2] = avrun[2] * FSCALE; |
215 |
|
217 |
|
216 |
mib[0] = CTL_KERN; |
218 |
mib[0] = CTL_KERN; |
217 |
mib[1] = KERN_BOOTTIME; |
219 |
mib[1] = KERN_BOOTTIME; |
Lines 221-233
Link Here
|
221 |
exit(1); |
223 |
exit(1); |
222 |
} |
224 |
} |
223 |
|
225 |
|
224 |
stats_all.s2.boottime.tv_sec = btm.tv_sec; |
226 |
stats_all.s3.boottime.tv_sec = btm.tv_sec; |
225 |
stats_all.s2.boottime.tv_usec = btm.tv_usec; |
227 |
stats_all.s3.boottime.tv_usec = btm.tv_usec; |
226 |
|
228 |
|
227 |
|
229 |
|
228 |
#ifdef DEBUG |
230 |
#ifdef DEBUG |
229 |
fprintf(stderr, "%d %d %d %d\n", stats_all.s1.cp_time[0], |
231 |
fprintf(stderr, "%d %d %d %d\n", stats_all.s3.cp_time[0], |
230 |
stats_all.s1.cp_time[1], stats_all.s1.cp_time[2], stats_all.s1.cp_time[3]); |
232 |
stats_all.s3.cp_time[1], stats_all.s3.cp_time[2], stats_all.s3.cp_time[3]); |
231 |
#endif |
233 |
#endif |
232 |
|
234 |
|
233 |
#define FETCH_CNT(stat, cnt) do { \ |
235 |
#define FETCH_CNT(stat, cnt) do { \ |
Lines 238-252
Link Here
|
238 |
} \ |
240 |
} \ |
239 |
} while (0) |
241 |
} while (0) |
240 |
|
242 |
|
241 |
FETCH_CNT(stats_all.s1.v_pgpgin, vm.v_vnodepgsin); |
243 |
FETCH_CNT(stats_all.s3.v_pgpgin, vm.v_vnodepgsin); |
242 |
FETCH_CNT(stats_all.s1.v_pgpgout, vm.v_vnodepgsout); |
244 |
FETCH_CNT(stats_all.s3.v_pgpgout, vm.v_vnodepgsout); |
243 |
FETCH_CNT(stats_all.s1.v_pswpin, vm.v_swappgsin); |
245 |
FETCH_CNT(stats_all.s3.v_pswpin, vm.v_swappgsin); |
244 |
FETCH_CNT(stats_all.s1.v_pswpout, vm.v_swappgsout); |
246 |
FETCH_CNT(stats_all.s3.v_pswpout, vm.v_swappgsout); |
245 |
FETCH_CNT(stats_all.s1.v_intr, sys.v_intr); |
247 |
FETCH_CNT(stats_all.s3.v_intr, sys.v_intr); |
246 |
FETCH_CNT(stats_all.s2.v_swtch, sys.v_swtch); |
248 |
FETCH_CNT(stats_all.s3.v_swtch, sys.v_swtch); |
247 |
gettimeofday(&tm, (struct timezone *) 0); |
|
|
248 |
stats_all.s1.v_intr -= hz*(tm.tv_sec - btm.tv_sec) + |
249 |
hz*(tm.tv_usec - btm.tv_usec)/1000000; |
250 |
|
249 |
|
251 |
/* update disk transfers */ |
250 |
/* update disk transfers */ |
252 |
updatexfers(RSTAT_DK_NDRIVE, stats_all.s1.dk_xfer); |
251 |
updatexfers(RSTAT_DK_NDRIVE, stats_all.s1.dk_xfer); |
Lines 262-272
Link Here
|
262 |
exit(1); |
261 |
exit(1); |
263 |
} |
262 |
} |
264 |
|
263 |
|
265 |
stats_all.s1.if_ipackets = 0; |
264 |
stats_all.s3.if_ipackets = 0; |
266 |
stats_all.s1.if_opackets = 0; |
265 |
stats_all.s3.if_opackets = 0; |
267 |
stats_all.s1.if_ierrors = 0; |
266 |
stats_all.s3.if_ierrors = 0; |
268 |
stats_all.s1.if_oerrors = 0; |
267 |
stats_all.s3.if_oerrors = 0; |
269 |
stats_all.s1.if_collisions = 0; |
268 |
stats_all.s3.if_collisions = 0; |
270 |
for (i = 1; i <= ifcount; i++) { |
269 |
for (i = 1; i <= ifcount; i++) { |
271 |
len = sizeof ifmd; |
270 |
len = sizeof ifmd; |
272 |
mib[3] = IFMIB_IFDATA; |
271 |
mib[3] = IFMIB_IFDATA; |
Lines 281-294
Link Here
|
281 |
exit(1); |
280 |
exit(1); |
282 |
} |
281 |
} |
283 |
|
282 |
|
284 |
stats_all.s1.if_ipackets += ifmd.ifmd_data.ifi_ipackets; |
283 |
stats_all.s3.if_ipackets += ifmd.ifmd_data.ifi_ipackets; |
285 |
stats_all.s1.if_opackets += ifmd.ifmd_data.ifi_opackets; |
284 |
stats_all.s3.if_opackets += ifmd.ifmd_data.ifi_opackets; |
286 |
stats_all.s1.if_ierrors += ifmd.ifmd_data.ifi_ierrors; |
285 |
stats_all.s3.if_ierrors += ifmd.ifmd_data.ifi_ierrors; |
287 |
stats_all.s1.if_oerrors += ifmd.ifmd_data.ifi_oerrors; |
286 |
stats_all.s3.if_oerrors += ifmd.ifmd_data.ifi_oerrors; |
288 |
stats_all.s1.if_collisions += ifmd.ifmd_data.ifi_collisions; |
287 |
stats_all.s3.if_collisions += ifmd.ifmd_data.ifi_collisions; |
289 |
} |
288 |
} |
290 |
gettimeofday((struct timeval *)&stats_all.s3.curtime, |
289 |
gettimeofday(&tm, (struct timezone *) 0); |
291 |
(struct timezone *) 0); |
290 |
stats_all.s3.v_intr -= hz*(tm.tv_sec - btm.tv_sec) + |
|
|
291 |
hz*(tm.tv_usec - btm.tv_usec)/1000000; |
292 |
stats_all.s3.curtime.tv_sec = tm.tv_sec; |
293 |
stats_all.s3.curtime.tv_usec = tm.tv_usec; |
292 |
alarm(1); |
294 |
alarm(1); |
293 |
} |
295 |
} |
294 |
|
296 |
|
Lines 474-476
Link Here
|
474 |
if (from_inetd) |
476 |
if (from_inetd) |
475 |
exit(0); |
477 |
exit(0); |
476 |
} |
478 |
} |
|
|
479 |
|