#!/usr/bin/python

import socket
from time import time

class GraphiteSender:
  def __init__(self,host,port=2003,prefix="retiolum"):
    self.host = host
    self.port = port
    self.prefix = prefix
    self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    self.sock.connect((host,port))

  def send(name,data):
    # construct a message for graphite, honor the configured prefix
    self.sock.send("%s.%s %d %d\r\n"%(self.prefix,name,data,time()))

  def send_raw(path,data):
    #ignore the configured prefix, just it to the path given
    self.sock.send("%s %d %d\r\n"%(path,data,time()))
    
if __name__ == "__main__":
  import sys
  GraphiteSender(sys.argv[1]).send_raw(sys.argv[2],sys.argv[3])