[prev in list] [next in list] [prev in thread] [next in thread]
List: sr-dev
Subject: [sr-dev] git:master:b728cb30: dispatcher: fix an error in initialisation /
From: Julien Chavanton <jchavanton () gmail ! com>
Date: 2020-09-29 15:42:35
Message-ID: E1kNHlz-0002mG-D3 () www ! kamailio ! org
[Download RAW message or body]
Module: kamailio
Branch: master
Commit: b728cb30810ef44b821a93335cdd34f954f2029c
URL: https://github.com/kamailio/kamailio/commit/b728cb30810ef44b821a93335cdd34f954f2029c
Author: Julien Chavanton <jchavanton@gmail.com>
Committer: Julien Chavanton <jchavanton@gmail.com>
Date: 2020-09-28T13:02:44-07:00
dispatcher: fix an error in initialisation /
training of the latency estimator
---
Modified: src/modules/dispatcher/dispatch.c
---
Diff: https://github.com/kamailio/kamailio/commit/b728cb30810ef44b821a93335cdd34f954f2029c.diff
Patch: https://github.com/kamailio/kamailio/commit/b728cb30810ef44b821a93335cdd34f954f2029c.patch
---
diff --git a/src/modules/dispatcher/dispatch.c b/src/modules/dispatcher/dispatch.c
index 4066bc39d7..8e798a871b 100644
--- a/src/modules/dispatcher/dispatch.c
+++ b/src/modules/dispatcher/dispatch.c
@@ -2588,6 +2588,8 @@ int ds_mark_dst(struct sip_msg *msg, int state)
}
static inline void latency_stats_update(ds_latency_stats_t *latency_stats, int latency) {
+ int training_count = 10000;
+
/* after 2^21 ~24 days at 1s interval, the average becomes a weighted average */
if (latency_stats->count < 2097152) {
latency_stats->count++;
@@ -2602,8 +2604,10 @@ static inline void latency_stats_update(ds_latency_stats_t *latency_stats, int l
latency_stats->average = latency;
latency_stats->estimate = latency;
}
- /* train the average if stable after 10 samples */
- if (latency_stats->count > 10 && latency_stats->stdev < 0.5) latency_stats->count = 500000;
+ /* stabilize-train the estimator if the average is stable after 10 samples */
+ if (latency_stats->count > 10 && latency_stats->count < training_count
+ && latency_stats->stdev < 0.5)
+ latency_stats->count = training_count;
if (latency_stats->min > latency)
latency_stats->min = latency;
if (latency_stats->max < latency)
_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic