birb_latency_collector/birb_latency_collector/views/report_view.py

27 lines
805 B
Python
Raw Normal View History

2021-11-16 20:40:17 +01:00
#!/usr/bin/env python3
from flask import jsonify, request, abort, current_app, Response
from flask_classful import FlaskView
2021-11-17 23:07:46 +01:00
from utils import json_required, influxdb_instance
from influxdb_client import Point
2021-11-16 20:40:17 +01:00
class ReportView(FlaskView):
2021-11-17 23:07:46 +01:00
@json_required
def post(self):
data = request.json
points = []
for type_ in ['latency', 'queue', 'rate']:
if type_ in data['measurements']:
points.append(
Point(type_)
.tag("client", data['client'])
.tag("cloud", data['cloud'])
.field("latency", data['measurements'][type_])
)
influxdb_instance.connection.write_api().write("alma", "alma", points)
return Response(status=201)