s4ros icon

Datastore Collector

s4ros | PRO | 10/12/16 06:32:13 PM UTC | 0 ⭐ | 493 👁️ | Never ⏰ | []
Python |

740 B

|

None

|

0 👍

/

0 👎

import diamond.collector
import datetime
import os
 
class DatastoreCollector(diamond.collector.Collector):
#class DatastoreCollector(object):
 
  def get_size(self):
    now = datetime.datetime.now()
    start_path = '/opt/ang/var/datastore/ang/data/daily/' + now.strftime("%Y/%m")+''
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(start_path, topdown=True, followlinks=False):
      for f in filenames:
        fp = os.path.join(dirpath, f)
        if not os.path.islink(fp):
          total_size += os.path.getsize(fp)
    return total_size
 
  def collect(self):
    metric_name = "size"
    self.publish(metric_name,self.get_size())
 
if __name__ == "__main__":
  ds = DatastoreCollector()
  print ds.get_size()

Comments