blob: 6d43672ee5c035503dff1f83f744ac606201783e [file] [log] [blame]
Dirk Vogtb8d16ae2017-10-09 15:17:49 +02001import json, requests
2from multiprocessing import Pool
3
4clients = []
5
6
7BASE_URL = 'http://127.0.0.1:8000/hiccup/'
8
9def create_client():
10 ret_client = {}
11 register_url = 'api/v1/devices/register/'
12 params = {
13 'board_date': "2017-01-01",
14 'chipset': "HICCUPBENCH"
15 }
16 resp = requests.post(BASE_URL+register_url, params)
17 data = json.loads(resp.text)
18 ret_client['token'] = data['token']
19 ret_client['uuid'] = data['uuid']
20 return ret_client
21
22
23def send_heartbeat(client):
24 heartbeat_url = 'api/v1/heartbeats/'
25 params = {
26 'uuid': client['uuid'],
27 'build_fingerprint': 'HICCUPBENCH',
28 'uptime': "string",
29 'date': "1984-06-02T19:05:00.000Z",
30 'app_version' : 2000000
31 }
32 resp = requests.post(BASE_URL + heartbeat_url, params,
33 headers = {'Authorization': 'Token '+ client['token']})
34 return resp
35
36import time
37
38def bench(client):
39 start_time = time.time()
40 for i in range(50):
41 send_heartbeat(client)
42 end_time = time.time()
43 print(end_time-start_time)
44
45clients = []
46for i in range(20):
47 clients = clients + [create_client()]
48
49with Pool(20) as p:
50 p.map(bench, clients)