refacor(stats): split stat module into more files

This commit is contained in:
lohhiiccc 2026-03-16 08:23:26 -05:00
parent 770265ee80
commit 79bc8b7424
4 changed files with 33 additions and 26 deletions

View file

@ -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 \

View file

@ -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)

View 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;
}

View 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++;
}