Example #1
0
def test(req_type, key_size, value_size):
	N = 500
	total_diff = 0
	time_min, time_max = None, None

	value = 'v'*value_size
	for i in range(N):
		key = ''.join([str(i), 'k'*(key_size - len(str(i)))])

		time_start = datetime.now()
		if req_type == 'put':
			client.kv739_put(key, value)
		elif req_type == 'get':
			client.kv739_get(key)
		else:
			client.kv739_delete(key)
		time_diff = datetime.now() - time_start

		time_dt = time_diff.microseconds
		total_diff = total_diff + time_dt
		if time_min == None:
			time_min = time_dt
			time_max = time_dt
		elif time_dt < time_min:
			time_min = time_dt
		elif time_dt > time_max:
			time_max = time_dt
	client_tput = (N*1000000.)/total_diff
	time_avg =	float(total_diff)/N
	print 'req/s,', str(client_tput)
	print 'kb/s,', str(client_tput * value_size / (1024.))
	print 'avgDelay,', str(time_avg)
	print 'maxDelay,', str(time_max)
	print 'minDelay,', str(time_min)
def UI(args):
	global url
	# if len(args)>1:
	# 	get_url(args[1])
	# else:
	# 	get_url()
	url = args[1]
	con = client.kv739_init(url)
	if con==-1:
		print "Connection refused!"
		exit(0);
	else:
		print "Connection successful!"


	while(1):
		cmd = raw_input("cmd: [G]et/[P]ut/[Q]uit/[D]elete: ")
		if cmd.upper() == 'G':
			key = raw_input( "Key: " )
			print "Key:", key 
                        t1=time.time()
			r, val = client.kv739_get(key)
                        t2=time.time()
                        print "Time:{0:.6f}".format(t2-t1)
			print "Code:", r
			print "Value:", val
		elif cmd.upper() == 'P':
			key = raw_input( "Key: " )
			print "Values:",
			value = sys.stdin.readline().strip()
                        t1=now()
			ret, o_val = client.kv739_put(key, value)
                        t2=now()
                        print("Time:",str(float(t2)-float(t1)))
			if ret not in [0,1,-1]:
				print "Wrong return value:", ret
			elif ret == 0:
				print "Updated Key\nKey:", key 
				print "Old Value:", o_val
				print "New Value:", value
			else:
				print "Inserted Key\nKey:", key 
				print "New Value:", value
		elif cmd.upper() == 'D':
			key = raw_input( "Key: " )
			print "Key:", key 
                        t1=now()
			ret, o_val = client.kv739_delete(key)
                        t2=now()
                        print("Time:",str(float(t2)-float(t1)))
			# delete the shit
			print "Code:", ret
			if ret == 200:
				print "O_Val:", o_val
		elif cmd.upper() == 'Q':
			print 
			exit(0)
if __name__ == '__main__':
	print 'Assuming Server is Down'
	print 'Return Code = '+str(client.kv739_init('adg-desktop-07.cs.wisc.edu:8081'))
	print ' PUT Request with key=arko and value=is bored'
        print '(Return Code , Old_Value) = '+ str(client.kv739_put('arko','is bored'))
	print 'Turning Server Back On'
	print 'Return Code = '+str(client.kv739_init('adg-desktop-07.cs.wisc.edu:8080'))
	print ' PUT Request with key=arko and value=is bored'
	print '(Return Code , Old_Value) = '+str(client.kv739_put('arko','is bored'))
	print ' PUT Request with key=arko and value=will be bored'
        print '(Return Code , Old_Value) = '+str(client.kv739_put('arko','will be bored'))
	print ' GET Request with key=arko '
	print '(Return Code , Value) = '+str(client.kv739_get('arko'))
	print ' DELETE Request with key=arko'
	print '(Return Code , Value ) = '+str(client.kv739_delete('arko'))
	print ' GET Request with key=arko '
	print '(Return Code , Value ) = '+str(client.kv739_get('arko'))

	print ' Checking for incorrect string format error cases '
	print ' PUT Request with key=[arko] and value=is bored'
        print '(Return Code , Old_Value) = '+ str(client.kv739_put('[arko]','is bored'))
	print ' PUT Request with key=arko and value=[is bored]'
        print '(Return Code , Old_Value) = '+ str(client.kv739_put('arko','[is bored]'))
	print ' PUT Request with key= and value=is bored'
        print '(Return Code , Old_Value) = '+ str(client.kv739_put('','is bored'))
	print ' PUT Request with key=arko and value='
        print '(Return Code , Old_Value) = '+ str(client.kv739_put('arko',''))