import pika
import datetime
from riak.client import RiakClient
import os

riak_client = RiakClient(host=os.environ['RIAK_HOST'], pb_port=8087)

table_temperature = riak_client.table('Temperature')
table_cpu = riak_client.table('CPU')
table_mem = riak_client.table('Mem')

credentials = pika.PlainCredentials('guest', 'guest')
parameters = (
    pika.ConnectionParameters(host=os.environ['RABBIT_1'],credentials=credentials),
    pika.ConnectionParameters(host=os.environ['RABBIT_2'],
                              connection_attempts=5, retry_delay=1,credentials=credentials))


def callback(ch, method, properties, body):
    message = body.decode('utf-8')
    message = message.split(',')
    print(message)
    producer = int(message[0])
    date = datetime.datetime.strptime(message[1], '%Y-%m-%dT%H:%M:%S-07:00')
    temp = float(message[4])
    cpu_usage = float(message[2])
    mem_usage = float(message[3])
    ts_obj_temp = table_temperature.new([[producer,producer,date,temp]])
    print(ts_obj_temp.store())
    ts_obj_cpu = table_cpu.new([[producer,producer,date,cpu_usage]])
    print(ts_obj_cpu.store())
Exemple #2
0
from riak.client import RiakClient
from riak.riak_error import RiakError
import sys
import time

client = RiakClient(host=sys.argv[1], pb_port=8087)
table_name = sys.argv[2]
table = client.table(table_name)

query = "SELECT COUNT(*) FROM {table} where ts > 1392249600000 and ts < 1397347199000 and status='OK' and extid='668'"
print "Query: ", query
time1 = int(round(time.time() * 1000))
ts_obj = client.ts_query(table_name, query)
time2 = int(round(time.time() * 1000))
print ts_obj.rows
print "Time elapsed (ms): ", str(time2 - time1)
print "\n"

query = "SELECT * FROM {table} where ts > 1392249600000 and ts < 1397347199000 and status='OK' and extid='668'"
print "Query: ", query
time1 = int(round(time.time() * 1000))
ts_obj = client.ts_query(table_name, query)
time2 = int(round(time.time() * 1000))
print ts_obj.rows
print "Time elapsed (ms): ", str(time2 - time1)
print "\n"

query = "SELECT MAX(avgSpeed) FROM {table} where ts > 1392249600000 and ts < 1397347199000 and status='OK' and extid='668'"
print "Query: ", query
time1 = int(round(time.time() * 1000))
ts_obj = client.ts_query(table_name, query)