956 lines
28 KiB
YAML
956 lines
28 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: session-telemetry-dashboard
|
|
labels:
|
|
grafana_dashboard: "1"
|
|
data:
|
|
session-telemetry.json: |
|
|
{
|
|
"annotations": {
|
|
"list": []
|
|
},
|
|
"editable": true,
|
|
"gnetId": null,
|
|
"graphTooltip": 0,
|
|
"hideControls": false,
|
|
"id": null,
|
|
"iteration": 1583185057230,
|
|
"links": [],
|
|
"panels": [
|
|
{
|
|
"datasource": "Prometheus",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "red", "value": null },
|
|
{ "color": "green", "value": 95 }
|
|
]
|
|
},
|
|
"unit": "percent"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 4,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 1,
|
|
"options": {
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
},
|
|
"pluginVersion": "8.0.0",
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_peer_telemetry_total{video_seen=\"true\"}[$__range])) / sum(increase(session_peer_telemetry_total[$__range])) * 100",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Percentage of telemetry events where video was successfully seen by the participant.",
|
|
"title": "Overall Video Success Rate",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 4,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 0
|
|
},
|
|
"id": 13,
|
|
"options": {
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
},
|
|
"pluginVersion": "8.0.0",
|
|
"targets": [
|
|
{
|
|
"expr": "sum(count_over_time({namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=join_telemetry\" [$__range]))",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Total number of participants who joined a session in the selected time range.",
|
|
"title": "Participants Joined",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "blue", "value": null }
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 4,
|
|
"w": 6,
|
|
"x": 12,
|
|
"y": 0
|
|
},
|
|
"id": 14,
|
|
"options": {
|
|
"orientation": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showThresholdLabels": false,
|
|
"showThresholdMarkers": true
|
|
},
|
|
"pluginVersion": "8.0.0",
|
|
"targets": [
|
|
{
|
|
"expr": "count(sum by (room) (count_over_time({namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=join_telemetry\" | logfmt [$__range])))",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Total number of unique rooms joined in the selected time range.",
|
|
"title": "Unique Rooms Joined",
|
|
"type": "stat"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"axisLabel": "Joins",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"drawStyle": "line",
|
|
"fillOpacity": 10,
|
|
"gradientMode": "none",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"lineInterpolation": "smooth",
|
|
"lineWidth": 2,
|
|
"pointSize": 5,
|
|
"showPoints": "auto",
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
},
|
|
"unit": "none"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 4,
|
|
"w": 6,
|
|
"x": 18,
|
|
"y": 0
|
|
},
|
|
"id": 15,
|
|
"options": {
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"placement": "bottom"
|
|
},
|
|
"tooltip": {
|
|
"mode": "single"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(count_over_time({namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=join_telemetry\" [$__interval]))",
|
|
"legendFormat": "Joins",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Timeline of participant join events.",
|
|
"title": "Join Events Over Time",
|
|
"type": "timeseries"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 4
|
|
},
|
|
"id": 2,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value"
|
|
]
|
|
},
|
|
"pieType": "pie",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_peer_telemetry_total[$__range])) by (p2p)",
|
|
"legendFormat": "P2P: {{ "{{" }}p2p{{ "}}" }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Breakdown of peer connections using direct P2P vs those relayed through a TURN server.",
|
|
"title": "P2P vs non-P2P",
|
|
"type": "piechart"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 4
|
|
},
|
|
"id": 12,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value"
|
|
]
|
|
},
|
|
"pieType": "pie",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_peer_telemetry_total[$__range])) by (relay)",
|
|
"legendFormat": "Relay: {{ "{{" }}relay{{ "}}" }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Breakdown of peer connections using a TURN relay vs direct connections.",
|
|
"title": "Turn vs No Turn",
|
|
"type": "piechart"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 4
|
|
},
|
|
"id": 3,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value"
|
|
]
|
|
},
|
|
"pieType": "pie",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_peer_telemetry_total[$__range])) by (protocol)",
|
|
"legendFormat": "{{ "{{" }}protocol{{ "}}" }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Comparison of transport protocols (UDP vs TCP) used by participants.",
|
|
"title": "Protocol Breakdown (UDP/TCP)",
|
|
"type": "piechart"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 12
|
|
},
|
|
"id": 4,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value"
|
|
]
|
|
},
|
|
"pieType": "pie",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_summary_telemetry_total{type=\"join\"}[$__range])) by (how_many_seen)",
|
|
"legendFormat": "{{ "{{" }}how_many_seen{{ "}}" }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Summary of what participants saw upon joining (e.g., 'first' in the room vs 'all' others seen).",
|
|
"title": "Join Summary",
|
|
"type": "piechart"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 12
|
|
},
|
|
"id": 7,
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "right",
|
|
"values": [
|
|
"value"
|
|
]
|
|
},
|
|
"pieType": "pie",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_summary_telemetry_total{type=\"leave\"}[$__range])) by (how_many_seen)",
|
|
"legendFormat": "{{ "{{" }}how_many_seen{{ "}}" }}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Summary of what participants had seen by the time they left the session.",
|
|
"title": "Leave Summary",
|
|
"type": "piechart"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 20
|
|
},
|
|
"id": 5,
|
|
"options": {
|
|
"calculate": false,
|
|
"calculation": {},
|
|
"color": {
|
|
"mode": "scheme",
|
|
"scheme": "Oranges"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"hideZeroBuckets": true,
|
|
"yAxis": {
|
|
"axisPlacement": "auto",
|
|
"axisUnit": "short"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_join_telemetry_others_bucket[$__range])) by (le)",
|
|
"format": "heatmap",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Heatmap showing the number of other participants already present in the room when a new user joins.",
|
|
"title": "Participants on Join (Distribution)",
|
|
"type": "heatmap"
|
|
},
|
|
{
|
|
"datasource": "Prometheus",
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 20
|
|
},
|
|
"id": 6,
|
|
"options": {
|
|
"calculate": false,
|
|
"calculation": {},
|
|
"color": {
|
|
"mode": "scheme",
|
|
"scheme": "Blues"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"hideZeroBuckets": true,
|
|
"yAxis": {
|
|
"axisPlacement": "auto",
|
|
"axisUnit": "s"
|
|
}
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "sum(increase(session_join_telemetry_age_bucket[$__range])) by (le)",
|
|
"format": "heatmap",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Heatmap showing how long the session has been active when a new user joins.",
|
|
"title": "Session Age on Join (Distribution)",
|
|
"type": "heatmap"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"align": "auto",
|
|
"displayMode": "auto"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 28
|
|
},
|
|
"id": 8,
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "{namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=peer_telemetry\" | logfmt",
|
|
"maxLines": 500,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Raw table of connection and media telemetry events per user/room.",
|
|
"title": "Raw Peer Telemetry",
|
|
"transformations": [
|
|
{
|
|
"id": "extractFields",
|
|
"options": {
|
|
"format": "json",
|
|
"source": "labels"
|
|
}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"app": true,
|
|
"app_kubernetes_io_component": true,
|
|
"app_kubernetes_io_name": true,
|
|
"cluster": true,
|
|
"container": true,
|
|
"filename": true,
|
|
"id": true,
|
|
"job": true,
|
|
"labels": true,
|
|
"level": true,
|
|
"Line": true,
|
|
"namespace": true,
|
|
"pod": true,
|
|
"pod_template_hash": true,
|
|
"stream": true,
|
|
"tsNs": true,
|
|
"type": true
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"room": 1,
|
|
"user": 2,
|
|
"p2p": 3,
|
|
"protocol": 4,
|
|
"relay": 5,
|
|
"turn_server": 6,
|
|
"video_seen": 7,
|
|
"local_candidate_type": 8,
|
|
"remote_candidate_type": 9,
|
|
"remote_ip": 10,
|
|
"ice_state": 11,
|
|
"user_agent": 12,
|
|
"local_url": 13,
|
|
"local_port": 14,
|
|
"local_rel_port": 15,
|
|
"local_rel_addr": 16,
|
|
"rtt": 17
|
|
},
|
|
"renameByName": {
|
|
"ice_state": "ICE State",
|
|
"local_candidate_type": "Local Candidate",
|
|
"remote_candidate_type": "Remote Candidate",
|
|
"remote_ip": "Remote IP",
|
|
"user_agent": "User Agent",
|
|
"local_url": "STUN/TURN URL",
|
|
"local_port": "Ext Port",
|
|
"local_rel_port": "Int Port",
|
|
"local_rel_addr": "Int IP",
|
|
"rtt": "RTT"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"align": "auto",
|
|
"displayMode": "auto"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 36
|
|
},
|
|
"id": 9,
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "{namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=join_telemetry\" | logfmt",
|
|
"maxLines": 500,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Raw table of events recorded exactly when a user joins a room.",
|
|
"title": "Raw Join Telemetry",
|
|
"transformations": [
|
|
{
|
|
"id": "extractFields",
|
|
"options": {
|
|
"format": "json",
|
|
"source": "labels"
|
|
}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"app": true,
|
|
"app_kubernetes_io_component": true,
|
|
"app_kubernetes_io_name": true,
|
|
"cluster": true,
|
|
"container": true,
|
|
"filename": true,
|
|
"id": true,
|
|
"job": true,
|
|
"labels": true,
|
|
"level": true,
|
|
"Line": true,
|
|
"namespace": true,
|
|
"pod": true,
|
|
"pod_template_hash": true,
|
|
"stream": true,
|
|
"tsNs": true,
|
|
"type": true
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"room": 1,
|
|
"user": 2,
|
|
"others_on_join": 3,
|
|
"session_age_on_join": 4
|
|
},
|
|
"renameByName": {}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"align": "auto",
|
|
"displayMode": "auto"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 44
|
|
},
|
|
"id": 10,
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "{namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=join_summary_telemetry\" | logfmt",
|
|
"maxLines": 500,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Detailed counts of participants seen by the user upon joining.",
|
|
"title": "Raw Join Summary Telemetry",
|
|
"transformations": [
|
|
{
|
|
"id": "extractFields",
|
|
"options": {
|
|
"format": "json",
|
|
"source": "labels"
|
|
}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"app": true,
|
|
"app_kubernetes_io_component": true,
|
|
"app_kubernetes_io_name": true,
|
|
"cluster": true,
|
|
"container": true,
|
|
"filename": true,
|
|
"id": true,
|
|
"job": true,
|
|
"labels": true,
|
|
"level": true,
|
|
"Line": true,
|
|
"namespace": true,
|
|
"pod": true,
|
|
"pod_template_hash": true,
|
|
"stream": true,
|
|
"tsNs": true,
|
|
"type": true
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"room": 1,
|
|
"user": 2,
|
|
"how_many_seen_on_join": 3
|
|
},
|
|
"renameByName": {}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"align": "auto",
|
|
"displayMode": "auto"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 52
|
|
},
|
|
"id": 11,
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "{namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=leave_summary_telemetry\" | logfmt",
|
|
"maxLines": 500,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Detailed counts of participants seen by the user throughout their entire session once they leave.",
|
|
"title": "Raw Leave Summary Telemetry",
|
|
"transformations": [
|
|
{
|
|
"id": "extractFields",
|
|
"options": {
|
|
"format": "json",
|
|
"source": "labels"
|
|
}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"app": true,
|
|
"app_kubernetes_io_component": true,
|
|
"app_kubernetes_io_name": true,
|
|
"cluster": true,
|
|
"container": true,
|
|
"filename": true,
|
|
"id": true,
|
|
"job": true,
|
|
"labels": true,
|
|
"level": true,
|
|
"Line": true,
|
|
"namespace": true,
|
|
"pod": true,
|
|
"pod_template_hash": true,
|
|
"stream": true,
|
|
"tsNs": true,
|
|
"type": true
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"room": 1,
|
|
"user": 2,
|
|
"how_many_seen_on_leave": 3
|
|
},
|
|
"renameByName": {}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
},
|
|
{
|
|
"datasource": "${logs}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"align": "auto",
|
|
"displayMode": "auto"
|
|
},
|
|
"mappings": [],
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "green", "value": null }
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 60
|
|
},
|
|
"id": 16,
|
|
"options": {
|
|
"showHeader": true
|
|
},
|
|
"targets": [
|
|
{
|
|
"expr": "{namespace=\"webrtc-be\", container=\"webrtc-be\"} |= \"type=peer_telemetry\" |= \"protocol=unknown\" | logfmt",
|
|
"maxLines": 500,
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"description": "Filtered view of telemetry where the protocol was reported as unknown.",
|
|
"title": "Unknown Peers",
|
|
"transformations": [
|
|
{
|
|
"id": "extractFields",
|
|
"options": {
|
|
"format": "json",
|
|
"source": "labels"
|
|
}
|
|
},
|
|
{
|
|
"id": "organize",
|
|
"options": {
|
|
"excludeByName": {
|
|
"app": true,
|
|
"app_kubernetes_io_component": true,
|
|
"app_kubernetes_io_name": true,
|
|
"cluster": true,
|
|
"container": true,
|
|
"filename": true,
|
|
"id": true,
|
|
"job": true,
|
|
"labels": true,
|
|
"level": true,
|
|
"Line": true,
|
|
"namespace": true,
|
|
"pod": true,
|
|
"pod_template_hash": true,
|
|
"stream": true,
|
|
"tsNs": true,
|
|
"type": true
|
|
},
|
|
"indexByName": {
|
|
"Time": 0,
|
|
"room": 1,
|
|
"user": 2,
|
|
"p2p": 3,
|
|
"protocol": 4,
|
|
"relay": 5,
|
|
"turn_server": 6,
|
|
"video_seen": 7,
|
|
"local_candidate_type": 8,
|
|
"remote_candidate_type": 9,
|
|
"remote_ip": 10,
|
|
"ice_state": 11,
|
|
"user_agent": 12,
|
|
"local_url": 13,
|
|
"local_port": 14,
|
|
"local_rel_port": 15,
|
|
"local_rel_addr": 16,
|
|
"rtt": 17
|
|
},
|
|
"renameByName": {
|
|
"ice_state": "ICE State",
|
|
"local_candidate_type": "Local Candidate",
|
|
"remote_candidate_type": "Remote Candidate",
|
|
"remote_ip": "Remote IP",
|
|
"user_agent": "User Agent",
|
|
"local_url": "STUN/TURN URL",
|
|
"local_port": "Ext Port",
|
|
"local_rel_port": "Int Port",
|
|
"local_rel_addr": "Int IP",
|
|
"rtt": "RTT"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"type": "table"
|
|
}
|
|
],
|
|
"refresh": "30s",
|
|
"schemaVersion": 30,
|
|
"style": "dark",
|
|
"tags": ["webrtc", "telemetry"],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"current": {
|
|
"selected": false,
|
|
"text": "Loki",
|
|
"value": "Loki"
|
|
},
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"label": "Logs Datasource",
|
|
"multi": false,
|
|
"name": "logs",
|
|
"options": [],
|
|
"query": "loki",
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"type": "datasource"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "now-1h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {},
|
|
"timezone": "",
|
|
"title": "WebRTC Session Telemetry",
|
|
"uid": "webrtc-session-telemetry"
|
|
}
|