12 @cherrypy.tools.accept(media='application/json')
14 data = cherrypy.request.body.read(int(cherrypy.request.headers['Content-Length']));
15 json_data = json.loads(data);
16 measurement_interval = -1;
22 if 'event' in json_data:
23 if 'measurementFields' in json_data['event']:
24 if 'measurementInterval' in json_data['event']['measurementFields']:
25 measurement_interval = float(json_data['event']['measurementFields']['measurementInterval']);
27 if 'additionalFields' in json_data['event']['measurementFields']:
28 if 'SgNB Request Count' in json_data['event']['measurementFields']['additionalFields']:
29 sgnb_req_count = float(json_data['event']['measurementFields']['additionalFields']['SgNB Request Count']);
31 if 'SgNB Accept Count' in json_data['event']['measurementFields']['additionalFields']:
32 sgnb_accpt_count = float(json_data['event']['measurementFields']['additionalFields']['SgNB Accept Count']);
34 if 'Class Id' in json_data['event']['measurementFields']['additionalFields']:
35 class_id = int(json_data['event']['measurementFields']['additionalFields']['Class Id']);
38 if measurement_interval > 0:
39 print("Class:{0}|Request Rate = {1}|Accept Rate = {2}\n".format(class_id, sgnb_req_count/float(measurement_interval), sgnb_accpt_count/float(measurement_interval)));
43 #=============================
44 if __name__ == '__main__':
48 'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
49 'tools.sessions.on': True,
50 'tools.response_headers.on':True,
51 'tools.response_headers.headers':[('Content-Type','application/json')],
52 'tools.staticdir.on': True,
53 'tools.staticdir.dir':'/tmp/ves'
57 host_name = '127.0.0.1';
60 cherrypy.config.update({'server.socket_host':host_name, 'server.socket_port':port});
61 cherrypy.tree.mount(VES(), '/', config=conf);
62 cherrypy.engine.start();
63 cherrypy.engine.block();