Я ищу лучший инструмент для автоматизации создания графиков из информации о QOS, которую я получаю от API службы видеоконференций в формате .json
Сначала я хотел контролировать эти данные, но создание графиков было бы достаточно хорошотак как мне нужно нажать API и сравнить статистику QOS для каждой встречи.
Есть ли способ сделать это?Я люблю Python и думал о графане, но не могу найти способ сделать это.
Это пример данных, которые я получаю для каждого звонка.Существует множество «user_qos», но вставлять их было бы слишком долго, и я думаю, что это можно понять, вставив его.
Думаю, мне следует сосредоточиться на части "user_qos" и предварительно отредактировать файл через Python.
{'next_page_token': '',
'page_count': 1,
'page_size': 10,
'participants': [{'camera': 'Camera',
'connection_type': 'UDP',
'data_center': 'PP (Botom)',
'device': 'Rooms',
'domain': '',
'harddisk_id': '',
'id': 'xxxxxxxxxxxxxxxx',
'ip_address': 'xxx.xxx.xxx.xxx',
'join_time': '2019-02-15T18:25:29Z',
'leave_time': '2019-02-15T19:20:19Z',
'location': 'Some Place (Earth)',
'mac_addr': '',
'microphone': 'USB audio CODEC',
'network_type': 'Wired',
'pc_name': '',
'recording': False,
'share_application': False,
'share_desktop': False,
'share_whiteboard': False,
'speaker': 'Built-in Output (Headphones)',
'user_id': '22222222',
'user_name': 'room',
'user_qos': [{'as_input': {'avg_loss': '0.0%',
'bitrate': '39 kbps',
'frame_rate': '8 fps',
'jitter': '7 ms',
'latency': '20 ms',
'max_loss': '0.0%',
'resolution': '1440*900'},
'as_output': {'avg_loss': '',
'bitrate': '',
'frame_rate': '',
'jitter': '',
'latency': '',
'max_loss': '',
'resolution': ''},
'audio_input': {'avg_loss': '',
'bitrate': '',
'jitter': '',
'latency': '',
'max_loss': ''},
'audio_output': {'avg_loss': '0.0%',
'bitrate': '85 kbps',
'jitter': '11 ms',
'latency': '31 ms',
'max_loss': '0.0%'},
'cpu_usage': {'system_max_cpu_usage': '69%',
'avg_cpu_usage': '19%',
'max_cpu_usage': '22%',
'min_cpu_usage': '15%'},
'date_time': '2019-02-15T18:27:00Z',
'video_input': {'avg_loss': '0.1%',
'bitrate': '0 kbps',
'frame_rate': '',
'jitter': '8 ms',
'latency': '22 ms',
'max_loss': '4.1%',
'resolution': ''},
'video_output': {'avg_loss': '0.0%',
'bitrate': '140 kbps',
'frame_rate': '6 fps',
'jitter': '11 ms',
'latency': '28 ms',
'max_loss': '0.0%',
'resolution': '320*180'}},
{'as_input': {'avg_loss': '0.0%',
'bitrate': '39 kbps',
'frame_rate': '8 fps',
'jitter': '7 ms',
'latency': '20 ms',
'max_loss': '0.0%',
'resolution': '1440*900'},
'as_output': {'avg_loss': '',
'bitrate': '',
'frame_rate': '',
'jitter': '',
'latency': '',
'max_loss': '',
'resolution': ''},
'audio_input': {'avg_loss': '',
'bitrate': '',
'jitter': '',
'latency': '',
'max_loss': ''},
'audio_output': {'avg_loss': '0.0%',
'bitrate': '85 kbps',
'jitter': '11 ms',
'latency': '31 ms',
'max_loss': '0.0%'},
'cpu_usage': {'system_max_cpu_usage': '69%',
'avg_cpu_usage': '19%',
'max_cpu_usage': '22%',
'min_cpu_usage': '15%'},
'date_time': '2019-02-15T18:27:00Z',
'video_input': {'avg_loss': '0.1%',
'bitrate': '0 kbps',
'frame_rate': '',
'jitter': '8 ms',
'latency': '22 ms',
'max_loss': '4.1%',
'resolution': ''},
'video_output': {'avg_loss': '0.0%',
'bitrate': '140 kbps',
'frame_rate': '6 fps',
'jitter': '11 ms',
'latency': '28 ms',
'max_loss': '0.0%',
'resolution': '320*180'}}],
'version': '4.1.33237.0924'}],
'total_records': 2}