[Python] RRD

Simone Federici s.federici a gmail.com
Mer 28 Gen 2015 16:15:29 CET


Lorenzo Mainardi:
>
> devo lavorare con numerosi file RRD (quasi 10.0000) e vorrei farlo con
> Python.
> Ho visto che nei repository ci sono sia pyrrd che python-rrdtool. Quale
> dei due mi consigliate e perchè?
>

Guardati pure Whisper (Graphite subproject) e perché non usano RRD.
http://graphite.wikidot.com/whisper

Comunque io a suo tempo usai python-rrdtools che poi se non erro sono i
bindings ufficiali.
Chiama direttamente gli eseguibili rrd* con relativi parametri, esattamente
identici a come lo useresti command line.
Programmazione procedurale nuda e cruda con parametri formato string.
(brutta a piacere)

 rrdtool.graph(path,
              '--imgformat', 'PNG',
              '--width', '540',
              '--height', '100',
              '--start', "-%i" % YEAR,
              '--end', "-1",
              '--vertical-label', 'Downloads/Day',
              '--title', 'Annual downloads',
              '--lower-limit', '0',
              'DEF:downloads=downloads.rrd:downloads:AVERAGE',
              'AREA:downloads#990033:Downloads')


da quello che vedo pyRRD è un wrapper pure python ci sono gli oggetti
python anziche stringhe. quindi fatto salvo si siano scordati alcune
funzionalità dovrebbe essere più bella.

dataSource = DataSource(
...     dsName='speed', dsType='COUNTER', heartbeat=600)
>>> dataSources.append(dataSource)
>>> roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=1, rows=24))
>>> roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=6, rows=10))

cmq, sotto sotto sempre gli eseguibili rrd* vengono invocati.
Comunque non è tanto il numero di RRD files che di deve far preoccupare, ma
la frequenza con cui gli aggiorni.

se hai domande bloccanti non esitare, mi ci sono scontrato a fondo sia in
python che command line che in java.

ciao
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150128/a6724d7c/attachment.html>


Maggiori informazioni sulla lista Python