Simple Daemon class diagram :
digraph inheritancee8f93e9927 { rankdir=LR; size="8.0, 12.0"; "daemons.arbiterdaemon.Arbiter" [style="setlinewidth(0.5)",URL="#shinken.daemons.arbiterdaemon.Arbiter",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Daemon" -> "daemons.arbiterdaemon.Arbiter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.pollerdaemon.Poller" [style="setlinewidth(0.5)",URL="#shinken.daemons.pollerdaemon.Poller",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.Satellite" -> "daemons.pollerdaemon.Poller" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.satellite.Satellite" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.Satellite",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.BaseSatellite" -> "shinken.satellite.Satellite" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.receiverdaemon.Receiver" [style="setlinewidth(0.5)",URL="#shinken.daemons.receiverdaemon.Receiver",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.Satellite" -> "daemons.receiverdaemon.Receiver" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.brokerdaemon.Broker" [style="setlinewidth(0.5)",URL="#shinken.daemons.brokerdaemon.Broker",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.BaseSatellite" -> "daemons.brokerdaemon.Broker" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.daemon.Daemon" [style="setlinewidth(0.5)",URL="shinken.html#shinken.daemon.Daemon",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "daemons.schedulerdaemon.Shinken" [style="setlinewidth(0.5)",URL="#shinken.daemons.schedulerdaemon.Shinken",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.BaseSatellite" -> "daemons.schedulerdaemon.Shinken" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.reactionnerdaemon.Reactionner" [style="setlinewidth(0.5)",URL="#shinken.daemons.reactionnerdaemon.Reactionner",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.Satellite" -> "daemons.reactionnerdaemon.Reactionner" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.satellite.BaseSatellite" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.BaseSatellite",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Daemon" -> "shinken.satellite.BaseSatellite" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
Simple Interface class diagram :
digraph inheritance9c0940a3bf { rankdir=LR; size="8.0, 12.0"; "shinken.satellite.ISchedulers" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.ISchedulers",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "shinken.satellite.ISchedulers" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.brokerdaemon.IStats" [style="setlinewidth(0.5)",URL="#shinken.daemons.brokerdaemon.IStats",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.brokerdaemon.IStats" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.schedulerdaemon.IBroks" [style="setlinewidth(0.5)",URL="#shinken.daemons.schedulerdaemon.IBroks",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.schedulerdaemon.IBroks" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.satellite.IStats" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.IStats",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "shinken.satellite.IStats" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.schedulerdaemon.IStats" [style="setlinewidth(0.5)",URL="#shinken.daemons.schedulerdaemon.IStats",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.schedulerdaemon.IStats" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.receiverdaemon.IStats" [style="setlinewidth(0.5)",URL="#shinken.daemons.receiverdaemon.IStats",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.receiverdaemon.IStats" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.arbiterdaemon.IForArbiter" [style="setlinewidth(0.5)",URL="#shinken.daemons.arbiterdaemon.IForArbiter",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.arbiterdaemon.IForArbiter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.daemon.Interface" [style="setlinewidth(0.5)",URL="shinken.html#shinken.daemon.Interface",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.satellite.IForArbiter" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.IForArbiter",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "shinken.satellite.IForArbiter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "daemons.schedulerdaemon.IChecks" [style="setlinewidth(0.5)",URL="#shinken.daemons.schedulerdaemon.IChecks",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "daemons.schedulerdaemon.IChecks" [arrowsize=0.5,style="setlinewidth(0.5)"]; "shinken.satellite.IBroks" [style="setlinewidth(0.5)",URL="shinken.html#shinken.satellite.IBroks",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,height=0.25,shape=box,fontsize=10]; "shinken.daemon.Interface" -> "shinken.satellite.IBroks" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
Bases: shinken.daemon.Daemon
Bases: shinken.daemon.Interface
Bases: shinken.satellite.BaseSatellite
Bases: shinken.satellite.Satellite
Bases: shinken.satellite.Satellite
Bases: shinken.daemon.Interface
Interface for various stats about broker activity
Bases: shinken.satellite.Satellite
Bases: shinken.daemon.Interface
Interface for Brokers: They connect here and get all broks (data for brokers). Data must be ORDERED! (initial status BEFORE update...)
Bases: shinken.daemon.Interface
Interface for Workers: They connect here and see if they are still OK with our running_id, if not, they must drop their checks
Bases: shinken.satellite.IForArbiter
Interface for Arbiter. We ask him a for a conf and after that listen for instructions from the arbiter. The arbiter is the interface to the administrator, so we must listen carefully and give him the information he wants. Which could be for another scheduler
Bases: shinken.daemon.Interface
Interface for various stats about scheduler activity
Bases: shinken.satellite.BaseSatellite
Compensate a system time change of difference for all hosts/services/checks/notifs