2021-11-26 03:31:05 +00:00
|
|
|
/** @file
|
2003-04-16 07:25:12 +00:00
|
|
|
* Routines and definitions for time statistics
|
2015-01-02 14:28:20 +00:00
|
|
|
* Copyright 2003 Lars Roland
|
2003-04-16 07:25:12 +00:00
|
|
|
*
|
2006-05-21 05:12:17 +00:00
|
|
|
* Wireshark - Network traffic analyzer
|
|
|
|
* By Gerald Combs <gerald@wireshark.org>
|
2003-04-16 07:25:12 +00:00
|
|
|
* Copyright 1998 Gerald Combs
|
|
|
|
*
|
2018-02-08 16:59:17 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
2003-04-16 07:25:12 +00:00
|
|
|
*/
|
|
|
|
|
2015-06-05 20:17:13 +00:00
|
|
|
#ifndef __TIMESTATS_H__
|
|
|
|
#define __TIMESTATS_H__
|
2003-04-16 07:25:12 +00:00
|
|
|
|
|
|
|
#include <glib.h>
|
|
|
|
#include "epan/packet_info.h"
|
2013-06-26 00:18:44 +00:00
|
|
|
#include "wsutil/nstime.h"
|
2003-04-16 07:25:12 +00:00
|
|
|
|
2015-06-05 20:17:13 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
2003-04-16 07:25:12 +00:00
|
|
|
/* Summary of time statistics*/
|
|
|
|
typedef struct _timestat_t {
|
|
|
|
guint32 num; /* number of samples */
|
|
|
|
guint32 min_num; /* frame number of minimum */
|
|
|
|
guint32 max_num; /* frame number of maximum */
|
|
|
|
nstime_t min;
|
|
|
|
nstime_t max;
|
|
|
|
nstime_t tot;
|
|
|
|
gdouble variance;
|
|
|
|
} timestat_t;
|
|
|
|
|
|
|
|
/* functions */
|
|
|
|
|
2005-08-22 07:12:20 +00:00
|
|
|
/* Initialize a timestat_t struct */
|
2013-06-25 22:02:20 +00:00
|
|
|
WS_DLL_PUBLIC void time_stat_init(timestat_t *stats);
|
2004-12-31 02:01:03 +00:00
|
|
|
|
2005-08-22 07:12:20 +00:00
|
|
|
/* Update a timestat_t struct with a new sample */
|
2013-06-25 22:02:20 +00:00
|
|
|
WS_DLL_PUBLIC void time_stat_update(timestat_t *stats, const nstime_t *delta, packet_info *pinfo);
|
2005-08-22 07:12:20 +00:00
|
|
|
|
2013-06-25 22:02:20 +00:00
|
|
|
WS_DLL_PUBLIC gdouble get_average(const nstime_t *sum, guint32 num);
|
2003-04-16 07:25:12 +00:00
|
|
|
|
2015-06-05 20:17:13 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
#endif /* __TIMESTATS_H__ */
|