2017-05-30 2 views
1

Je suis dans une situation où je génère plusieurs fichiers texte avec des milliers de métriques et je veux les envoyer sous la forme pickled data au lieu de boucler ligne par ligne pour gagner du temps. Je ne suis pas familier avec Python, donc si quelqu'un a un exemple de la façon dont le script devrait ressembler à faire. Je suis flexible avec le format de fichier texte et je peux le générer en fonction du format requis par python et graphite. apprécie l'aideEnvoyer des données décapées au graphite

Répondre

1
from carbon_client import CarbonClient 

carbon = CarbonClient('localhost', 2004) 

pickle = [] 

# loop through lines and add the metrics to pickle 

pickle.append((name, (time, result))) 


carbon.send_pickle(pickle) 

Notez que DonT aller trop grand avec le cornichon http://graphite.readthedocs.io/en/latest/feeding-carbon.html#the-plaintext-protocol

Si vous comptez la taille des mesures que vous mettez dans le cornichon, vous pouvez envoyer le cornichon quand il atteint un certaine taille

limit = 10 * 1024 
      if size >= limit: 
       carbon.send_pickle(pickle) 
       size = 0 
       pickle = []