aboutsummaryrefslogtreecommitdiffstats
path: root/tap-icmpstat.c
diff options
context:
space:
mode:
authorChris Maynard <Christopher.Maynard@GTECH.COM>2011-04-07 20:41:11 +0000
committerChris Maynard <Christopher.Maynard@GTECH.COM>2011-04-07 20:41:11 +0000
commit7866917d2f87caa2feceb92b7a6d384f3804952a (patch)
tree915c685dfa376e7871e88a448610a185fe7d90a6 /tap-icmpstat.c
parente61fd0979b6294835fd5a91229a57f280abca4e3 (diff)
Display frame numbers containing min & max SRT's. Other misc. display tweaks.
svn path=/trunk/; revision=36508
Diffstat (limited to 'tap-icmpstat.c')
-rw-r--r--tap-icmpstat.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/tap-icmpstat.c b/tap-icmpstat.c
index c4f34746fa..b8abbb2a5c 100644
--- a/tap-icmpstat.c
+++ b/tap-icmpstat.c
@@ -51,13 +51,15 @@ typedef struct _icmpstat_t {
GSList *rt_list;
guint num_rqsts;
guint num_resps;
+ guint min_frame;
+ guint max_frame;
double min_msecs;
double max_msecs;
double tot_msecs;
} icmpstat_t;
-/* This callback is never used by tshark but it is here for completeness. When
+/* This callback is never used by tshark but it is here for completeness. When
* registering below, we could just have left this function as NULL.
*
* When used by wireshark, this function will be called whenever we would need
@@ -74,12 +76,8 @@ icmpstat_reset(void *tapdata)
icmpstat_t *icmpstat = tapdata;
g_slist_free(icmpstat->rt_list);
- icmpstat->rt_list = NULL;
- icmpstat->num_rqsts = 0;
- icmpstat->num_resps = 0;
+ memset(icmpstat, 0, sizeof(icmpstat_t));
icmpstat->min_msecs = 1.0 * G_MAXUINT;
- icmpstat->max_msecs = 0.0;
- icmpstat->tot_msecs = 0.0;
}
@@ -137,10 +135,14 @@ icmpstat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
*rt = trans->resp_time;
icmpstat->rt_list = g_slist_insert_sorted(icmpstat->rt_list, rt, compare_doubles);
icmpstat->num_resps++;
- if (icmpstat->min_msecs > trans->resp_time)
+ if (icmpstat->min_msecs > trans->resp_time) {
+ icmpstat->min_frame = trans->resp_frame;
icmpstat->min_msecs = trans->resp_time;
- if (icmpstat->max_msecs < trans->resp_time)
+ }
+ if (icmpstat->max_msecs < trans->resp_time) {
+ icmpstat->max_frame = trans->resp_frame;
icmpstat->max_msecs = trans->resp_time;
+ }
icmpstat->tot_msecs += trans->resp_time;
} else if (trans->rqst_frame)
icmpstat->num_rqsts++;
@@ -231,9 +233,8 @@ icmpstat_draw(void *tapdata)
printf("\n");
printf("==========================================================================\n");
- printf("ICMP SRT Statistics (all times in ms):\n");
- if (icmpstat->filter)
- printf("Filter: %s\n", icmpstat->filter);
+ printf("ICMP Service Response Time (SRT) Statistics (all times in ms):\n");
+ printf("Filter: %s\n", icmpstat->filter ? icmpstat->filter : "<none>");
printf("\nRequests Replies Lost %% Loss\n");
if (icmpstat->num_rqsts) {
@@ -243,14 +244,15 @@ icmpstat_draw(void *tapdata)
printf("%-10u%-10u%-10u%5.1f%%\n\n",
icmpstat->num_rqsts, icmpstat->num_resps, lost,
100.0 * lost / icmpstat->num_rqsts);
- printf("Min SRT Max SRT Avg SRT MED SDEV\n");
- printf("%-10.3f%-10.3f%-10.3f%-10.3f%-10.3f\n",
+ printf("Minimum Maximum Mean Median SDeviation Min Frame Max Frame\n");
+ printf("%-10.3f%-10.3f%-10.3f%-10.3f%-10.3f %-10u%-10u\n",
icmpstat->min_msecs >= G_MAXUINT ? 0.0 : icmpstat->min_msecs,
- icmpstat->max_msecs, mean, med, sdev);
+ icmpstat->max_msecs, mean, med, sdev,
+ icmpstat->min_frame, icmpstat->max_frame);
} else {
- printf("0 0 0 0.0%%\n\n");
- printf("Min SRT Max SRT Avg SRT MED SDEV\n");
- printf("0.000 0.000 0.000 0.000 0.000\n");
+ printf("0 0 0 0.0%%\n\n");
+ printf("Minimum Maximum Mean Median SDeviation Min Frame Max Frame\n");
+ printf("0.000 0.000 0.000 0.000 0.000 0 0\n");
}
printf("==========================================================================\n");
}