#!/usr/bin/env python # The RESTful GDP Gateway's HTTPS/TCP Session Setup and Teardown is expensive. # # A single read or append per session (as shown in this script) has relatively # low performance and high latency. # # Where multiple reads or appends are needed, performance and latency are # significantly improved by amortizing a single HTTPS/TCP session over # multiple actions (see restful_demo_session_amortized.html). import json import requests import time import random import sys test_auth = ("PLEASE_EDIT_username", "PLEASE_EDIT_password") json_header = { 'Content-type': 'application/json' } def GDPwrite(data, gcl_name): start_time = time.time() wrec = requests.post("https://gdp-rest-01.eecs.berkeley.edu/gdp/v1/gcl/" + gcl_name, auth = test_auth, timeout = 60, headers = json_header, data = data) # serialize json_body success = wrec.status_code == 200 end_time = time.time() return (end_time - start_time, success) if __name__=="__main__": if len(sys.argv)<2: sys.stderr.write("Usage: %s\n" % sys.argv[0]) sys.exit(-1) logname = sys.argv[1] for i in xrange(10): random_data = str(random.randint(0, 2**32)) print GDPwrite(random_data, logname)