Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
..::lib::Smok...:sorters::base(3)   SmokePing  ..::lib::Smok...:sorters::base(3)

NAME
     Smokeping::sorters::base - Base Class for implementing SmokePing Sorters

OVERVIEW
     Sorters are at the core of the SmokePing Charts feature, where the most in-
     teresting graphs are presented on a single page. The Sorter decides which
     graphs are considered interesting.

     Every sorter must inherit from the base class and provide it's own methods
     for the 'business' logic.

     In order to maintain a decent performance the sorters activity is split
     into two parts.

     The first part is active while the smokeping daemon gathers its data.
     Whenever data is received, the sorter is called to calculate a 'value' for
     the present data. On every 'query round' this information is stored in the
     sorter store directory. Each smokeping process stores it's own information.
     Since smokeping can run in multiple instances at the same time, the data
     may be split over several files

     The second part of the sorter is called from smokeping.cgi. It loads all
     the information from the sorter store and integrates it into a single
     'tree'. It then calls each sorter with the pre-calculated data to get it
     sorted and to and to select the interesting information.

DESCRIPTION
     Every sorter must provide the following methods:

   new
     The new method expects hash elements as an argument eg
     new({x=>'\d+',y=>'\d+'},x=>1,y=>2). The first part is a syntax rule for the
     arguments it should expect and the second part are the arguments itself.
     The first part will be supplied by the child class as it calls the parent
     method.

   Desc
     Simply return the description of the function. This method must be over-
     written by a children of the base class.

   SortTree
     Returns an array of 'targets'. It is up to the sorter to decide how many
     entries the list should contain. If the list is empty, the whole entry will
     be suppressed in the webfrontend.

     The method gets access to all the targets in the system, together with the
     last data set acquired for each target.

   CalcValues
     Figure out the current sorting value using te following input.

      $info = { uptime => w,
		loss   => x,
		median => y,
		alert  => z, # (0/1)
		pings  => [qw(a b c d)] }

     The output can have any structure you want. It will be returned to the
     sorter method for further processing.

COPYRIGHT
     Copyright (c) 2007 by OETIKER+PARTNER AG. All rights reserved.

LICENSE
     This program is free software; you can redistribute it and/or modify it un-
     der 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 FIT-
     NESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
     details.

     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
     Tobias Oetiker <tobi@oetiker.ch>

2.9.0				   2025-02-19  ..::lib::Smok...:sorters::base(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Smokeping_sorters_base&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help