refacor(stats): split stat module into more files
This commit is contained in:
parent
770265ee80
commit
79bc8b7424
4 changed files with 33 additions and 26 deletions
|
|
@ -28,7 +28,6 @@ PING_SRCS = $(CLI_SRCS) \
|
|||
$(PING_SRC_DIR)/core/loop.c \
|
||||
$(PING_SRC_DIR)/core/send.c \
|
||||
$(PING_SRC_DIR)/core/callback.c \
|
||||
$(PING_SRC_DIR)/stats/stats.c \
|
||||
$(PING_SRC_DIR)/tracker/init.c \
|
||||
$(PING_SRC_DIR)/tracker/record_send.c \
|
||||
$(PING_SRC_DIR)/tracker/record_recv.c \
|
||||
|
|
@ -38,6 +37,10 @@ PING_SRCS = $(CLI_SRCS) \
|
|||
$(PING_SRC_DIR)/output/summary.c \
|
||||
$(PING_SRC_DIR)/output/flood.c \
|
||||
$(PING_SRC_DIR)/scheduler/scheduler.c \
|
||||
$(PING_SRC_DIR)/stats/stats_get.c \
|
||||
$(PING_SRC_DIR)/stats/stats_init.c \
|
||||
$(PING_SRC_DIR)/stats/stats_update.c \
|
||||
|
||||
|
||||
PING_TESTS_DIR = tests
|
||||
PING_TESTS = $(PING_TESTS_DIR)/test_main.c \
|
||||
|
|
|
|||
|
|
@ -7,31 +7,6 @@
|
|||
static double compute_mdev_ms(const struct ping_stats *s, double avg_ms);
|
||||
/* -------------------- */
|
||||
|
||||
void
|
||||
ping_stats_init(struct ping_stats *s)
|
||||
{
|
||||
s->min_ns = INT64_MAX;
|
||||
s->max_ns = INT64_MIN;
|
||||
s->sum_ns = 0;
|
||||
s->sum_sq_ns = 0;
|
||||
s->count = 0;
|
||||
}
|
||||
|
||||
void
|
||||
ping_stats_update(struct ping_stats *s, int64_t rtt_ns)
|
||||
{
|
||||
int64_t rtt_us;
|
||||
|
||||
if (rtt_ns < s->min_ns)
|
||||
s->min_ns = rtt_ns;
|
||||
if (rtt_ns > s->max_ns)
|
||||
s->max_ns = rtt_ns;
|
||||
s->sum_ns += rtt_ns;
|
||||
rtt_us = rtt_ns / 1000;
|
||||
s->sum_sq_ns += rtt_us * rtt_us;
|
||||
s->count++;
|
||||
}
|
||||
|
||||
void
|
||||
ping_stats_get(const struct ping_stats *s,
|
||||
double *min_ms, double *max_ms, double *avg_ms, double *mdev_ms)
|
||||
12
src/ping/stats/stats_init.c
Normal file
12
src/ping/stats/stats_init.c
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#include "internal/ping/stats.h"
|
||||
|
||||
void
|
||||
ping_stats_init(struct ping_stats *s)
|
||||
{
|
||||
s->min_ns = INT64_MAX;
|
||||
s->max_ns = INT64_MIN;
|
||||
s->sum_ns = 0;
|
||||
s->sum_sq_ns = 0;
|
||||
s->count = 0;
|
||||
}
|
||||
|
||||
17
src/ping/stats/stats_update.c
Normal file
17
src/ping/stats/stats_update.c
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#include "internal/ping/stats.h"
|
||||
|
||||
void
|
||||
ping_stats_update(struct ping_stats *s, int64_t rtt_ns)
|
||||
{
|
||||
int64_t rtt_us;
|
||||
|
||||
if (rtt_ns < s->min_ns)
|
||||
s->min_ns = rtt_ns;
|
||||
if (rtt_ns > s->max_ns)
|
||||
s->max_ns = rtt_ns;
|
||||
s->sum_ns += rtt_ns;
|
||||
rtt_us = rtt_ns / 1000;
|
||||
s->sum_sq_ns += rtt_us * rtt_us;
|
||||
s->count++;
|
||||
}
|
||||
|
||||
Loading…
Add table
Reference in a new issue