..::lib::Smok...chers::ExpLoss(3)
π ..::lib::Smok...chers::ExpLoss(3) β SmokePing's exponential weighting matcher, bestie edition β¨
okay so this little icon is a SmokePing matcher called ExpLoss, and it does exponential weighting for packet loss with RMON-like thresholds. it's giving very smart, very math, very "i actually read the RFC" energy. the manual name is SmokePing btw, in case you were wondering where we're living rn π«Ά
π NAME π
Smokeping::matchers::ExpLoss β exponential weighting matcher for packet loss with RMON-like thresholds π
π¦ DESCRIPTION π¦
so basically it matches against an exponential weighted average of the last samples, which means new values are more valuable than old ones (as they should be, main character energy only). there are two thresholds β rising and falling β and together they produce a hysteresis loop, just like in the RMON alert subsystem. iconic behavior fr fr.
the way it works: if the average reaches the "rising" threshold, the matcher goes into the "match" state and holds it until the average drops under the "falling" threshold. it's commitment, it's loyalty, it's a situationship with clear boundaries πΈ
call the matcher with the following sequence:
type = matcher
pattern = ExpLoss(hist => <hist>, rising=><rising> \
[,falling => <falling>] [,skip=><stat>] [,fast=><fast>])
β Arguments β
histβ number of samples to weight against; the weight gets disposed in an exponential decreasing manner from newest to oldest, so that the oldest sample would have 1% significance πrisingβ rising threshold for packet loss,0-100%π₯fallingβ falling threshold for packet loss, default is<rising>πskipβ skip<skip>number of samples after startup before "fire" alerts πfastβ use<fast>samples for fast transition: if the values of last<fast>samples more then<rising>β take "match" state, if less then<falling>β take "no match" state π
π Note π
if the actual history is less then <hist> value then this value is taken as the actual history. no cap, that's just how it rolls.
π COPYRIGHT π
Copyright (c) 2008 Veniamin Konoplev
Developed in cooperation with EU EGEE project β¨ (shoutout to the whole collaboration, love that for them)
π LICENSE π
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. π (yes that's the legal shouting, it's required, i don't make the rules)
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
π§ AUTHOR π§
Veniamin Konoplev <vkonoplev@acm.org> π«Ά
and that's the whole page bestie, go configure your matcher and slay π
version2.9.0, dated2025-06-30β mwah, that's a wrap on..::lib::Smok...chers::ExpLoss(3)β¨π
π¦ where this page comes from
- alpine 3.23: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- alpine 3.24: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms