Changeset 35


Ignore:
Timestamp:
04/04/05 12:45:40 (17 years ago)
Author:
bastiaans
Message:

daemon/togad.py:

More bugfixes

  • Need to find a way to share data between Child and Parent or find a different way to handle it
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/daemon/togad.py

    r34 r35  
    5959        "Parse Ganglia's XML"
    6060
    61         clusters = { }
    62         config = None
    63 
    6461        def __init__( self, config ):
    6562                self.config = config
     63                self.clusters = { }
    6664
    6765        def startElement( self, name, attrs ):
     
    8785                        self.time = attrs.get( 'LOCALTIME', "" )
    8886
    89                         if not self.clusters.has_key( self.clusterName ):
     87                        if not self.clusters.has_key( self.clusterName ) and self.clusterName in ARCHIVE_SOURCES:
    9088
    9189                                self.clusters[ self.clusterName ] = RRDHandler( self.config, self.clusterName )
    9290
    93                         debug_msg( 10, ' |-Cluster found: %s' %( self.clusterName ) )
     91                                debug_msg( 10, ' |-Cluster found: %s' %( self.clusterName ) )
    9492
    9593                elif name == 'HOST' and self.clusterName in ARCHIVE_SOURCES:     
     
    295293
    296294                else:
    297                         self.grabXML()
     295                        #self.grabXML()
     296                        self.processXML()
    298297                        self.storeMetrics()
    299298
     
    412411                self.myMetrics[ host ][ metric['name'] ].append( metric )
    413412
    414         def makeUpdateString( self, host, metric ):
     413        def makeUpdateString( self, host, metricname ):
    415414
    416415                update_string = ''
    417416
    418                 for m in self.myMetrics[ host ][ metric['name'] ]:
    419 
    420                         update_string = update_string + ' %s:%s' %( metric['time'], metric['val'] )
     417                for m in self.myMetrics[ host ][ metricname ]:
     418
     419                        update_string = update_string + ' %s:%s' %( m['time'], m['val'] )
    421420
    422421                return update_string
     
    428427                        for metricname, mymetric in mymetrics.items():
    429428
    430                                 self.rrd.createCheck( hostname, metricname, timeserial )       
    431                                 update_okay = self.rrd.update( hostname, metricname, timeserial )
     429                                mytime = self.makeTimeSerial()
     430                                self.createCheck( hostname, metricname, mytime )       
     431                                update_okay = self.update( hostname, metricname, mytime )
    432432
    433433                                if not update_okay:
     
    459459                else:
    460460                        rrd_dir = '%s/%s/%s/%s' %( check_dir(ARCHIVE_PATH), self.cluster, host, timeserial )
    461                 if metric:
     461                if metricname:
    462462                        rrd_file = '%s/%s.rrd' %( rrd_dir, metricname )
    463463                else:
     
    533533                                first_time = metric['time']
    534534
     535                return first_time
     536
    535537        def createCheck( self, host, metricname, timeserial ):
    536538                "Check if an .rrd allready exists for this metric, create if not"
    537539
    538                 debug_msg( 9, 'rrdcreate: using timeserial %s for %s/%s' %( timeserial, host, metric['name'] ) )
     540                debug_msg( 9, 'rrdcreate: using timeserial %s for %s/%s' %( timeserial, host, metricname ) )
    539541
    540542                rrd_dir, rrd_file = self.makeRrdPath( host, metricname, timeserial )
     
    564566        def update( self, host, metricname, timeserial ):
    565567
    566                 debug_msg( 9, 'rrdupdate: using timeserial %s for %s/%s' %( timeserial, host, metric['name'] ) )
     568                debug_msg( 9, 'rrdupdate: using timeserial %s for %s/%s' %( timeserial, host, metricname ) )
    567569
    568570                rrd_dir, rrd_file = self.makeRrdPath( host, metricname, timeserial )
Note: See TracChangeset for help on using the changeset viewer.