Introduce jitter metric based on RFC 1889 Appendix A#8586
Introduce jitter metric based on RFC 1889 Appendix A#8586GGraziadei wants to merge 8 commits intoapache:masterfrom
Conversation
|
Question on the if (d <= 0) {
return;
}Is this skip intentional? Reading RFC 3550 §A.8 (which supersedes RFC 1889 with the same text): d = transit - s->transit;
s->transit = transit;
if (d < 0) d = -d;
s->jitter += (1./16.) * ((double)d - s->jitter);The update is unconditional. When For comparison, the major RTP stacks all apply the update unconditionally:
The test Suggested fix: drop the Was the skip intentional? |
|
Hello @rzo1 thank you for your comment.
|
What is the purpose of the change
In deterministic real-time processing, predictability of latency is as important as latency itself. This is a constraint to building a deterministic system.
To ensure negligible performance impact, I propose to use an Exponentially Weighted Moving Average (EWMA), following RFC 1889 logic https://www.rfc-editor.org/rfc/rfc1889#appendix-A.8
Mathematical Model:
J_new = J_old + (|D_current - D_previous| - J_old) * smoothing_factor
Performance impact
How was the change tested
Config,TaskMetrics,EwmaGaugemetrics2doesn't affect it.worker_log.zip
Example results in worker logs
In the context of #8583