]> git.sesse.net Git - nageru/blob - Nageru-Grafana.json
Enable the video grid display for simple video mode, too.
[nageru] / Nageru-Grafana.json
1 {
2   "__inputs": [
3     {
4       "name": "DS_EXAMPLE",
5       "label": "example",
6       "description": "",
7       "type": "datasource",
8       "pluginId": "prometheus",
9       "pluginName": "Prometheus"
10     }
11   ],
12   "__requires": [
13     {
14       "type": "grafana",
15       "id": "grafana",
16       "name": "Grafana",
17       "version": "4.3.2"
18     },
19     {
20       "type": "panel",
21       "id": "graph",
22       "name": "Graph",
23       "version": ""
24     },
25     {
26       "type": "panel",
27       "id": "heatmap",
28       "name": "Heatmap",
29       "version": ""
30     },
31     {
32       "type": "datasource",
33       "id": "prometheus",
34       "name": "Prometheus",
35       "version": "1.0.0"
36     },
37     {
38       "type": "panel",
39       "id": "singlestat",
40       "name": "Singlestat",
41       "version": ""
42     }
43   ],
44   "annotations": {
45     "list": []
46   },
47   "editable": true,
48   "gnetId": null,
49   "graphTooltip": 0,
50   "hideControls": false,
51   "id": null,
52   "links": [],
53   "refresh": "30s",
54   "rows": [
55     {
56       "collapse": false,
57       "height": 156,
58       "panels": [
59         {
60           "cacheTimeout": null,
61           "colorBackground": false,
62           "colorValue": false,
63           "colors": [
64             "rgba(245, 54, 54, 0.9)",
65             "rgba(237, 129, 40, 0.89)",
66             "rgba(50, 172, 45, 0.97)"
67           ],
68           "datasource": "${DS_EXAMPLE}",
69           "format": "s",
70           "gauge": {
71             "maxValue": 100,
72             "minValue": 0,
73             "show": false,
74             "thresholdLabels": false,
75             "thresholdMarkers": true
76           },
77           "id": 37,
78           "interval": null,
79           "links": [],
80           "mappingType": 1,
81           "mappingTypes": [
82             {
83               "name": "value to text",
84               "value": 1
85             },
86             {
87               "name": "range to text",
88               "value": 2
89             }
90           ],
91           "maxDataPoints": 100,
92           "nullPointMode": "connected",
93           "nullText": null,
94           "postfix": "",
95           "postfixFontSize": "50%",
96           "prefix": "",
97           "prefixFontSize": "50%",
98           "rangeMaps": [
99             {
100               "from": "null",
101               "text": "N/A",
102               "to": "null"
103             }
104           ],
105           "repeat": null,
106           "span": 2,
107           "sparkline": {
108             "fillColor": "rgba(31, 118, 189, 0.18)",
109             "full": false,
110             "lineColor": "rgb(31, 120, 193)",
111             "show": false
112           },
113           "tableColumn": "",
114           "targets": [
115             {
116               "expr": "time() - nageru_start_time_seconds{instance=~\"$instance\"}",
117               "format": "time_series",
118               "hide": false,
119               "intervalFactor": 2,
120               "legendFormat": "",
121               "refId": "A",
122               "step": 240
123             }
124           ],
125           "thresholds": "",
126           "title": "Nageru uptime",
127           "type": "singlestat",
128           "valueFontSize": "80%",
129           "valueMaps": [
130             {
131               "op": "=",
132               "text": "N/A",
133               "value": "null"
134             }
135           ],
136           "valueName": "current"
137         },
138         {
139           "cacheTimeout": null,
140           "colorBackground": false,
141           "colorValue": false,
142           "colors": [
143             "rgba(245, 54, 54, 0.9)",
144             "rgba(237, 129, 40, 0.89)",
145             "rgba(50, 172, 45, 0.97)"
146           ],
147           "datasource": "${DS_EXAMPLE}",
148           "format": "dtdurations",
149           "gauge": {
150             "maxValue": 100,
151             "minValue": 0,
152             "show": false,
153             "thresholdLabels": false,
154             "thresholdMarkers": true
155           },
156           "id": 6,
157           "interval": null,
158           "links": [],
159           "mappingType": 1,
160           "mappingTypes": [
161             {
162               "name": "value to text",
163               "value": 1
164             },
165             {
166               "name": "range to text",
167               "value": 2
168             }
169           ],
170           "maxDataPoints": 100,
171           "nullPointMode": "connected",
172           "nullText": null,
173           "postfix": "",
174           "postfixFontSize": "50%",
175           "prefix": "",
176           "prefixFontSize": "50%",
177           "rangeMaps": [
178             {
179               "from": "null",
180               "text": "N/A",
181               "to": "null"
182             }
183           ],
184           "repeat": null,
185           "span": 2,
186           "sparkline": {
187             "fillColor": "rgba(31, 118, 189, 0.18)",
188             "full": false,
189             "lineColor": "rgb(31, 120, 193)",
190             "show": false
191           },
192           "tableColumn": "instance",
193           "targets": [
194             {
195               "expr": "nageru_disk_free_bytes / ignoring(destination) deriv(nageru_mux_written_bytes{destination=\"files_total\",instance=~\"$instance\"}[10m])",
196               "format": "time_series",
197               "interval": "",
198               "intervalFactor": 2,
199               "legendFormat": "",
200               "refId": "A",
201               "step": 240
202             }
203           ],
204           "thresholds": "",
205           "title": "Disk space remaining",
206           "type": "singlestat",
207           "valueFontSize": "80%",
208           "valueMaps": [
209             {
210               "op": "=",
211               "text": "N/A",
212               "value": "null"
213             }
214           ],
215           "valueName": "current"
216         },
217         {
218           "cacheTimeout": null,
219           "colorBackground": false,
220           "colorValue": false,
221           "colors": [
222             "rgba(245, 54, 54, 0.9)",
223             "rgba(237, 129, 40, 0.89)",
224             "rgba(50, 172, 45, 0.97)"
225           ],
226           "datasource": "${DS_EXAMPLE}",
227           "format": "none",
228           "gauge": {
229             "maxValue": 100,
230             "minValue": 0,
231             "show": false,
232             "thresholdLabels": false,
233             "thresholdMarkers": true
234           },
235           "id": 11,
236           "interval": null,
237           "links": [],
238           "mappingType": 1,
239           "mappingTypes": [
240             {
241               "name": "value to text",
242               "value": 1
243             },
244             {
245               "name": "range to text",
246               "value": 2
247             }
248           ],
249           "maxDataPoints": 100,
250           "nullPointMode": "connected",
251           "nullText": null,
252           "postfix": "",
253           "postfixFontSize": "50%",
254           "prefix": "",
255           "prefixFontSize": "50%",
256           "rangeMaps": [
257             {
258               "from": "null",
259               "text": "N/A",
260               "to": "null"
261             }
262           ],
263           "span": 2,
264           "sparkline": {
265             "fillColor": "rgba(31, 118, 189, 0.18)",
266             "full": false,
267             "lineColor": "rgb(31, 120, 193)",
268             "show": true
269           },
270           "tableColumn": "",
271           "targets": [
272             {
273               "expr": "nageru_num_connected_clients{instance=~\"$instance\"}",
274               "format": "time_series",
275               "intervalFactor": 2,
276               "legendFormat": "",
277               "refId": "A",
278               "step": 240
279             }
280           ],
281           "thresholds": "",
282           "title": "Connected clients",
283           "type": "singlestat",
284           "valueFontSize": "80%",
285           "valueMaps": [
286             {
287               "op": "=",
288               "text": "N/A",
289               "value": "null"
290             }
291           ],
292           "valueName": "current"
293         },
294         {
295           "cacheTimeout": null,
296           "colorBackground": false,
297           "colorValue": false,
298           "colors": [
299             "rgba(245, 54, 54, 0.9)",
300             "rgba(237, 129, 40, 0.89)",
301             "rgba(50, 172, 45, 0.97)"
302           ],
303           "datasource": "${DS_EXAMPLE}",
304           "format": "none",
305           "gauge": {
306             "maxValue": 100,
307             "minValue": 0,
308             "show": false,
309             "thresholdLabels": false,
310             "thresholdMarkers": true
311           },
312           "id": 46,
313           "interval": null,
314           "links": [],
315           "mappingType": 1,
316           "mappingTypes": [
317             {
318               "name": "value to text",
319               "value": 1
320             },
321             {
322               "name": "range to text",
323               "value": 2
324             }
325           ],
326           "maxDataPoints": 100,
327           "nullPointMode": "connected",
328           "nullText": null,
329           "postfix": "",
330           "postfixFontSize": "50%",
331           "prefix": "",
332           "prefixFontSize": "50%",
333           "rangeMaps": [
334             {
335               "from": "null",
336               "text": "N/A",
337               "to": "null"
338             }
339           ],
340           "span": 2,
341           "sparkline": {
342             "fillColor": "rgba(31, 118, 189, 0.18)",
343             "full": false,
344             "lineColor": "rgb(31, 120, 193)",
345             "show": true
346           },
347           "tableColumn": "",
348           "targets": [
349             {
350               "expr": "sum(nageru_input_has_signal_bool{cardtype=\"ffmpeg\",instance=~\"$instance\"})",
351               "format": "time_series",
352               "intervalFactor": 2,
353               "legendFormat": "",
354               "metric": "",
355               "refId": "A",
356               "step": 240
357             }
358           ],
359           "thresholds": "",
360           "title": "Connected FFmpeg inputs",
361           "type": "singlestat",
362           "valueFontSize": "80%",
363           "valueMaps": [
364             {
365               "op": "=",
366               "text": "N/A",
367               "value": "null"
368             }
369           ],
370           "valueName": "current"
371         },
372         {
373           "cacheTimeout": null,
374           "colorBackground": false,
375           "colorValue": false,
376           "colors": [
377             "rgba(245, 54, 54, 0.9)",
378             "rgba(237, 129, 40, 0.89)",
379             "rgba(50, 172, 45, 0.97)"
380           ],
381           "datasource": "${DS_EXAMPLE}",
382           "decimals": 1,
383           "format": "none",
384           "gauge": {
385             "maxValue": 100,
386             "minValue": 0,
387             "show": false,
388             "thresholdLabels": false,
389             "thresholdMarkers": true
390           },
391           "id": 7,
392           "interval": null,
393           "links": [],
394           "mappingType": 1,
395           "mappingTypes": [
396             {
397               "name": "value to text",
398               "value": 1
399             },
400             {
401               "name": "range to text",
402               "value": 2
403             }
404           ],
405           "maxDataPoints": 100,
406           "nullPointMode": "connected",
407           "nullText": null,
408           "postfix": " LU",
409           "postfixFontSize": "50%",
410           "prefix": "",
411           "prefixFontSize": "50%",
412           "rangeMaps": [
413             {
414               "from": "null",
415               "text": "N/A",
416               "to": "null"
417             }
418           ],
419           "span": 2,
420           "sparkline": {
421             "fillColor": "rgba(31, 118, 189, 0.18)",
422             "full": false,
423             "lineColor": "rgb(31, 120, 193)",
424             "show": true
425           },
426           "tableColumn": "",
427           "targets": [
428             {
429               "expr": "nageru_audio_loudness_integrated_lufs{instance=~\"$instance\"} + 23",
430               "format": "time_series",
431               "intervalFactor": 2,
432               "legendFormat": "",
433               "refId": "A",
434               "step": 240
435             }
436           ],
437           "thresholds": "",
438           "title": "Overall audio level",
439           "type": "singlestat",
440           "valueFontSize": "80%",
441           "valueMaps": [
442             {
443               "op": "=",
444               "text": "N/A",
445               "value": "null"
446             }
447           ],
448           "valueName": "current"
449         },
450         {
451           "aliasColors": {},
452           "bars": false,
453           "dashLength": 10,
454           "dashes": false,
455           "datasource": "${DS_EXAMPLE}",
456           "fill": 0,
457           "id": 18,
458           "legend": {
459             "avg": false,
460             "current": false,
461             "max": false,
462             "min": false,
463             "show": false,
464             "total": false,
465             "values": false
466           },
467           "lines": true,
468           "linewidth": 1,
469           "links": [],
470           "nullPointMode": "null",
471           "percentage": false,
472           "pointradius": 5,
473           "points": false,
474           "renderer": "flot",
475           "seriesOverrides": [],
476           "spaceLength": 10,
477           "span": 2,
478           "stack": false,
479           "steppedLine": false,
480           "targets": [
481             {
482               "expr": "nageru_audio_correlation{instance=~\"$instance\"}",
483               "format": "time_series",
484               "intervalFactor": 2,
485               "legendFormat": "",
486               "refId": "A",
487               "step": 60
488             }
489           ],
490           "thresholds": [],
491           "timeFrom": null,
492           "timeShift": null,
493           "title": "Audio correlation",
494           "tooltip": {
495             "shared": true,
496             "sort": 0,
497             "value_type": "individual"
498           },
499           "type": "graph",
500           "xaxis": {
501             "buckets": null,
502             "mode": "time",
503             "name": null,
504             "show": true,
505             "values": []
506           },
507           "yaxes": [
508             {
509               "format": "short",
510               "label": "",
511               "logBase": 1,
512               "max": "1",
513               "min": "-1",
514               "show": true
515             },
516             {
517               "format": "short",
518               "label": null,
519               "logBase": 1,
520               "max": null,
521               "min": null,
522               "show": true
523             }
524           ]
525         }
526       ],
527       "repeat": "instance",
528       "repeatIteration": null,
529       "repeatRowId": null,
530       "showTitle": true,
531       "title": "$instance",
532       "titleSize": "h6"
533     },
534     {
535       "collapse": false,
536       "height": "250px",
537       "panels": [
538         {
539           "aliasColors": {},
540           "bars": false,
541           "dashLength": 10,
542           "dashes": false,
543           "datasource": "${DS_EXAMPLE}",
544           "fill": 1,
545           "id": 1,
546           "legend": {
547             "avg": false,
548             "current": false,
549             "max": false,
550             "min": false,
551             "show": true,
552             "total": false,
553             "values": false
554           },
555           "lines": true,
556           "linewidth": 1,
557           "links": [],
558           "nullPointMode": "null",
559           "percentage": false,
560           "pointradius": 5,
561           "points": false,
562           "renderer": "flot",
563           "seriesOverrides": [],
564           "spaceLength": 10,
565           "span": 6,
566           "stack": true,
567           "steppedLine": false,
568           "targets": [
569             {
570               "expr": "rate(nageru_decklink_output_completed_frames{status!=\"completed\",instance=~\"$instance\"}[1m])",
571               "format": "time_series",
572               "interval": "",
573               "intervalFactor": 2,
574               "legendFormat": "Output frames {{status}}",
575               "refId": "A",
576               "step": 20
577             },
578             {
579               "expr": "sum(rate(nageru_input_dropped_frames_error{instance=~\"$instance\"}[1m])) without (cardtype)",
580               "format": "time_series",
581               "interval": "",
582               "intervalFactor": 2,
583               "legendFormat": "Error frames card {{card}}",
584               "refId": "B",
585               "step": 20
586             },
587             {
588               "expr": "rate(nageru_quick_sync_stalled_frames{instance=~\"$instance\"}[1m])",
589               "format": "time_series",
590               "interval": "",
591               "intervalFactor": 2,
592               "legendFormat": "Quick Sync stalled frames",
593               "refId": "C",
594               "step": 20
595             },
596             {
597               "expr": "rate(nageru_x264_dropped_frames{instance=~\"$instance\"}[1m])",
598               "format": "time_series",
599               "interval": "",
600               "intervalFactor": 2,
601               "legendFormat": "x264 dropped frames",
602               "refId": "D",
603               "step": 20
604             },
605             {
606               "expr": "rate(nageru_x264_speedcontrol_idle_frames{instance=~\"$instance\"}[1m])",
607               "format": "time_series",
608               "interval": "",
609               "intervalFactor": 2,
610               "legendFormat": "x264 speedcontrol idle frames",
611               "refId": "E",
612               "step": 20
613             },
614             {
615               "expr": "rate(nageru_x264_speedcontrol_late_frames{instance=~\"$instance\"}[1m])",
616               "format": "time_series",
617               "interval": "",
618               "intervalFactor": 2,
619               "legendFormat": "x264 speedcontrol late frames",
620               "refId": "F",
621               "step": 20
622             }
623           ],
624           "thresholds": [],
625           "timeFrom": null,
626           "timeShift": null,
627           "title": "Potential performance problems",
628           "tooltip": {
629             "shared": true,
630             "sort": 0,
631             "value_type": "individual"
632           },
633           "type": "graph",
634           "xaxis": {
635             "buckets": null,
636             "mode": "time",
637             "name": null,
638             "show": true,
639             "values": []
640           },
641           "yaxes": [
642             {
643               "format": "short",
644               "label": null,
645               "logBase": 1,
646               "max": null,
647               "min": null,
648               "show": true
649             },
650             {
651               "format": "short",
652               "label": null,
653               "logBase": 1,
654               "max": null,
655               "min": null,
656               "show": true
657             }
658           ]
659         },
660         {
661           "aliasColors": {},
662           "bars": false,
663           "dashLength": 10,
664           "dashes": false,
665           "datasource": "${DS_EXAMPLE}",
666           "fill": 1,
667           "id": 27,
668           "legend": {
669             "avg": false,
670             "current": false,
671             "max": false,
672             "min": false,
673             "show": true,
674             "total": false,
675             "values": false
676           },
677           "lines": true,
678           "linewidth": 1,
679           "links": [],
680           "nullPointMode": "null",
681           "percentage": false,
682           "pointradius": 5,
683           "points": false,
684           "renderer": "flot",
685           "seriesOverrides": [],
686           "spaceLength": 10,
687           "span": 6,
688           "stack": true,
689           "steppedLine": false,
690           "targets": [
691             {
692               "expr": "sum(rate(nageru_input_queue_duped_frames{instance=~\"$instance\"}[1m])) without (cardtype)",
693               "format": "time_series",
694               "interval": "",
695               "intervalFactor": 2,
696               "legendFormat": "Duplicated frames (queue starvation) card {{card}}",
697               "metric": "",
698               "refId": "A",
699               "step": 20
700             },
701             {
702               "expr": "sum(rate(nageru_input_dropped_frames_jitter{instance=~\"$instance\"}[1m])) without (cardtype)",
703               "format": "time_series",
704               "interval": "",
705               "intervalFactor": 2,
706               "legendFormat": "Dropped frames card {{card}}",
707               "refId": "B",
708               "step": 20
709             }
710           ],
711           "thresholds": [],
712           "timeFrom": null,
713           "timeShift": null,
714           "title": "Queue events",
715           "tooltip": {
716             "shared": true,
717             "sort": 0,
718             "value_type": "individual"
719           },
720           "type": "graph",
721           "xaxis": {
722             "buckets": null,
723             "mode": "time",
724             "name": null,
725             "show": true,
726             "values": []
727           },
728           "yaxes": [
729             {
730               "format": "short",
731               "label": null,
732               "logBase": 1,
733               "max": null,
734               "min": null,
735               "show": true
736             },
737             {
738               "format": "short",
739               "label": null,
740               "logBase": 1,
741               "max": null,
742               "min": null,
743               "show": true
744             }
745           ]
746         }
747       ],
748       "repeat": null,
749       "repeatIteration": null,
750       "repeatRowId": null,
751       "showTitle": false,
752       "title": "Dashboard Row",
753       "titleSize": "h6"
754     },
755     {
756       "collapse": false,
757       "height": 249,
758       "panels": [
759         {
760           "aliasColors": {},
761           "bars": false,
762           "dashLength": 10,
763           "dashes": false,
764           "datasource": "${DS_EXAMPLE}",
765           "fill": 1,
766           "id": 12,
767           "legend": {
768             "avg": false,
769             "current": false,
770             "max": false,
771             "min": false,
772             "show": true,
773             "total": false,
774             "values": false
775           },
776           "lines": true,
777           "linewidth": 1,
778           "links": [],
779           "nullPointMode": "null",
780           "percentage": false,
781           "pointradius": 5,
782           "points": false,
783           "renderer": "flot",
784           "seriesOverrides": [],
785           "spaceLength": 10,
786           "span": 6,
787           "stack": true,
788           "steppedLine": false,
789           "targets": [
790             {
791               "expr": "8 * rate(nageru_mux_stream_bytes{destination=\"http\",instance=~\"$instance\"}[1m])",
792               "format": "time_series",
793               "interval": "",
794               "intervalFactor": 2,
795               "legendFormat": "{{stream}}",
796               "refId": "A",
797               "step": 20
798             }
799           ],
800           "thresholds": [],
801           "timeFrom": null,
802           "timeShift": null,
803           "title": "Stream bitrates",
804           "tooltip": {
805             "shared": true,
806             "sort": 0,
807             "value_type": "individual"
808           },
809           "type": "graph",
810           "xaxis": {
811             "buckets": null,
812             "mode": "time",
813             "name": null,
814             "show": true,
815             "values": []
816           },
817           "yaxes": [
818             {
819               "format": "bps",
820               "label": null,
821               "logBase": 1,
822               "max": null,
823               "min": "0",
824               "show": true
825             },
826             {
827               "format": "short",
828               "label": null,
829               "logBase": 1,
830               "max": null,
831               "min": null,
832               "show": true
833             }
834           ]
835         },
836         {
837           "aliasColors": {},
838           "bars": false,
839           "dashLength": 10,
840           "dashes": false,
841           "datasource": "${DS_EXAMPLE}",
842           "fill": 1,
843           "id": 13,
844           "legend": {
845             "avg": false,
846             "current": false,
847             "max": false,
848             "min": false,
849             "show": true,
850             "total": false,
851             "values": false
852           },
853           "lines": true,
854           "linewidth": 1,
855           "links": [],
856           "nullPointMode": "null",
857           "percentage": false,
858           "pointradius": 5,
859           "points": false,
860           "renderer": "flot",
861           "seriesOverrides": [],
862           "spaceLength": 10,
863           "span": 6,
864           "stack": true,
865           "steppedLine": false,
866           "targets": [
867             {
868               "expr": "8 * rate(nageru_mux_stream_bytes{destination=\"current_file\",instance=~\"$instance\"}[1m])",
869               "format": "time_series",
870               "interval": "",
871               "intervalFactor": 2,
872               "legendFormat": "{{stream}}",
873               "refId": "A",
874               "step": 20
875             }
876           ],
877           "thresholds": [],
878           "timeFrom": null,
879           "timeShift": null,
880           "title": "Disk bitrates",
881           "tooltip": {
882             "shared": true,
883             "sort": 0,
884             "value_type": "individual"
885           },
886           "type": "graph",
887           "xaxis": {
888             "buckets": null,
889             "mode": "time",
890             "name": null,
891             "show": true,
892             "values": []
893           },
894           "yaxes": [
895             {
896               "format": "bps",
897               "label": null,
898               "logBase": 1,
899               "max": null,
900               "min": "0",
901               "show": true
902             },
903             {
904               "format": "short",
905               "label": null,
906               "logBase": 1,
907               "max": null,
908               "min": null,
909               "show": true
910             }
911           ]
912         }
913       ],
914       "repeat": null,
915       "repeatIteration": null,
916       "repeatRowId": null,
917       "showTitle": false,
918       "title": "Dashboard Row",
919       "titleSize": "h6"
920     },
921     {
922       "collapse": false,
923       "height": 247,
924       "panels": [
925         {
926           "aliasColors": {},
927           "bars": false,
928           "dashLength": 10,
929           "dashes": false,
930           "datasource": "${DS_EXAMPLE}",
931           "fill": 1,
932           "id": 19,
933           "legend": {
934             "avg": false,
935             "current": false,
936             "max": false,
937             "min": false,
938             "show": true,
939             "total": false,
940             "values": false
941           },
942           "lines": true,
943           "linewidth": 1,
944           "links": [],
945           "nullPointMode": "null",
946           "percentage": false,
947           "pointradius": 5,
948           "points": false,
949           "renderer": "flot",
950           "seriesOverrides": [
951             {
952               "alias": "90-percentile",
953               "fillBelowTo": "10-percentile",
954               "lines": false
955             },
956             {
957               "alias": "10-percentile",
958               "lines": false
959             },
960             {
961               "alias": "Average",
962               "fill": 0
963             }
964           ],
965           "spaceLength": 10,
966           "span": 4,
967           "stack": false,
968           "steppedLine": false,
969           "targets": [
970             {
971               "expr": "histogram_quantile(0.9, rate(nageru_x264_crf_bucket{instance=~\"$instance\"}[1m]))",
972               "format": "time_series",
973               "intervalFactor": 2,
974               "legendFormat": "90-percentile",
975               "refId": "B",
976               "step": 30
977             },
978             {
979               "expr": "histogram_quantile(0.1, rate(nageru_x264_crf_bucket{instance=~\"$instance\"}[1m]))",
980               "format": "time_series",
981               "interval": "",
982               "intervalFactor": 2,
983               "legendFormat": "10-percentile",
984               "refId": "A",
985               "step": 30
986             },
987             {
988               "expr": "rate(nageru_x264_crf_sum{instance=~\"$instance\"}[1m]) / rate(nageru_x264_crf_count{instance=~\"$instance\"}[1m])",
989               "format": "time_series",
990               "interval": "",
991               "intervalFactor": 2,
992               "legendFormat": "Average",
993               "refId": "C",
994               "step": 30
995             }
996           ],
997           "thresholds": [],
998           "timeFrom": null,
999           "timeShift": null,
1000           "title": "x264 average CRF (lower is better)",
1001           "tooltip": {
1002             "shared": true,
1003             "sort": 0,
1004             "value_type": "individual"
1005           },
1006           "type": "graph",
1007           "xaxis": {
1008             "buckets": null,
1009             "mode": "time",
1010             "name": null,
1011             "show": true,
1012             "values": []
1013           },
1014           "yaxes": [
1015             {
1016               "format": "short",
1017               "label": null,
1018               "logBase": 1,
1019               "max": null,
1020               "min": null,
1021               "show": true
1022             },
1023             {
1024               "format": "short",
1025               "label": null,
1026               "logBase": 1,
1027               "max": null,
1028               "min": null,
1029               "show": true
1030             }
1031           ]
1032         },
1033         {
1034           "cards": {
1035             "cardPadding": null,
1036             "cardRound": null
1037           },
1038           "color": {
1039             "cardColor": "#b4ff00",
1040             "colorScale": "sqrt",
1041             "colorScheme": "interpolateOranges",
1042             "exponent": 0.5,
1043             "mode": "spectrum"
1044           },
1045           "dataFormat": "timeseries",
1046           "heatmap": {},
1047           "highlightCards": true,
1048           "id": 55,
1049           "links": [],
1050           "span": 4,
1051           "targets": [
1052             {
1053               "expr": "rate(nageru_x264_speedcontrol_preset_used_frames_bucket{instance=~\"$instance\"}[1m])",
1054               "format": "time_series",
1055               "intervalFactor": 2,
1056               "legendFormat": "",
1057               "refId": "A",
1058               "step": 30
1059             }
1060           ],
1061           "title": "x264 speed control chosen preset",
1062           "tooltip": {
1063             "show": true,
1064             "showHistogram": false
1065           },
1066           "type": "heatmap",
1067           "xAxis": {
1068             "show": true
1069           },
1070           "xBucketNumber": null,
1071           "xBucketSize": "",
1072           "yAxis": {
1073             "decimals": null,
1074             "format": "short",
1075             "logBase": 1,
1076             "max": "26",
1077             "min": "0",
1078             "show": true,
1079             "splitFactor": null
1080           },
1081           "yBucketNumber": null,
1082           "yBucketSize": 1
1083         },
1084         {
1085           "aliasColors": {},
1086           "bars": false,
1087           "dashLength": 10,
1088           "dashes": false,
1089           "datasource": "${DS_EXAMPLE}",
1090           "fill": 1,
1091           "id": 62,
1092           "legend": {
1093             "avg": false,
1094             "current": false,
1095             "max": false,
1096             "min": false,
1097             "show": true,
1098             "total": false,
1099             "values": false
1100           },
1101           "lines": true,
1102           "linewidth": 1,
1103           "links": [],
1104           "nullPointMode": "null",
1105           "percentage": false,
1106           "pointradius": 5,
1107           "points": false,
1108           "renderer": "flot",
1109           "seriesOverrides": [],
1110           "spaceLength": 10,
1111           "span": 4,
1112           "stack": false,
1113           "steppedLine": false,
1114           "targets": [
1115             {
1116               "expr": "nageru_x264_speedcontrol_buffer_available_seconds{instance=~\"$instance\"} / nageru_x264_speedcontrol_buffer_size_seconds{instance=~\"$instance\"}",
1117               "format": "time_series",
1118               "interval": "",
1119               "intervalFactor": 2,
1120               "legendFormat": "x264 speed control buffer available",
1121               "refId": "A",
1122               "step": 30
1123             }
1124           ],
1125           "thresholds": [],
1126           "timeFrom": null,
1127           "timeShift": null,
1128           "title": "x264 buffer space available",
1129           "tooltip": {
1130             "shared": true,
1131             "sort": 0,
1132             "value_type": "individual"
1133           },
1134           "type": "graph",
1135           "xaxis": {
1136             "buckets": null,
1137             "mode": "time",
1138             "name": null,
1139             "show": true,
1140             "values": []
1141           },
1142           "yaxes": [
1143             {
1144               "format": "percentunit",
1145               "label": "",
1146               "logBase": 1,
1147               "max": null,
1148               "min": null,
1149               "show": true
1150             },
1151             {
1152               "format": "short",
1153               "label": null,
1154               "logBase": 1,
1155               "max": null,
1156               "min": null,
1157               "show": true
1158             }
1159           ]
1160         }
1161       ],
1162       "repeat": null,
1163       "repeatIteration": null,
1164       "repeatRowId": null,
1165       "showTitle": false,
1166       "title": "Dashboard Row",
1167       "titleSize": "h6"
1168     },
1169     {
1170       "collapse": false,
1171       "height": 264,
1172       "panels": [
1173         {
1174           "aliasColors": {},
1175           "bars": false,
1176           "dashLength": 10,
1177           "dashes": false,
1178           "datasource": "${DS_EXAMPLE}",
1179           "fill": 0,
1180           "id": 2,
1181           "legend": {
1182             "alignAsTable": false,
1183             "avg": false,
1184             "current": false,
1185             "max": false,
1186             "min": false,
1187             "rightSide": false,
1188             "show": false,
1189             "sideWidth": null,
1190             "total": false,
1191             "values": false
1192           },
1193           "lines": true,
1194           "linewidth": 1,
1195           "links": [],
1196           "nullPointMode": "null",
1197           "percentage": false,
1198           "pointradius": 5,
1199           "points": false,
1200           "renderer": "flot",
1201           "repeat": "card",
1202           "seriesOverrides": [
1203             {
1204               "alias": "90-percentile",
1205               "fillBelowTo": "10-percentile",
1206               "lines": false
1207             },
1208             {
1209               "alias": "10-percentile",
1210               "lines": false
1211             }
1212           ],
1213           "spaceLength": 10,
1214           "span": 4,
1215           "stack": false,
1216           "steppedLine": false,
1217           "targets": [
1218             {
1219               "expr": "nageru_latency_seconds{measuring_point=\"decklink_output\",frame_type=\"total\",quantile=\"0.9\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}",
1220               "format": "time_series",
1221               "hide": false,
1222               "interval": "",
1223               "intervalFactor": 2,
1224               "legendFormat": "90-percentile",
1225               "metric": "",
1226               "refId": "A",
1227               "step": 30
1228             },
1229             {
1230               "expr": "nageru_latency_seconds{measuring_point=\"decklink_output\",frame_type=\"total\",quantile=\"0.1\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}",
1231               "format": "time_series",
1232               "interval": "",
1233               "intervalFactor": 2,
1234               "legendFormat": "10-percentile",
1235               "refId": "B",
1236               "step": 30
1237             },
1238             {
1239               "expr": "sum(\n  rate(nageru_latency_seconds_sum{measuring_point=\"decklink_output\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}[1m])\n) without (frame_type) / sum(\n  rate(nageru_latency_seconds_count{measuring_point=\"decklink_output\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}[1m])\n) without (frame_type)",
1240               "format": "time_series",
1241               "interval": "",
1242               "intervalFactor": 2,
1243               "legendFormat": "Average",
1244               "refId": "C",
1245               "step": 30
1246             }
1247           ],
1248           "thresholds": [],
1249           "timeFrom": null,
1250           "timeShift": null,
1251           "title": "HDMI/SDI latency, card $card",
1252           "tooltip": {
1253             "shared": true,
1254             "sort": 0,
1255             "value_type": "individual"
1256           },
1257           "type": "graph",
1258           "xaxis": {
1259             "buckets": null,
1260             "mode": "time",
1261             "name": null,
1262             "show": true,
1263             "values": []
1264           },
1265           "yaxes": [
1266             {
1267               "format": "dtdurations",
1268               "label": null,
1269               "logBase": 1,
1270               "max": null,
1271               "min": null,
1272               "show": true
1273             },
1274             {
1275               "format": "short",
1276               "label": null,
1277               "logBase": 1,
1278               "max": null,
1279               "min": null,
1280               "show": true
1281             }
1282           ]
1283         },
1284         {
1285           "aliasColors": {},
1286           "bars": false,
1287           "dashLength": 10,
1288           "dashes": false,
1289           "datasource": "${DS_EXAMPLE}",
1290           "fill": 1,
1291           "id": 14,
1292           "legend": {
1293             "avg": false,
1294             "current": false,
1295             "max": false,
1296             "min": false,
1297             "show": true,
1298             "total": false,
1299             "values": false
1300           },
1301           "lines": true,
1302           "linewidth": 1,
1303           "links": [],
1304           "nullPointMode": "null",
1305           "percentage": false,
1306           "pointradius": 5,
1307           "points": false,
1308           "renderer": "flot",
1309           "seriesOverrides": [],
1310           "spaceLength": 10,
1311           "span": 4,
1312           "stack": false,
1313           "steppedLine": false,
1314           "targets": [
1315             {
1316               "expr": "nageru_memory_used_bytes{instance=~\"$instance\"}",
1317               "format": "time_series",
1318               "interval": "",
1319               "intervalFactor": 2,
1320               "legendFormat": "Used",
1321               "refId": "A",
1322               "step": 30
1323             },
1324             {
1325               "expr": "nageru_memory_locked_limit_bytes{instance=~\"$instance\"}",
1326               "format": "time_series",
1327               "interval": "",
1328               "intervalFactor": 2,
1329               "legendFormat": "Max locked",
1330               "refId": "B",
1331               "step": 30
1332             }
1333           ],
1334           "thresholds": [],
1335           "timeFrom": null,
1336           "timeShift": null,
1337           "title": "Memory usage",
1338           "tooltip": {
1339             "shared": true,
1340             "sort": 0,
1341             "value_type": "individual"
1342           },
1343           "type": "graph",
1344           "xaxis": {
1345             "buckets": null,
1346             "mode": "time",
1347             "name": null,
1348             "show": true,
1349             "values": []
1350           },
1351           "yaxes": [
1352             {
1353               "format": "bytes",
1354               "label": "",
1355               "logBase": 1,
1356               "max": null,
1357               "min": "0",
1358               "show": true
1359             },
1360             {
1361               "format": "short",
1362               "label": null,
1363               "logBase": 1,
1364               "max": null,
1365               "min": null,
1366               "show": true
1367             }
1368           ]
1369         },
1370         {
1371           "aliasColors": {},
1372           "bars": false,
1373           "dashLength": 10,
1374           "dashes": false,
1375           "datasource": "${DS_EXAMPLE}",
1376           "fill": 0,
1377           "id": 20,
1378           "legend": {
1379             "alignAsTable": false,
1380             "avg": false,
1381             "current": false,
1382             "max": false,
1383             "min": false,
1384             "rightSide": false,
1385             "show": false,
1386             "sideWidth": null,
1387             "total": false,
1388             "values": false
1389           },
1390           "lines": true,
1391           "linewidth": 1,
1392           "links": [],
1393           "nullPointMode": "null",
1394           "percentage": false,
1395           "pointradius": 5,
1396           "points": false,
1397           "renderer": "flot",
1398           "repeat": "card",
1399           "seriesOverrides": [
1400             {
1401               "alias": "90-percentile",
1402               "fillBelowTo": "10-percentile",
1403               "lines": false
1404             },
1405             {
1406               "alias": "10-percentile",
1407               "lines": false
1408             }
1409           ],
1410           "spaceLength": 10,
1411           "span": 4,
1412           "stack": false,
1413           "steppedLine": false,
1414           "targets": [
1415             {
1416               "expr": "nageru_latency_seconds{measuring_point=\"mixer\",frame_type=\"total\",quantile=\"0.9\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}",
1417               "format": "time_series",
1418               "hide": false,
1419               "interval": "",
1420               "intervalFactor": 2,
1421               "legendFormat": "90-percentile",
1422               "metric": "",
1423               "refId": "A",
1424               "step": 30
1425             },
1426             {
1427               "expr": "nageru_latency_seconds{measuring_point=\"mixer\",frame_type=\"total\",quantile=\"0.1\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}",
1428               "format": "time_series",
1429               "interval": "",
1430               "intervalFactor": 2,
1431               "legendFormat": "10-percentile",
1432               "refId": "B",
1433               "step": 30
1434             },
1435             {
1436               "expr": "sum(\n  rate(nageru_latency_seconds_sum{measuring_point=\"mixer\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}[1m])\n) without (frame_type) / sum(\n  rate(nageru_latency_seconds_count{measuring_point=\"mixer\",frame_age=\"0\",card=\"$card\",instance=~\"$instance\"}[1m])\n) without (frame_type)",
1437               "format": "time_series",
1438               "interval": "",
1439               "intervalFactor": 2,
1440               "legendFormat": "Average",
1441               "refId": "C",
1442               "step": 30
1443             }
1444           ],
1445           "thresholds": [],
1446           "timeFrom": null,
1447           "timeShift": null,
1448           "title": "Mixer latency, card $card",
1449           "tooltip": {
1450             "shared": true,
1451             "sort": 0,
1452             "value_type": "individual"
1453           },
1454           "type": "graph",
1455           "xaxis": {
1456             "buckets": null,
1457             "mode": "time",
1458             "name": null,
1459             "show": true,
1460             "values": []
1461           },
1462           "yaxes": [
1463             {
1464               "format": "dtdurations",
1465               "label": "",
1466               "logBase": 1,
1467               "max": null,
1468               "min": null,
1469               "show": true
1470             },
1471             {
1472               "format": "short",
1473               "label": null,
1474               "logBase": 1,
1475               "max": null,
1476               "min": null,
1477               "show": true
1478             }
1479           ]
1480         }
1481       ],
1482       "repeat": null,
1483       "repeatIteration": null,
1484       "repeatRowId": null,
1485       "showTitle": false,
1486       "title": "Dashboard Row",
1487       "titleSize": "h6"
1488     }
1489   ],
1490   "schemaVersion": 14,
1491   "style": "dark",
1492   "tags": [],
1493   "templating": {
1494     "list": [
1495       {
1496         "allValue": null,
1497         "current": {},
1498         "datasource": "${DS_EXAMPLE}",
1499         "hide": 0,
1500         "includeAll": true,
1501         "label": null,
1502         "multi": false,
1503         "name": "instance",
1504         "options": [],
1505         "query": "nageru_latency_seconds{measuring_point=\"mixer\"}",
1506         "refresh": 1,
1507         "regex": "/.*instance=\"([^\"]+)\".*/",
1508         "sort": 1,
1509         "tagValuesQuery": "",
1510         "tags": [],
1511         "tagsQuery": "",
1512         "type": "query",
1513         "useTags": false
1514       },
1515       {
1516         "allValue": null,
1517         "current": {},
1518         "datasource": "${DS_EXAMPLE}",
1519         "hide": 0,
1520         "includeAll": true,
1521         "label": null,
1522         "multi": false,
1523         "name": "card",
1524         "options": [],
1525         "query": "nageru_latency_seconds{measuring_point=\"mixer\"}",
1526         "refresh": 1,
1527         "regex": "/.*card=\"(\\d+)\".*/",
1528         "sort": 3,
1529         "tagValuesQuery": "",
1530         "tags": [],
1531         "tagsQuery": "",
1532         "type": "query",
1533         "useTags": false
1534       }
1535     ]
1536   },
1537   "time": {
1538     "from": "now-3h",
1539     "to": "now"
1540   },
1541   "timepicker": {
1542     "refresh_intervals": [
1543       "5s",
1544       "10s",
1545       "30s",
1546       "1m",
1547       "5m",
1548       "15m",
1549       "30m",
1550       "1h",
1551       "2h",
1552       "1d"
1553     ],
1554     "time_options": [
1555       "5m",
1556       "15m",
1557       "1h",
1558       "6h",
1559       "12h",
1560       "24h",
1561       "2d",
1562       "7d",
1563       "30d"
1564     ]
1565   },
1566   "timezone": "browser",
1567   "title": "Nageru",
1568   "version": 42
1569 }