@leverege/build-tools 2.122.0 → 2.223.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2968 @@
1
+ {
2
+ "apiVersion": "dashboard.grafana.app/v2",
3
+ "kind": "Dashboard",
4
+ "metadata": {
5
+ "name": "tpi-ply-tol-v13",
6
+ "annotations": {
7
+ "grafana.app/saved-from-ui": "Grafana v13.0.2 (3fcdbc5a)",
8
+ "grafana.app/folderTitle": "tpi"
9
+ }
10
+ },
11
+ "spec": {
12
+ "annotations": [
13
+ {
14
+ "kind": "AnnotationQuery",
15
+ "spec": {
16
+ "query": {
17
+ "kind": "DataQuery",
18
+ "group": "grafana",
19
+ "version": "v0",
20
+ "datasource": {
21
+ "name": "-- Grafana --"
22
+ },
23
+ "spec": {}
24
+ },
25
+ "enable": true,
26
+ "hide": true,
27
+ "iconColor": "rgba(0, 211, 255, 1)",
28
+ "name": "Annotations & Alerts",
29
+ "builtIn": true,
30
+ "legacyOptions": {
31
+ "type": "dashboard"
32
+ }
33
+ }
34
+ }
35
+ ],
36
+ "cursorSync": "Off",
37
+ "editable": true,
38
+ "elements": {
39
+ "panel-10": {
40
+ "kind": "Panel",
41
+ "spec": {
42
+ "id": 10,
43
+ "title": "CPU by pod (cores)",
44
+ "description": "",
45
+ "links": [],
46
+ "data": {
47
+ "kind": "QueryGroup",
48
+ "spec": {
49
+ "queries": [
50
+ {
51
+ "kind": "PanelQuery",
52
+ "spec": {
53
+ "query": {
54
+ "kind": "DataQuery",
55
+ "group": "",
56
+ "version": "v0",
57
+ "spec": {
58
+ "expr": "sum by (pod) (rate(container_cpu_usage_seconds_total{pod=~\"tpi-ply-(tol|placement).*\", container!=\"\"}[2m]))",
59
+ "legendFormat": "{{pod}}"
60
+ }
61
+ },
62
+ "refId": "A",
63
+ "hidden": false
64
+ }
65
+ }
66
+ ],
67
+ "transformations": [],
68
+ "queryOptions": {}
69
+ }
70
+ },
71
+ "vizConfig": {
72
+ "kind": "VizConfig",
73
+ "group": "timeseries",
74
+ "version": "",
75
+ "spec": {
76
+ "options": {
77
+ "legend": {
78
+ "displayMode": "list",
79
+ "placement": "bottom"
80
+ },
81
+ "tooltip": {
82
+ "mode": "multi"
83
+ }
84
+ },
85
+ "fieldConfig": {
86
+ "defaults": {
87
+ "custom": {
88
+ "fillOpacity": 8,
89
+ "lineWidth": 2
90
+ }
91
+ },
92
+ "overrides": []
93
+ }
94
+ }
95
+ }
96
+ }
97
+ },
98
+ "panel-11": {
99
+ "kind": "Panel",
100
+ "spec": {
101
+ "id": 11,
102
+ "title": "Memory working set by pod",
103
+ "description": "",
104
+ "links": [],
105
+ "data": {
106
+ "kind": "QueryGroup",
107
+ "spec": {
108
+ "queries": [
109
+ {
110
+ "kind": "PanelQuery",
111
+ "spec": {
112
+ "query": {
113
+ "kind": "DataQuery",
114
+ "group": "",
115
+ "version": "v0",
116
+ "spec": {
117
+ "expr": "sum by (pod) (container_memory_working_set_bytes{pod=~\"tpi-ply-(tol|placement).*\", container!=\"\"})",
118
+ "legendFormat": "{{pod}}"
119
+ }
120
+ },
121
+ "refId": "A",
122
+ "hidden": false
123
+ }
124
+ }
125
+ ],
126
+ "transformations": [],
127
+ "queryOptions": {}
128
+ }
129
+ },
130
+ "vizConfig": {
131
+ "kind": "VizConfig",
132
+ "group": "timeseries",
133
+ "version": "",
134
+ "spec": {
135
+ "options": {
136
+ "legend": {
137
+ "displayMode": "list",
138
+ "placement": "bottom"
139
+ },
140
+ "tooltip": {
141
+ "mode": "multi"
142
+ }
143
+ },
144
+ "fieldConfig": {
145
+ "defaults": {
146
+ "unit": "bytes",
147
+ "custom": {
148
+ "fillOpacity": 8,
149
+ "lineWidth": 2
150
+ }
151
+ },
152
+ "overrides": []
153
+ }
154
+ }
155
+ }
156
+ }
157
+ },
158
+ "panel-13": {
159
+ "kind": "Panel",
160
+ "spec": {
161
+ "id": 13,
162
+ "title": "Queue backlog (Pub/Sub undelivered) — the ply chain [stackdriver: 3-5 min delayed, 1m resolution]",
163
+ "description": "",
164
+ "links": [],
165
+ "data": {
166
+ "kind": "QueryGroup",
167
+ "spec": {
168
+ "queries": [
169
+ {
170
+ "kind": "PanelQuery",
171
+ "spec": {
172
+ "query": {
173
+ "kind": "DataQuery",
174
+ "group": "",
175
+ "version": "v0",
176
+ "spec": {
177
+ "expr": "stackdriver_pubsub_subscription_pubsub_googleapis_com_subscription_num_undelivered_messages{subscription_id=~\"tpi-ingestor-edge-vision-ply-monitoring|ply-placement-default|tpi-route-logic-ply-compliance.*\"}",
178
+ "legendFormat": "{{subscription_id}}"
179
+ }
180
+ },
181
+ "refId": "A",
182
+ "hidden": false
183
+ }
184
+ }
185
+ ],
186
+ "transformations": [],
187
+ "queryOptions": {}
188
+ }
189
+ },
190
+ "vizConfig": {
191
+ "kind": "VizConfig",
192
+ "group": "timeseries",
193
+ "version": "",
194
+ "spec": {
195
+ "options": {
196
+ "legend": {
197
+ "displayMode": "list",
198
+ "placement": "bottom"
199
+ },
200
+ "tooltip": {
201
+ "mode": "multi"
202
+ }
203
+ },
204
+ "fieldConfig": {
205
+ "defaults": {
206
+ "custom": {
207
+ "fillOpacity": 8,
208
+ "lineWidth": 2
209
+ }
210
+ },
211
+ "overrides": []
212
+ }
213
+ }
214
+ }
215
+ }
216
+ },
217
+ "panel-14": {
218
+ "kind": "Panel",
219
+ "spec": {
220
+ "id": 14,
221
+ "title": "Oldest unacked message age [stackdriver: 3-5 min delayed, 1m resolution]",
222
+ "description": "",
223
+ "links": [],
224
+ "data": {
225
+ "kind": "QueryGroup",
226
+ "spec": {
227
+ "queries": [
228
+ {
229
+ "kind": "PanelQuery",
230
+ "spec": {
231
+ "query": {
232
+ "kind": "DataQuery",
233
+ "group": "",
234
+ "version": "v0",
235
+ "spec": {
236
+ "expr": "stackdriver_pubsub_subscription_pubsub_googleapis_com_subscription_oldest_unacked_message_age{subscription_id=~\"tpi-ingestor-edge-vision-ply-monitoring|ply-placement-default|tpi-route-logic-ply-compliance.*\"}",
237
+ "legendFormat": "{{subscription_id}}"
238
+ }
239
+ },
240
+ "refId": "A",
241
+ "hidden": false
242
+ }
243
+ }
244
+ ],
245
+ "transformations": [],
246
+ "queryOptions": {}
247
+ }
248
+ },
249
+ "vizConfig": {
250
+ "kind": "VizConfig",
251
+ "group": "timeseries",
252
+ "version": "",
253
+ "spec": {
254
+ "options": {
255
+ "legend": {
256
+ "displayMode": "list",
257
+ "placement": "bottom"
258
+ },
259
+ "tooltip": {
260
+ "mode": "multi"
261
+ }
262
+ },
263
+ "fieldConfig": {
264
+ "defaults": {
265
+ "unit": "s",
266
+ "custom": {
267
+ "fillOpacity": 8,
268
+ "lineWidth": 2
269
+ }
270
+ },
271
+ "overrides": []
272
+ }
273
+ }
274
+ }
275
+ }
276
+ },
277
+ "panel-15": {
278
+ "kind": "Panel",
279
+ "spec": {
280
+ "id": 15,
281
+ "title": "Triton pending requests (dedicated)",
282
+ "description": "",
283
+ "links": [],
284
+ "data": {
285
+ "kind": "QueryGroup",
286
+ "spec": {
287
+ "queries": [
288
+ {
289
+ "kind": "PanelQuery",
290
+ "spec": {
291
+ "query": {
292
+ "kind": "DataQuery",
293
+ "group": "",
294
+ "version": "v0",
295
+ "spec": {
296
+ "expr": "sum by (model) (nv_inference_pending_request_count{pod=~\"tpi-ply-tol-triton-server.*\"})",
297
+ "legendFormat": "{{model}}"
298
+ }
299
+ },
300
+ "refId": "A",
301
+ "hidden": false
302
+ }
303
+ }
304
+ ],
305
+ "transformations": [],
306
+ "queryOptions": {}
307
+ }
308
+ },
309
+ "vizConfig": {
310
+ "kind": "VizConfig",
311
+ "group": "timeseries",
312
+ "version": "",
313
+ "spec": {
314
+ "options": {
315
+ "legend": {
316
+ "displayMode": "list",
317
+ "placement": "bottom"
318
+ },
319
+ "tooltip": {
320
+ "mode": "multi"
321
+ }
322
+ },
323
+ "fieldConfig": {
324
+ "defaults": {
325
+ "custom": {
326
+ "fillOpacity": 8,
327
+ "lineWidth": 2
328
+ }
329
+ },
330
+ "overrides": []
331
+ }
332
+ }
333
+ }
334
+ }
335
+ },
336
+ "panel-16": {
337
+ "kind": "Panel",
338
+ "spec": {
339
+ "id": 16,
340
+ "title": "Alignment confidence p10/p50/p90 by shell",
341
+ "description": "",
342
+ "links": [],
343
+ "data": {
344
+ "kind": "QueryGroup",
345
+ "spec": {
346
+ "queries": [
347
+ {
348
+ "kind": "PanelQuery",
349
+ "spec": {
350
+ "query": {
351
+ "kind": "DataQuery",
352
+ "group": "",
353
+ "version": "v0",
354
+ "spec": {
355
+ "expr": "histogram_quantile(0.1, sum by (shell, le) (rate(ply_tol_align_confidence_bucket[2m])))",
356
+ "legendFormat": "p10 {{shell}}"
357
+ }
358
+ },
359
+ "refId": "A",
360
+ "hidden": false
361
+ }
362
+ },
363
+ {
364
+ "kind": "PanelQuery",
365
+ "spec": {
366
+ "query": {
367
+ "kind": "DataQuery",
368
+ "group": "",
369
+ "version": "v0",
370
+ "spec": {
371
+ "expr": "histogram_quantile(0.5, sum by (shell, le) (rate(ply_tol_align_confidence_bucket[2m])))",
372
+ "legendFormat": "p50 {{shell}}"
373
+ }
374
+ },
375
+ "refId": "B",
376
+ "hidden": false
377
+ }
378
+ },
379
+ {
380
+ "kind": "PanelQuery",
381
+ "spec": {
382
+ "query": {
383
+ "kind": "DataQuery",
384
+ "group": "",
385
+ "version": "v0",
386
+ "spec": {
387
+ "expr": "histogram_quantile(0.9, sum by (shell, le) (rate(ply_tol_align_confidence_bucket[2m])))",
388
+ "legendFormat": "p90 {{shell}}"
389
+ }
390
+ },
391
+ "refId": "C",
392
+ "hidden": false
393
+ }
394
+ }
395
+ ],
396
+ "transformations": [],
397
+ "queryOptions": {}
398
+ }
399
+ },
400
+ "vizConfig": {
401
+ "kind": "VizConfig",
402
+ "group": "timeseries",
403
+ "version": "",
404
+ "spec": {
405
+ "options": {
406
+ "legend": {
407
+ "displayMode": "list",
408
+ "placement": "bottom"
409
+ },
410
+ "tooltip": {
411
+ "mode": "multi"
412
+ }
413
+ },
414
+ "fieldConfig": {
415
+ "defaults": {
416
+ "unit": "percentunit",
417
+ "custom": {
418
+ "fillOpacity": 8,
419
+ "lineWidth": 2
420
+ }
421
+ },
422
+ "overrides": []
423
+ }
424
+ }
425
+ }
426
+ }
427
+ },
428
+ "panel-17": {
429
+ "kind": "Panel",
430
+ "spec": {
431
+ "id": 17,
432
+ "title": "Alignment outcomes by shell",
433
+ "description": "",
434
+ "links": [],
435
+ "data": {
436
+ "kind": "QueryGroup",
437
+ "spec": {
438
+ "queries": [
439
+ {
440
+ "kind": "PanelQuery",
441
+ "spec": {
442
+ "query": {
443
+ "kind": "DataQuery",
444
+ "group": "",
445
+ "version": "v0",
446
+ "spec": {
447
+ "expr": "sum by (shell, outcome) (rate(ply_tol_align_total[2m]))",
448
+ "legendFormat": "{{shell}} · {{outcome}}"
449
+ }
450
+ },
451
+ "refId": "A",
452
+ "hidden": false
453
+ }
454
+ }
455
+ ],
456
+ "transformations": [],
457
+ "queryOptions": {}
458
+ }
459
+ },
460
+ "vizConfig": {
461
+ "kind": "VizConfig",
462
+ "group": "timeseries",
463
+ "version": "",
464
+ "spec": {
465
+ "options": {
466
+ "legend": {
467
+ "displayMode": "list",
468
+ "placement": "bottom"
469
+ },
470
+ "tooltip": {
471
+ "mode": "multi"
472
+ }
473
+ },
474
+ "fieldConfig": {
475
+ "defaults": {
476
+ "custom": {
477
+ "fillOpacity": 8,
478
+ "lineWidth": 2
479
+ }
480
+ },
481
+ "overrides": []
482
+ }
483
+ }
484
+ }
485
+ }
486
+ },
487
+ "panel-18": {
488
+ "kind": "Panel",
489
+ "spec": {
490
+ "id": 18,
491
+ "title": "Full-pipeline time per capture by path — placement-server (avg)",
492
+ "description": "",
493
+ "links": [],
494
+ "data": {
495
+ "kind": "QueryGroup",
496
+ "spec": {
497
+ "queries": [
498
+ {
499
+ "kind": "PanelQuery",
500
+ "spec": {
501
+ "query": {
502
+ "kind": "DataQuery",
503
+ "group": "",
504
+ "version": "v0",
505
+ "spec": {
506
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathRidgeSegmentationTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerPathRidgeSegmentation[2m]))",
507
+ "legendFormat": "ridgeSegmentation compute"
508
+ }
509
+ },
510
+ "refId": "A",
511
+ "hidden": false
512
+ }
513
+ },
514
+ {
515
+ "kind": "PanelQuery",
516
+ "spec": {
517
+ "query": {
518
+ "kind": "DataQuery",
519
+ "group": "",
520
+ "version": "v0",
521
+ "spec": {
522
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathRidgeSegmentationTotalTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerPathRidgeSegmentation[2m]))",
523
+ "legendFormat": "ridgeSegmentation total (incl. write)"
524
+ }
525
+ },
526
+ "refId": "B",
527
+ "hidden": false
528
+ }
529
+ },
530
+ {
531
+ "kind": "PanelQuery",
532
+ "spec": {
533
+ "query": {
534
+ "kind": "DataQuery",
535
+ "group": "",
536
+ "version": "v0",
537
+ "spec": {
538
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathDetectorTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerPathDetector[2m]))",
539
+ "legendFormat": "detector compute"
540
+ }
541
+ },
542
+ "refId": "C",
543
+ "hidden": false
544
+ }
545
+ },
546
+ {
547
+ "kind": "PanelQuery",
548
+ "spec": {
549
+ "query": {
550
+ "kind": "DataQuery",
551
+ "group": "",
552
+ "version": "v0",
553
+ "spec": {
554
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathDetectorTotalTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerPathDetector[2m]))",
555
+ "legendFormat": "detector total (incl. write)"
556
+ }
557
+ },
558
+ "refId": "D",
559
+ "hidden": false
560
+ }
561
+ }
562
+ ],
563
+ "transformations": [],
564
+ "queryOptions": {}
565
+ }
566
+ },
567
+ "vizConfig": {
568
+ "kind": "VizConfig",
569
+ "group": "timeseries",
570
+ "version": "",
571
+ "spec": {
572
+ "options": {
573
+ "legend": {
574
+ "displayMode": "list",
575
+ "placement": "bottom"
576
+ },
577
+ "tooltip": {
578
+ "mode": "multi"
579
+ }
580
+ },
581
+ "fieldConfig": {
582
+ "defaults": {
583
+ "unit": "ms",
584
+ "custom": {
585
+ "fillOpacity": 8,
586
+ "lineWidth": 2
587
+ }
588
+ },
589
+ "overrides": []
590
+ }
591
+ }
592
+ }
593
+ }
594
+ },
595
+ "panel-19": {
596
+ "kind": "Panel",
597
+ "spec": {
598
+ "id": 19,
599
+ "title": "Per-step latency p50/p95 — service-side (ply_tol_request_seconds)",
600
+ "description": "",
601
+ "links": [],
602
+ "data": {
603
+ "kind": "QueryGroup",
604
+ "spec": {
605
+ "queries": [
606
+ {
607
+ "kind": "PanelQuery",
608
+ "spec": {
609
+ "query": {
610
+ "kind": "DataQuery",
611
+ "group": "",
612
+ "version": "v0",
613
+ "spec": {
614
+ "expr": "histogram_quantile(0.5, sum by (service, path, le) (rate(ply_tol_request_seconds_bucket[2m])))",
615
+ "legendFormat": "p50 {{service}} {{path}}"
616
+ }
617
+ },
618
+ "refId": "A",
619
+ "hidden": false
620
+ }
621
+ },
622
+ {
623
+ "kind": "PanelQuery",
624
+ "spec": {
625
+ "query": {
626
+ "kind": "DataQuery",
627
+ "group": "",
628
+ "version": "v0",
629
+ "spec": {
630
+ "expr": "histogram_quantile(0.95, sum by (service, path, le) (rate(ply_tol_request_seconds_bucket[2m])))",
631
+ "legendFormat": "p95 {{service}} {{path}}"
632
+ }
633
+ },
634
+ "refId": "B",
635
+ "hidden": false
636
+ }
637
+ }
638
+ ],
639
+ "transformations": [],
640
+ "queryOptions": {}
641
+ }
642
+ },
643
+ "vizConfig": {
644
+ "kind": "VizConfig",
645
+ "group": "timeseries",
646
+ "version": "",
647
+ "spec": {
648
+ "options": {
649
+ "legend": {
650
+ "displayMode": "list",
651
+ "placement": "bottom"
652
+ },
653
+ "tooltip": {
654
+ "mode": "multi"
655
+ }
656
+ },
657
+ "fieldConfig": {
658
+ "defaults": {
659
+ "unit": "s",
660
+ "custom": {
661
+ "fillOpacity": 8,
662
+ "lineWidth": 2
663
+ }
664
+ },
665
+ "overrides": []
666
+ }
667
+ }
668
+ }
669
+ }
670
+ },
671
+ "panel-21": {
672
+ "kind": "Panel",
673
+ "spec": {
674
+ "id": 21,
675
+ "title": "Work only — processing p50/p95 by task (gap vs request time = queueing)",
676
+ "description": "",
677
+ "links": [],
678
+ "data": {
679
+ "kind": "QueryGroup",
680
+ "spec": {
681
+ "queries": [
682
+ {
683
+ "kind": "PanelQuery",
684
+ "spec": {
685
+ "query": {
686
+ "kind": "DataQuery",
687
+ "group": "",
688
+ "version": "v0",
689
+ "spec": {
690
+ "expr": "histogram_quantile(0.5, sum by (task, le) (rate(ply_tol_processing_seconds_bucket[2m])))",
691
+ "legendFormat": "p50 {{task}}"
692
+ }
693
+ },
694
+ "refId": "A",
695
+ "hidden": false
696
+ }
697
+ },
698
+ {
699
+ "kind": "PanelQuery",
700
+ "spec": {
701
+ "query": {
702
+ "kind": "DataQuery",
703
+ "group": "",
704
+ "version": "v0",
705
+ "spec": {
706
+ "expr": "histogram_quantile(0.95, sum by (task, le) (rate(ply_tol_processing_seconds_bucket[2m])))",
707
+ "legendFormat": "p95 {{task}}"
708
+ }
709
+ },
710
+ "refId": "B",
711
+ "hidden": false
712
+ }
713
+ }
714
+ ],
715
+ "transformations": [],
716
+ "queryOptions": {}
717
+ }
718
+ },
719
+ "vizConfig": {
720
+ "kind": "VizConfig",
721
+ "group": "timeseries",
722
+ "version": "",
723
+ "spec": {
724
+ "options": {
725
+ "legend": {
726
+ "displayMode": "list",
727
+ "placement": "bottom"
728
+ },
729
+ "tooltip": {
730
+ "mode": "multi"
731
+ }
732
+ },
733
+ "fieldConfig": {
734
+ "defaults": {
735
+ "unit": "s",
736
+ "custom": {
737
+ "fillOpacity": 8,
738
+ "lineWidth": 2
739
+ }
740
+ },
741
+ "overrides": []
742
+ }
743
+ }
744
+ }
745
+ }
746
+ },
747
+ "panel-22": {
748
+ "kind": "Panel",
749
+ "spec": {
750
+ "id": 22,
751
+ "title": "In-flight requests per service (vs MAX_INFLIGHT)",
752
+ "description": "",
753
+ "links": [],
754
+ "data": {
755
+ "kind": "QueryGroup",
756
+ "spec": {
757
+ "queries": [
758
+ {
759
+ "kind": "PanelQuery",
760
+ "spec": {
761
+ "query": {
762
+ "kind": "DataQuery",
763
+ "group": "",
764
+ "version": "v0",
765
+ "spec": {
766
+ "expr": "sum by (service) (ply_tol_http_inflight)",
767
+ "legendFormat": "{{service}}"
768
+ }
769
+ },
770
+ "refId": "Z",
771
+ "hidden": false
772
+ }
773
+ }
774
+ ],
775
+ "transformations": [],
776
+ "queryOptions": {}
777
+ }
778
+ },
779
+ "vizConfig": {
780
+ "kind": "VizConfig",
781
+ "group": "timeseries",
782
+ "version": "",
783
+ "spec": {
784
+ "options": {
785
+ "legend": {
786
+ "displayMode": "list",
787
+ "placement": "bottom"
788
+ },
789
+ "tooltip": {
790
+ "mode": "multi"
791
+ }
792
+ },
793
+ "fieldConfig": {
794
+ "defaults": {
795
+ "custom": {
796
+ "fillOpacity": 8,
797
+ "lineWidth": 2
798
+ }
799
+ },
800
+ "overrides": []
801
+ }
802
+ }
803
+ }
804
+ }
805
+ },
806
+ "panel-23": {
807
+ "kind": "Panel",
808
+ "spec": {
809
+ "id": 23,
810
+ "title": "ridgeSeg fan-out legs — client-side avg (ms)",
811
+ "description": "",
812
+ "links": [],
813
+ "data": {
814
+ "kind": "QueryGroup",
815
+ "spec": {
816
+ "queries": [
817
+ {
818
+ "kind": "PanelQuery",
819
+ "spec": {
820
+ "query": {
821
+ "kind": "DataQuery",
822
+ "group": "",
823
+ "version": "v0",
824
+ "spec": {
825
+ "expr": "sum(rate(tpi_ply_placement_server_ridgeSegLegplySegTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_ridgeSegLegplySegTotal[2m]))",
826
+ "legendFormat": "plySeg"
827
+ }
828
+ },
829
+ "refId": "A",
830
+ "hidden": false
831
+ }
832
+ },
833
+ {
834
+ "kind": "PanelQuery",
835
+ "spec": {
836
+ "query": {
837
+ "kind": "DataQuery",
838
+ "group": "",
839
+ "version": "v0",
840
+ "spec": {
841
+ "expr": "sum(rate(tpi_ply_placement_server_ridgeSegLeglaserMaskTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_ridgeSegLeglaserMaskTotal[2m]))",
842
+ "legendFormat": "laserMask"
843
+ }
844
+ },
845
+ "refId": "B",
846
+ "hidden": false
847
+ }
848
+ },
849
+ {
850
+ "kind": "PanelQuery",
851
+ "spec": {
852
+ "query": {
853
+ "kind": "DataQuery",
854
+ "group": "",
855
+ "version": "v0",
856
+ "spec": {
857
+ "expr": "sum(rate(tpi_ply_placement_server_ridgeSegLegocclusionTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_ridgeSegLegocclusionTotal[2m]))",
858
+ "legendFormat": "occlusion"
859
+ }
860
+ },
861
+ "refId": "C",
862
+ "hidden": false
863
+ }
864
+ },
865
+ {
866
+ "kind": "PanelQuery",
867
+ "spec": {
868
+ "query": {
869
+ "kind": "DataQuery",
870
+ "group": "",
871
+ "version": "v0",
872
+ "spec": {
873
+ "expr": "sum(rate(tpi_ply_placement_server_ridgeSegLegcomplianceTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_ridgeSegLegcomplianceTotal[2m]))",
874
+ "legendFormat": "compliance"
875
+ }
876
+ },
877
+ "refId": "D",
878
+ "hidden": false
879
+ }
880
+ }
881
+ ],
882
+ "transformations": [],
883
+ "queryOptions": {}
884
+ }
885
+ },
886
+ "vizConfig": {
887
+ "kind": "VizConfig",
888
+ "group": "timeseries",
889
+ "version": "",
890
+ "spec": {
891
+ "options": {
892
+ "legend": {
893
+ "displayMode": "list",
894
+ "placement": "bottom"
895
+ },
896
+ "tooltip": {
897
+ "mode": "multi"
898
+ }
899
+ },
900
+ "fieldConfig": {
901
+ "defaults": {
902
+ "unit": "ms",
903
+ "custom": {
904
+ "fillOpacity": 8,
905
+ "lineWidth": 2
906
+ }
907
+ },
908
+ "overrides": []
909
+ }
910
+ }
911
+ }
912
+ }
913
+ },
914
+ "panel-24": {
915
+ "kind": "Panel",
916
+ "spec": {
917
+ "id": 24,
918
+ "title": "Doorstep queue p95 — before service clocks (s)",
919
+ "description": "",
920
+ "links": [],
921
+ "data": {
922
+ "kind": "QueryGroup",
923
+ "spec": {
924
+ "queries": [
925
+ {
926
+ "kind": "PanelQuery",
927
+ "spec": {
928
+ "query": {
929
+ "kind": "DataQuery",
930
+ "group": "",
931
+ "version": "v0",
932
+ "spec": {
933
+ "expr": "histogram_quantile(0.95, sum by (service, path, le) (rate(ply_tol_doorstep_seconds_bucket[2m])))",
934
+ "legendFormat": "{{service}} {{path}}"
935
+ }
936
+ },
937
+ "refId": "A",
938
+ "hidden": false
939
+ }
940
+ }
941
+ ],
942
+ "transformations": [],
943
+ "queryOptions": {}
944
+ }
945
+ },
946
+ "vizConfig": {
947
+ "kind": "VizConfig",
948
+ "group": "timeseries",
949
+ "version": "",
950
+ "spec": {
951
+ "options": {
952
+ "legend": {
953
+ "displayMode": "list",
954
+ "placement": "bottom"
955
+ },
956
+ "tooltip": {
957
+ "mode": "multi"
958
+ }
959
+ },
960
+ "fieldConfig": {
961
+ "defaults": {
962
+ "unit": "s",
963
+ "custom": {
964
+ "fillOpacity": 8,
965
+ "lineWidth": 2
966
+ }
967
+ },
968
+ "overrides": []
969
+ }
970
+ }
971
+ }
972
+ }
973
+ },
974
+ "panel-25": {
975
+ "kind": "Panel",
976
+ "spec": {
977
+ "id": 25,
978
+ "title": "Flow in vs out per service — arrived vs served (req/s, 2m",
979
+ "description": "",
980
+ "links": [],
981
+ "data": {
982
+ "kind": "QueryGroup",
983
+ "spec": {
984
+ "queries": [
985
+ {
986
+ "kind": "PanelQuery",
987
+ "spec": {
988
+ "query": {
989
+ "kind": "DataQuery",
990
+ "group": "",
991
+ "version": "v0",
992
+ "spec": {
993
+ "expr": "sum(rate(ply_tol_requests_in_total{service=\"tpi-ply-tol-ply-seg\"}[2m]))",
994
+ "legendFormat": "ply-seg IN (arrived)"
995
+ }
996
+ },
997
+ "refId": "A",
998
+ "hidden": false
999
+ }
1000
+ },
1001
+ {
1002
+ "kind": "PanelQuery",
1003
+ "spec": {
1004
+ "query": {
1005
+ "kind": "DataQuery",
1006
+ "group": "",
1007
+ "version": "v0",
1008
+ "spec": {
1009
+ "expr": "sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-ply-seg\"}[2m]))",
1010
+ "legendFormat": "ply-seg OUT (served)"
1011
+ }
1012
+ },
1013
+ "refId": "B",
1014
+ "hidden": false
1015
+ }
1016
+ },
1017
+ {
1018
+ "kind": "PanelQuery",
1019
+ "spec": {
1020
+ "query": {
1021
+ "kind": "DataQuery",
1022
+ "group": "",
1023
+ "version": "v0",
1024
+ "spec": {
1025
+ "expr": "sum(rate(ply_tol_requests_in_total{service=\"tpi-ply-tol-laser-mask\"}[2m]))",
1026
+ "legendFormat": "laser-mask IN (arrived)"
1027
+ }
1028
+ },
1029
+ "refId": "C",
1030
+ "hidden": false
1031
+ }
1032
+ },
1033
+ {
1034
+ "kind": "PanelQuery",
1035
+ "spec": {
1036
+ "query": {
1037
+ "kind": "DataQuery",
1038
+ "group": "",
1039
+ "version": "v0",
1040
+ "spec": {
1041
+ "expr": "sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-laser-mask\"}[2m]))",
1042
+ "legendFormat": "laser-mask OUT (served)"
1043
+ }
1044
+ },
1045
+ "refId": "D",
1046
+ "hidden": false
1047
+ }
1048
+ },
1049
+ {
1050
+ "kind": "PanelQuery",
1051
+ "spec": {
1052
+ "query": {
1053
+ "kind": "DataQuery",
1054
+ "group": "",
1055
+ "version": "v0",
1056
+ "spec": {
1057
+ "expr": "sum(rate(ply_tol_requests_in_total{service=\"tpi-ply-tol-occlusion\"}[2m]))",
1058
+ "legendFormat": "occlusion IN (arrived)"
1059
+ }
1060
+ },
1061
+ "refId": "E",
1062
+ "hidden": false
1063
+ }
1064
+ },
1065
+ {
1066
+ "kind": "PanelQuery",
1067
+ "spec": {
1068
+ "query": {
1069
+ "kind": "DataQuery",
1070
+ "group": "",
1071
+ "version": "v0",
1072
+ "spec": {
1073
+ "expr": "sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-occlusion\"}[2m]))",
1074
+ "legendFormat": "occlusion OUT (served)"
1075
+ }
1076
+ },
1077
+ "refId": "F",
1078
+ "hidden": false
1079
+ }
1080
+ },
1081
+ {
1082
+ "kind": "PanelQuery",
1083
+ "spec": {
1084
+ "query": {
1085
+ "kind": "DataQuery",
1086
+ "group": "",
1087
+ "version": "v0",
1088
+ "spec": {
1089
+ "expr": "sum(rate(ply_tol_requests_in_total{service=\"tpi-ply-tol-compliance\"}[2m]))",
1090
+ "legendFormat": "compliance IN (arrived)"
1091
+ }
1092
+ },
1093
+ "refId": "G",
1094
+ "hidden": false
1095
+ }
1096
+ },
1097
+ {
1098
+ "kind": "PanelQuery",
1099
+ "spec": {
1100
+ "query": {
1101
+ "kind": "DataQuery",
1102
+ "group": "",
1103
+ "version": "v0",
1104
+ "spec": {
1105
+ "expr": "sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-compliance\"}[2m]))",
1106
+ "legendFormat": "compliance OUT (served)"
1107
+ }
1108
+ },
1109
+ "refId": "H",
1110
+ "hidden": false
1111
+ }
1112
+ }
1113
+ ],
1114
+ "transformations": [],
1115
+ "queryOptions": {}
1116
+ }
1117
+ },
1118
+ "vizConfig": {
1119
+ "kind": "VizConfig",
1120
+ "group": "timeseries",
1121
+ "version": "",
1122
+ "spec": {
1123
+ "options": {
1124
+ "legend": {
1125
+ "calcs": [
1126
+ "lastNotNull",
1127
+ "mean"
1128
+ ],
1129
+ "displayMode": "table",
1130
+ "placement": "right"
1131
+ },
1132
+ "tooltip": {
1133
+ "mode": "multi"
1134
+ }
1135
+ },
1136
+ "fieldConfig": {
1137
+ "defaults": {
1138
+ "unit": "reqps",
1139
+ "custom": {
1140
+ "fillOpacity": 6,
1141
+ "lineWidth": 1,
1142
+ "showPoints": "never"
1143
+ }
1144
+ },
1145
+ "overrides": []
1146
+ }
1147
+ }
1148
+ }
1149
+ }
1150
+ },
1151
+ "panel-26": {
1152
+ "kind": "Panel",
1153
+ "spec": {
1154
+ "id": 26,
1155
+ "title": "Pipeline flow conservation — orchestrator in/out (captures/s, 2m)",
1156
+ "description": "",
1157
+ "links": [],
1158
+ "data": {
1159
+ "kind": "QueryGroup",
1160
+ "spec": {
1161
+ "queries": [
1162
+ {
1163
+ "kind": "PanelQuery",
1164
+ "spec": {
1165
+ "query": {
1166
+ "kind": "DataQuery",
1167
+ "group": "",
1168
+ "version": "v0",
1169
+ "spec": {
1170
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathRidgeSegmentation[2m]))",
1171
+ "legendFormat": "started (B)"
1172
+ }
1173
+ },
1174
+ "refId": "A",
1175
+ "hidden": false
1176
+ }
1177
+ },
1178
+ {
1179
+ "kind": "PanelQuery",
1180
+ "spec": {
1181
+ "query": {
1182
+ "kind": "DataQuery",
1183
+ "group": "",
1184
+ "version": "v0",
1185
+ "spec": {
1186
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerPathDetector[2m]))",
1187
+ "legendFormat": "started (A)"
1188
+ }
1189
+ },
1190
+ "refId": "B",
1191
+ "hidden": false
1192
+ }
1193
+ },
1194
+ {
1195
+ "kind": "PanelQuery",
1196
+ "spec": {
1197
+ "query": {
1198
+ "kind": "DataQuery",
1199
+ "group": "",
1200
+ "version": "v0",
1201
+ "spec": {
1202
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerCalculationComplete[2m]))",
1203
+ "legendFormat": "completed"
1204
+ }
1205
+ },
1206
+ "refId": "C",
1207
+ "hidden": false
1208
+ }
1209
+ },
1210
+ {
1211
+ "kind": "PanelQuery",
1212
+ "spec": {
1213
+ "query": {
1214
+ "kind": "DataQuery",
1215
+ "group": "",
1216
+ "version": "v0",
1217
+ "spec": {
1218
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerUpdateRsrcWithResult[2m]))",
1219
+ "legendFormat": "results written"
1220
+ }
1221
+ },
1222
+ "refId": "D",
1223
+ "hidden": false
1224
+ }
1225
+ },
1226
+ {
1227
+ "kind": "PanelQuery",
1228
+ "spec": {
1229
+ "query": {
1230
+ "kind": "DataQuery",
1231
+ "group": "",
1232
+ "version": "v0",
1233
+ "spec": {
1234
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerErrorInCalculation[2m]))",
1235
+ "legendFormat": "ERR calculation"
1236
+ }
1237
+ },
1238
+ "refId": "F",
1239
+ "hidden": false
1240
+ }
1241
+ },
1242
+ {
1243
+ "kind": "PanelQuery",
1244
+ "spec": {
1245
+ "query": {
1246
+ "kind": "DataQuery",
1247
+ "group": "",
1248
+ "version": "v0",
1249
+ "spec": {
1250
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerErrorUpdatingRsrcWithResult[2m]))",
1251
+ "legendFormat": "ERR result write"
1252
+ }
1253
+ },
1254
+ "refId": "G",
1255
+ "hidden": false
1256
+ }
1257
+ }
1258
+ ],
1259
+ "transformations": [],
1260
+ "queryOptions": {}
1261
+ }
1262
+ },
1263
+ "vizConfig": {
1264
+ "kind": "VizConfig",
1265
+ "group": "timeseries",
1266
+ "version": "",
1267
+ "spec": {
1268
+ "options": {
1269
+ "legend": {
1270
+ "calcs": [
1271
+ "lastNotNull",
1272
+ "mean"
1273
+ ],
1274
+ "displayMode": "table",
1275
+ "placement": "right"
1276
+ },
1277
+ "tooltip": {
1278
+ "mode": "multi"
1279
+ }
1280
+ },
1281
+ "fieldConfig": {
1282
+ "defaults": {
1283
+ "unit": "reqps",
1284
+ "custom": {
1285
+ "fillOpacity": 6,
1286
+ "lineWidth": 1,
1287
+ "showPoints": "never"
1288
+ }
1289
+ },
1290
+ "overrides": []
1291
+ }
1292
+ }
1293
+ }
1294
+ }
1295
+ },
1296
+ "panel-27": {
1297
+ "kind": "Panel",
1298
+ "spec": {
1299
+ "id": 27,
1300
+ "title": "Totals — 2m averages",
1301
+ "description": "",
1302
+ "links": [],
1303
+ "data": {
1304
+ "kind": "QueryGroup",
1305
+ "spec": {
1306
+ "queries": [
1307
+ {
1308
+ "kind": "PanelQuery",
1309
+ "spec": {
1310
+ "query": {
1311
+ "kind": "DataQuery",
1312
+ "group": "",
1313
+ "version": "v0",
1314
+ "spec": {
1315
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerCalculationComplete[2m]))",
1316
+ "legendFormat": "captures/s"
1317
+ }
1318
+ },
1319
+ "refId": "A",
1320
+ "hidden": false
1321
+ }
1322
+ },
1323
+ {
1324
+ "kind": "PanelQuery",
1325
+ "spec": {
1326
+ "query": {
1327
+ "kind": "DataQuery",
1328
+ "group": "",
1329
+ "version": "v0",
1330
+ "spec": {
1331
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerComputeTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerCalculationComplete[2m])) / 1000",
1332
+ "legendFormat": "avg compute (s)"
1333
+ }
1334
+ },
1335
+ "refId": "B",
1336
+ "hidden": false
1337
+ }
1338
+ },
1339
+ {
1340
+ "kind": "PanelQuery",
1341
+ "spec": {
1342
+ "query": {
1343
+ "kind": "DataQuery",
1344
+ "group": "",
1345
+ "version": "v0",
1346
+ "spec": {
1347
+ "expr": "sum(rate(tpi_ply_placement_server_plyPlacementControllerTotalTimeSumMs[2m])) / sum(rate(tpi_ply_placement_server_plyPlacementControllerUpdateRsrcWithResult[2m])) / 1000",
1348
+ "legendFormat": "avg end-to-end (s)"
1349
+ }
1350
+ },
1351
+ "refId": "C",
1352
+ "hidden": false
1353
+ }
1354
+ },
1355
+ {
1356
+ "kind": "PanelQuery",
1357
+ "spec": {
1358
+ "query": {
1359
+ "kind": "DataQuery",
1360
+ "group": "",
1361
+ "version": "v0",
1362
+ "spec": {
1363
+ "expr": "sum(rate(ply_tol_request_seconds_sum{service=\"tpi-ply-tol-ply-seg\"}[2m])) / sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-ply-seg\"}[2m]))",
1364
+ "legendFormat": "avg ply-seg (s)"
1365
+ }
1366
+ },
1367
+ "refId": "D",
1368
+ "hidden": false
1369
+ }
1370
+ },
1371
+ {
1372
+ "kind": "PanelQuery",
1373
+ "spec": {
1374
+ "query": {
1375
+ "kind": "DataQuery",
1376
+ "group": "",
1377
+ "version": "v0",
1378
+ "spec": {
1379
+ "expr": "sum(rate(ply_tol_request_seconds_sum{service=\"tpi-ply-tol-laser-mask\"}[2m])) / sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-laser-mask\"}[2m]))",
1380
+ "legendFormat": "avg laser-mask (s)"
1381
+ }
1382
+ },
1383
+ "refId": "E",
1384
+ "hidden": false
1385
+ }
1386
+ },
1387
+ {
1388
+ "kind": "PanelQuery",
1389
+ "spec": {
1390
+ "query": {
1391
+ "kind": "DataQuery",
1392
+ "group": "",
1393
+ "version": "v0",
1394
+ "spec": {
1395
+ "expr": "sum(rate(ply_tol_request_seconds_sum{service=\"tpi-ply-tol-occlusion\"}[2m])) / sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-occlusion\"}[2m]))",
1396
+ "legendFormat": "avg occlusion (s)"
1397
+ }
1398
+ },
1399
+ "refId": "F",
1400
+ "hidden": false
1401
+ }
1402
+ },
1403
+ {
1404
+ "kind": "PanelQuery",
1405
+ "spec": {
1406
+ "query": {
1407
+ "kind": "DataQuery",
1408
+ "group": "",
1409
+ "version": "v0",
1410
+ "spec": {
1411
+ "expr": "sum(rate(ply_tol_request_seconds_sum{service=\"tpi-ply-tol-compliance\"}[2m])) / sum(rate(ply_tol_request_seconds_count{service=\"tpi-ply-tol-compliance\"}[2m]))",
1412
+ "legendFormat": "avg compliance (s)"
1413
+ }
1414
+ },
1415
+ "refId": "G",
1416
+ "hidden": false
1417
+ }
1418
+ }
1419
+ ],
1420
+ "transformations": [],
1421
+ "queryOptions": {}
1422
+ }
1423
+ },
1424
+ "vizConfig": {
1425
+ "kind": "VizConfig",
1426
+ "group": "stat",
1427
+ "version": "",
1428
+ "spec": {
1429
+ "options": {
1430
+ "orientation": "auto",
1431
+ "reduceOptions": {
1432
+ "calcs": [
1433
+ "lastNotNull"
1434
+ ]
1435
+ },
1436
+ "textMode": "value_and_name"
1437
+ },
1438
+ "fieldConfig": {
1439
+ "defaults": {
1440
+ "unit": "none",
1441
+ "decimals": 2
1442
+ },
1443
+ "overrides": [
1444
+ {
1445
+ "matcher": {
1446
+ "id": "byFrameRefID",
1447
+ "options": "A"
1448
+ },
1449
+ "properties": [
1450
+ {
1451
+ "id": "unit",
1452
+ "value": "reqps"
1453
+ }
1454
+ ]
1455
+ },
1456
+ {
1457
+ "matcher": {
1458
+ "id": "byFrameRefID",
1459
+ "options": "B"
1460
+ },
1461
+ "properties": [
1462
+ {
1463
+ "id": "unit",
1464
+ "value": "s"
1465
+ }
1466
+ ]
1467
+ },
1468
+ {
1469
+ "matcher": {
1470
+ "id": "byFrameRefID",
1471
+ "options": "C"
1472
+ },
1473
+ "properties": [
1474
+ {
1475
+ "id": "unit",
1476
+ "value": "s"
1477
+ }
1478
+ ]
1479
+ },
1480
+ {
1481
+ "matcher": {
1482
+ "id": "byFrameRefID",
1483
+ "options": "D"
1484
+ },
1485
+ "properties": [
1486
+ {
1487
+ "id": "unit",
1488
+ "value": "s"
1489
+ }
1490
+ ]
1491
+ },
1492
+ {
1493
+ "matcher": {
1494
+ "id": "byFrameRefID",
1495
+ "options": "E"
1496
+ },
1497
+ "properties": [
1498
+ {
1499
+ "id": "unit",
1500
+ "value": "s"
1501
+ }
1502
+ ]
1503
+ },
1504
+ {
1505
+ "matcher": {
1506
+ "id": "byFrameRefID",
1507
+ "options": "F"
1508
+ },
1509
+ "properties": [
1510
+ {
1511
+ "id": "unit",
1512
+ "value": "s"
1513
+ }
1514
+ ]
1515
+ },
1516
+ {
1517
+ "matcher": {
1518
+ "id": "byFrameRefID",
1519
+ "options": "G"
1520
+ },
1521
+ "properties": [
1522
+ {
1523
+ "id": "unit",
1524
+ "value": "s"
1525
+ }
1526
+ ]
1527
+ }
1528
+ ]
1529
+ }
1530
+ }
1531
+ }
1532
+ }
1533
+ },
1534
+ "panel-28": {
1535
+ "kind": "Panel",
1536
+ "spec": {
1537
+ "id": 28,
1538
+ "title": "EMPTY masks/s — silent-no-op alarm (any sustained rate > 0 = incident)",
1539
+ "description": "",
1540
+ "links": [],
1541
+ "data": {
1542
+ "kind": "QueryGroup",
1543
+ "spec": {
1544
+ "queries": [
1545
+ {
1546
+ "kind": "PanelQuery",
1547
+ "spec": {
1548
+ "query": {
1549
+ "kind": "DataQuery",
1550
+ "group": "",
1551
+ "version": "v0",
1552
+ "spec": {
1553
+ "expr": "sum by (kind) (rate(ply_tol_empty_mask_total[2m]))",
1554
+ "legendFormat": "{{kind}}"
1555
+ }
1556
+ },
1557
+ "refId": "A",
1558
+ "hidden": false
1559
+ }
1560
+ }
1561
+ ],
1562
+ "transformations": [],
1563
+ "queryOptions": {}
1564
+ }
1565
+ },
1566
+ "vizConfig": {
1567
+ "kind": "VizConfig",
1568
+ "group": "timeseries",
1569
+ "version": "",
1570
+ "spec": {
1571
+ "options": {
1572
+ "legend": {
1573
+ "displayMode": "list",
1574
+ "placement": "bottom"
1575
+ },
1576
+ "tooltip": {
1577
+ "mode": "multi"
1578
+ }
1579
+ },
1580
+ "fieldConfig": {
1581
+ "defaults": {
1582
+ "unit": "ops",
1583
+ "thresholds": {
1584
+ "mode": "absolute",
1585
+ "steps": [
1586
+ {
1587
+ "value": null,
1588
+ "color": "green"
1589
+ },
1590
+ {
1591
+ "value": 0.001,
1592
+ "color": "red"
1593
+ }
1594
+ ]
1595
+ },
1596
+ "custom": {
1597
+ "fillOpacity": 6,
1598
+ "lineWidth": 1,
1599
+ "showPoints": "never",
1600
+ "thresholdsStyle": {
1601
+ "mode": "line"
1602
+ }
1603
+ }
1604
+ },
1605
+ "overrides": []
1606
+ }
1607
+ }
1608
+ }
1609
+ }
1610
+ },
1611
+ "panel-29": {
1612
+ "kind": "Panel",
1613
+ "spec": {
1614
+ "id": 29,
1615
+ "title": "Triton client vs server p95 — client incl. network/reconnect (s)",
1616
+ "description": "",
1617
+ "links": [],
1618
+ "data": {
1619
+ "kind": "QueryGroup",
1620
+ "spec": {
1621
+ "queries": [
1622
+ {
1623
+ "kind": "PanelQuery",
1624
+ "spec": {
1625
+ "query": {
1626
+ "kind": "DataQuery",
1627
+ "group": "",
1628
+ "version": "v0",
1629
+ "spec": {
1630
+ "expr": "histogram_quantile(0.95, sum by (model, le) (rate(ply_tol_triton_client_seconds_bucket[2m])))",
1631
+ "legendFormat": "{{model}} client p95"
1632
+ }
1633
+ },
1634
+ "refId": "A",
1635
+ "hidden": false
1636
+ }
1637
+ },
1638
+ {
1639
+ "kind": "PanelQuery",
1640
+ "spec": {
1641
+ "query": {
1642
+ "kind": "DataQuery",
1643
+ "group": "",
1644
+ "version": "v0",
1645
+ "spec": {
1646
+ "expr": "sum by (model) (rate(nv_inference_request_duration_us{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / sum by (model) (rate(nv_inference_request_success{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / 1e6",
1647
+ "legendFormat": "{{model}} server avg"
1648
+ }
1649
+ },
1650
+ "refId": "B",
1651
+ "hidden": false
1652
+ }
1653
+ },
1654
+ {
1655
+ "kind": "PanelQuery",
1656
+ "spec": {
1657
+ "query": {
1658
+ "kind": "DataQuery",
1659
+ "group": "",
1660
+ "version": "v0",
1661
+ "spec": {
1662
+ "expr": "sum by (model) (rate(ply_tol_triton_client_errors_total[2m]))",
1663
+ "legendFormat": "{{model}} client ERRORS/s"
1664
+ }
1665
+ },
1666
+ "refId": "C",
1667
+ "hidden": false
1668
+ }
1669
+ }
1670
+ ],
1671
+ "transformations": [],
1672
+ "queryOptions": {}
1673
+ }
1674
+ },
1675
+ "vizConfig": {
1676
+ "kind": "VizConfig",
1677
+ "group": "timeseries",
1678
+ "version": "",
1679
+ "spec": {
1680
+ "options": {
1681
+ "legend": {
1682
+ "displayMode": "list",
1683
+ "placement": "bottom"
1684
+ },
1685
+ "tooltip": {
1686
+ "mode": "multi"
1687
+ }
1688
+ },
1689
+ "fieldConfig": {
1690
+ "defaults": {
1691
+ "unit": "s",
1692
+ "custom": {
1693
+ "fillOpacity": 6,
1694
+ "lineWidth": 1,
1695
+ "showPoints": "never"
1696
+ }
1697
+ },
1698
+ "overrides": []
1699
+ }
1700
+ }
1701
+ }
1702
+ }
1703
+ },
1704
+ "panel-3": {
1705
+ "kind": "Panel",
1706
+ "spec": {
1707
+ "id": 3,
1708
+ "title": "Laser path: align vs fallback vs skipped (captures/s)",
1709
+ "description": "",
1710
+ "links": [],
1711
+ "data": {
1712
+ "kind": "QueryGroup",
1713
+ "spec": {
1714
+ "queries": [
1715
+ {
1716
+ "kind": "PanelQuery",
1717
+ "spec": {
1718
+ "query": {
1719
+ "kind": "DataQuery",
1720
+ "group": "",
1721
+ "version": "v0",
1722
+ "spec": {
1723
+ "expr": "sum by (path) (rate(ply_tol_path_total{task=\"laser-mask\"}[2m]))",
1724
+ "legendFormat": "{{path}}"
1725
+ }
1726
+ },
1727
+ "refId": "A",
1728
+ "hidden": false
1729
+ }
1730
+ }
1731
+ ],
1732
+ "transformations": [],
1733
+ "queryOptions": {}
1734
+ }
1735
+ },
1736
+ "vizConfig": {
1737
+ "kind": "VizConfig",
1738
+ "group": "timeseries",
1739
+ "version": "",
1740
+ "spec": {
1741
+ "options": {
1742
+ "legend": {
1743
+ "displayMode": "list",
1744
+ "placement": "bottom"
1745
+ },
1746
+ "tooltip": {
1747
+ "mode": "multi"
1748
+ }
1749
+ },
1750
+ "fieldConfig": {
1751
+ "defaults": {
1752
+ "unit": "ops",
1753
+ "custom": {
1754
+ "fillOpacity": 8,
1755
+ "lineWidth": 2
1756
+ }
1757
+ },
1758
+ "overrides": []
1759
+ }
1760
+ }
1761
+ }
1762
+ }
1763
+ },
1764
+ "panel-30": {
1765
+ "kind": "Panel",
1766
+ "spec": {
1767
+ "id": 30,
1768
+ "title": "Errors/s — every counter (placement-server + service HTTP status)",
1769
+ "description": "",
1770
+ "links": [],
1771
+ "data": {
1772
+ "kind": "QueryGroup",
1773
+ "spec": {
1774
+ "queries": [
1775
+ {
1776
+ "kind": "PanelQuery",
1777
+ "spec": {
1778
+ "query": {
1779
+ "kind": "DataQuery",
1780
+ "group": "",
1781
+ "version": "v0",
1782
+ "spec": {
1783
+ "expr": "sum by (__name__) (rate({__name__=~\"tpi_ply_placement_server_.+(Error|error|Rejected|Retry|Redelivered).*\"}[2m])) > 0",
1784
+ "legendFormat": "{{__name__}}"
1785
+ }
1786
+ },
1787
+ "refId": "A",
1788
+ "hidden": false
1789
+ }
1790
+ },
1791
+ {
1792
+ "kind": "PanelQuery",
1793
+ "spec": {
1794
+ "query": {
1795
+ "kind": "DataQuery",
1796
+ "group": "",
1797
+ "version": "v0",
1798
+ "spec": {
1799
+ "expr": "sum by (service, status) (rate(ply_tol_request_errors_total[2m])) > 0",
1800
+ "legendFormat": "{{service}} {{status}}"
1801
+ }
1802
+ },
1803
+ "refId": "B",
1804
+ "hidden": false
1805
+ }
1806
+ },
1807
+ {
1808
+ "kind": "PanelQuery",
1809
+ "spec": {
1810
+ "query": {
1811
+ "kind": "DataQuery",
1812
+ "group": "",
1813
+ "version": "v0",
1814
+ "spec": {
1815
+ "expr": "sum by (kind) (rate(ply_tol_image_fetch_client_errors_total[2m])) > 0",
1816
+ "legendFormat": "image fetch {{kind}}"
1817
+ }
1818
+ },
1819
+ "refId": "C",
1820
+ "hidden": false
1821
+ }
1822
+ }
1823
+ ],
1824
+ "transformations": [],
1825
+ "queryOptions": {}
1826
+ }
1827
+ },
1828
+ "vizConfig": {
1829
+ "kind": "VizConfig",
1830
+ "group": "timeseries",
1831
+ "version": "",
1832
+ "spec": {
1833
+ "options": {
1834
+ "legend": {
1835
+ "calcs": [
1836
+ "lastNotNull"
1837
+ ],
1838
+ "displayMode": "table",
1839
+ "placement": "right"
1840
+ },
1841
+ "tooltip": {
1842
+ "mode": "multi"
1843
+ }
1844
+ },
1845
+ "fieldConfig": {
1846
+ "defaults": {
1847
+ "unit": "ops",
1848
+ "custom": {
1849
+ "fillOpacity": 8,
1850
+ "lineWidth": 1,
1851
+ "showPoints": "never"
1852
+ }
1853
+ },
1854
+ "overrides": []
1855
+ }
1856
+ }
1857
+ }
1858
+ }
1859
+ },
1860
+ "panel-31": {
1861
+ "kind": "Panel",
1862
+ "spec": {
1863
+ "id": 31,
1864
+ "title": "LPD cache miss ratio per laser-mask pod — cold pod = 1.0",
1865
+ "description": "",
1866
+ "links": [],
1867
+ "data": {
1868
+ "kind": "QueryGroup",
1869
+ "spec": {
1870
+ "queries": [
1871
+ {
1872
+ "kind": "PanelQuery",
1873
+ "spec": {
1874
+ "query": {
1875
+ "kind": "DataQuery",
1876
+ "group": "",
1877
+ "version": "v0",
1878
+ "spec": {
1879
+ "expr": "sum by (pod) (rate(ply_tol_lpd_cache_total{result=\"miss\"}[5m])) / sum by (pod) (rate(ply_tol_lpd_cache_total[5m]))",
1880
+ "legendFormat": "{{pod}}"
1881
+ }
1882
+ },
1883
+ "refId": "A",
1884
+ "hidden": false
1885
+ }
1886
+ }
1887
+ ],
1888
+ "transformations": [],
1889
+ "queryOptions": {}
1890
+ }
1891
+ },
1892
+ "vizConfig": {
1893
+ "kind": "VizConfig",
1894
+ "group": "timeseries",
1895
+ "version": "",
1896
+ "spec": {
1897
+ "options": {
1898
+ "legend": {
1899
+ "displayMode": "list",
1900
+ "placement": "bottom"
1901
+ },
1902
+ "tooltip": {
1903
+ "mode": "multi"
1904
+ }
1905
+ },
1906
+ "fieldConfig": {
1907
+ "defaults": {
1908
+ "unit": "percentunit",
1909
+ "max": 1,
1910
+ "custom": {
1911
+ "fillOpacity": 6,
1912
+ "lineWidth": 1,
1913
+ "showPoints": "never"
1914
+ }
1915
+ },
1916
+ "overrides": []
1917
+ }
1918
+ }
1919
+ }
1920
+ }
1921
+ },
1922
+ "panel-32": {
1923
+ "kind": "Panel",
1924
+ "spec": {
1925
+ "id": 32,
1926
+ "title": "Event-loop lag p99 per service (>0.5s = something blocking the loop)",
1927
+ "description": "",
1928
+ "links": [],
1929
+ "data": {
1930
+ "kind": "QueryGroup",
1931
+ "spec": {
1932
+ "queries": [
1933
+ {
1934
+ "kind": "PanelQuery",
1935
+ "spec": {
1936
+ "query": {
1937
+ "kind": "DataQuery",
1938
+ "group": "",
1939
+ "version": "v0",
1940
+ "spec": {
1941
+ "expr": "histogram_quantile(0.99, sum by (service, le) (rate(ply_tol_loop_lag_seconds_bucket[2m])))",
1942
+ "legendFormat": "{{service}}"
1943
+ }
1944
+ },
1945
+ "refId": "A",
1946
+ "hidden": false
1947
+ }
1948
+ }
1949
+ ],
1950
+ "transformations": [],
1951
+ "queryOptions": {}
1952
+ }
1953
+ },
1954
+ "vizConfig": {
1955
+ "kind": "VizConfig",
1956
+ "group": "timeseries",
1957
+ "version": "",
1958
+ "spec": {
1959
+ "options": {
1960
+ "legend": {
1961
+ "displayMode": "list",
1962
+ "placement": "bottom"
1963
+ },
1964
+ "tooltip": {
1965
+ "mode": "multi"
1966
+ }
1967
+ },
1968
+ "fieldConfig": {
1969
+ "defaults": {
1970
+ "unit": "s",
1971
+ "thresholds": {
1972
+ "mode": "absolute",
1973
+ "steps": [
1974
+ {
1975
+ "value": null,
1976
+ "color": "green"
1977
+ },
1978
+ {
1979
+ "value": 0.5,
1980
+ "color": "red"
1981
+ }
1982
+ ]
1983
+ },
1984
+ "custom": {
1985
+ "fillOpacity": 8,
1986
+ "lineWidth": 2
1987
+ }
1988
+ },
1989
+ "overrides": []
1990
+ }
1991
+ }
1992
+ }
1993
+ }
1994
+ },
1995
+ "panel-4": {
1996
+ "kind": "Panel",
1997
+ "spec": {
1998
+ "id": 4,
1999
+ "title": "Compliance proportion (grid)",
2000
+ "description": "",
2001
+ "links": [],
2002
+ "data": {
2003
+ "kind": "QueryGroup",
2004
+ "spec": {
2005
+ "queries": [
2006
+ {
2007
+ "kind": "PanelQuery",
2008
+ "spec": {
2009
+ "query": {
2010
+ "kind": "DataQuery",
2011
+ "group": "",
2012
+ "version": "v0",
2013
+ "spec": {
2014
+ "expr": "histogram_quantile(0.1, sum by (le) (rate(ply_tol_compliance_proportion_bucket{method=\"grid\"}[2m])))",
2015
+ "legendFormat": "p10"
2016
+ }
2017
+ },
2018
+ "refId": "A",
2019
+ "hidden": false
2020
+ }
2021
+ },
2022
+ {
2023
+ "kind": "PanelQuery",
2024
+ "spec": {
2025
+ "query": {
2026
+ "kind": "DataQuery",
2027
+ "group": "",
2028
+ "version": "v0",
2029
+ "spec": {
2030
+ "expr": "histogram_quantile(0.5, sum by (le) (rate(ply_tol_compliance_proportion_bucket{method=\"grid\"}[2m])))",
2031
+ "legendFormat": "p50"
2032
+ }
2033
+ },
2034
+ "refId": "B",
2035
+ "hidden": false
2036
+ }
2037
+ },
2038
+ {
2039
+ "kind": "PanelQuery",
2040
+ "spec": {
2041
+ "query": {
2042
+ "kind": "DataQuery",
2043
+ "group": "",
2044
+ "version": "v0",
2045
+ "spec": {
2046
+ "expr": "histogram_quantile(0.9, sum by (le) (rate(ply_tol_compliance_proportion_bucket{method=\"grid\"}[2m])))",
2047
+ "legendFormat": "p90"
2048
+ }
2049
+ },
2050
+ "refId": "C",
2051
+ "hidden": false
2052
+ }
2053
+ }
2054
+ ],
2055
+ "transformations": [],
2056
+ "queryOptions": {}
2057
+ }
2058
+ },
2059
+ "vizConfig": {
2060
+ "kind": "VizConfig",
2061
+ "group": "timeseries",
2062
+ "version": "",
2063
+ "spec": {
2064
+ "options": {
2065
+ "legend": {
2066
+ "displayMode": "list",
2067
+ "placement": "bottom"
2068
+ },
2069
+ "tooltip": {
2070
+ "mode": "multi"
2071
+ }
2072
+ },
2073
+ "fieldConfig": {
2074
+ "defaults": {
2075
+ "unit": "percentunit",
2076
+ "custom": {
2077
+ "fillOpacity": 8,
2078
+ "lineWidth": 2
2079
+ }
2080
+ },
2081
+ "overrides": []
2082
+ }
2083
+ }
2084
+ }
2085
+ }
2086
+ },
2087
+ "panel-5": {
2088
+ "kind": "Panel",
2089
+ "spec": {
2090
+ "id": 5,
2091
+ "title": "Median mask size (px) by kind",
2092
+ "description": "",
2093
+ "links": [],
2094
+ "data": {
2095
+ "kind": "QueryGroup",
2096
+ "spec": {
2097
+ "queries": [
2098
+ {
2099
+ "kind": "PanelQuery",
2100
+ "spec": {
2101
+ "query": {
2102
+ "kind": "DataQuery",
2103
+ "group": "",
2104
+ "version": "v0",
2105
+ "spec": {
2106
+ "expr": "histogram_quantile(0.5, sum by (kind, le) (rate(ply_tol_mask_px_bucket[2m])))",
2107
+ "legendFormat": "{{kind}}"
2108
+ }
2109
+ },
2110
+ "refId": "A",
2111
+ "hidden": false
2112
+ }
2113
+ }
2114
+ ],
2115
+ "transformations": [],
2116
+ "queryOptions": {}
2117
+ }
2118
+ },
2119
+ "vizConfig": {
2120
+ "kind": "VizConfig",
2121
+ "group": "timeseries",
2122
+ "version": "",
2123
+ "spec": {
2124
+ "options": {
2125
+ "legend": {
2126
+ "displayMode": "list",
2127
+ "placement": "bottom"
2128
+ },
2129
+ "tooltip": {
2130
+ "mode": "multi"
2131
+ }
2132
+ },
2133
+ "fieldConfig": {
2134
+ "defaults": {
2135
+ "custom": {
2136
+ "fillOpacity": 8,
2137
+ "lineWidth": 2
2138
+ }
2139
+ },
2140
+ "overrides": []
2141
+ }
2142
+ }
2143
+ }
2144
+ }
2145
+ },
2146
+ "panel-6": {
2147
+ "kind": "Panel",
2148
+ "spec": {
2149
+ "id": 6,
2150
+ "title": "Triton inference/s — per model + per pod",
2151
+ "description": "",
2152
+ "links": [],
2153
+ "data": {
2154
+ "kind": "QueryGroup",
2155
+ "spec": {
2156
+ "queries": [
2157
+ {
2158
+ "kind": "PanelQuery",
2159
+ "spec": {
2160
+ "query": {
2161
+ "kind": "DataQuery",
2162
+ "group": "",
2163
+ "version": "v0",
2164
+ "spec": {
2165
+ "expr": "sum by (model) (rate(nv_inference_count{pod=~\"tpi-ply-tol-triton-server.*\"}[2m]))",
2166
+ "legendFormat": "{{model}}"
2167
+ }
2168
+ },
2169
+ "refId": "A",
2170
+ "hidden": false
2171
+ }
2172
+ },
2173
+ {
2174
+ "kind": "PanelQuery",
2175
+ "spec": {
2176
+ "query": {
2177
+ "kind": "DataQuery",
2178
+ "group": "",
2179
+ "version": "v0",
2180
+ "spec": {
2181
+ "expr": "sum by (pod, model) (rate(nv_inference_count{pod=~\"tpi-ply-tol-triton-server.*\"}[2m]))",
2182
+ "legendFormat": "{{pod}} · {{model}}"
2183
+ }
2184
+ },
2185
+ "refId": "B",
2186
+ "hidden": false
2187
+ }
2188
+ }
2189
+ ],
2190
+ "transformations": [],
2191
+ "queryOptions": {}
2192
+ }
2193
+ },
2194
+ "vizConfig": {
2195
+ "kind": "VizConfig",
2196
+ "group": "timeseries",
2197
+ "version": "",
2198
+ "spec": {
2199
+ "options": {
2200
+ "legend": {
2201
+ "displayMode": "list",
2202
+ "placement": "bottom"
2203
+ },
2204
+ "tooltip": {
2205
+ "mode": "multi"
2206
+ }
2207
+ },
2208
+ "fieldConfig": {
2209
+ "defaults": {
2210
+ "custom": {
2211
+ "fillOpacity": 8,
2212
+ "lineWidth": 2
2213
+ }
2214
+ },
2215
+ "overrides": []
2216
+ }
2217
+ }
2218
+ }
2219
+ }
2220
+ },
2221
+ "panel-7": {
2222
+ "kind": "Panel",
2223
+ "spec": {
2224
+ "id": 7,
2225
+ "title": "Triton queue vs compute (ms per request)",
2226
+ "description": "",
2227
+ "links": [],
2228
+ "data": {
2229
+ "kind": "QueryGroup",
2230
+ "spec": {
2231
+ "queries": [
2232
+ {
2233
+ "kind": "PanelQuery",
2234
+ "spec": {
2235
+ "query": {
2236
+ "kind": "DataQuery",
2237
+ "group": "",
2238
+ "version": "v0",
2239
+ "spec": {
2240
+ "expr": "sum by (model) (rate(nv_inference_queue_duration_us{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / sum by (model) (rate(nv_inference_count{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / 1000",
2241
+ "legendFormat": "queue {{model}}"
2242
+ }
2243
+ },
2244
+ "refId": "A",
2245
+ "hidden": false
2246
+ }
2247
+ },
2248
+ {
2249
+ "kind": "PanelQuery",
2250
+ "spec": {
2251
+ "query": {
2252
+ "kind": "DataQuery",
2253
+ "group": "",
2254
+ "version": "v0",
2255
+ "spec": {
2256
+ "expr": "sum by (model) (rate(nv_inference_compute_infer_duration_us{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / sum by (model) (rate(nv_inference_count{pod=~\"tpi-ply-tol-triton-server.*\"}[2m])) / 1000",
2257
+ "legendFormat": "compute {{model}}"
2258
+ }
2259
+ },
2260
+ "refId": "B",
2261
+ "hidden": false
2262
+ }
2263
+ }
2264
+ ],
2265
+ "transformations": [],
2266
+ "queryOptions": {}
2267
+ }
2268
+ },
2269
+ "vizConfig": {
2270
+ "kind": "VizConfig",
2271
+ "group": "timeseries",
2272
+ "version": "",
2273
+ "spec": {
2274
+ "options": {
2275
+ "legend": {
2276
+ "displayMode": "list",
2277
+ "placement": "bottom"
2278
+ },
2279
+ "tooltip": {
2280
+ "mode": "multi"
2281
+ }
2282
+ },
2283
+ "fieldConfig": {
2284
+ "defaults": {
2285
+ "unit": "ms",
2286
+ "custom": {
2287
+ "fillOpacity": 8,
2288
+ "lineWidth": 2
2289
+ }
2290
+ },
2291
+ "overrides": []
2292
+ }
2293
+ }
2294
+ }
2295
+ }
2296
+ },
2297
+ "panel-8": {
2298
+ "kind": "Panel",
2299
+ "spec": {
2300
+ "id": 8,
2301
+ "title": "Triton GPU",
2302
+ "description": "",
2303
+ "links": [],
2304
+ "data": {
2305
+ "kind": "QueryGroup",
2306
+ "spec": {
2307
+ "queries": [
2308
+ {
2309
+ "kind": "PanelQuery",
2310
+ "spec": {
2311
+ "query": {
2312
+ "kind": "DataQuery",
2313
+ "group": "",
2314
+ "version": "v0",
2315
+ "spec": {
2316
+ "expr": "nv_gpu_utilization{pod=~\"tpi-ply-tol-triton-server.*\"}",
2317
+ "legendFormat": "gpu util {{pod}}"
2318
+ }
2319
+ },
2320
+ "refId": "A",
2321
+ "hidden": false
2322
+ }
2323
+ },
2324
+ {
2325
+ "kind": "PanelQuery",
2326
+ "spec": {
2327
+ "query": {
2328
+ "kind": "DataQuery",
2329
+ "group": "",
2330
+ "version": "v0",
2331
+ "spec": {
2332
+ "expr": "nv_gpu_memory_used_bytes{pod=~\"tpi-ply-tol-triton-server.*\"} / nv_gpu_memory_total_bytes{pod=~\"tpi-ply-tol-triton-server.*\"}",
2333
+ "legendFormat": "gpu mem frac {{pod}}"
2334
+ }
2335
+ },
2336
+ "refId": "B",
2337
+ "hidden": false
2338
+ }
2339
+ }
2340
+ ],
2341
+ "transformations": [],
2342
+ "queryOptions": {}
2343
+ }
2344
+ },
2345
+ "vizConfig": {
2346
+ "kind": "VizConfig",
2347
+ "group": "timeseries",
2348
+ "version": "",
2349
+ "spec": {
2350
+ "options": {
2351
+ "legend": {
2352
+ "displayMode": "list",
2353
+ "placement": "bottom"
2354
+ },
2355
+ "tooltip": {
2356
+ "mode": "multi"
2357
+ }
2358
+ },
2359
+ "fieldConfig": {
2360
+ "defaults": {
2361
+ "unit": "percentunit",
2362
+ "custom": {
2363
+ "fillOpacity": 8,
2364
+ "lineWidth": 2
2365
+ }
2366
+ },
2367
+ "overrides": [
2368
+ {
2369
+ "matcher": {
2370
+ "id": "byFrameRefID",
2371
+ "options": "B"
2372
+ },
2373
+ "properties": [
2374
+ {
2375
+ "id": "thresholds",
2376
+ "value": {
2377
+ "mode": "absolute",
2378
+ "steps": [
2379
+ {
2380
+ "color": "green"
2381
+ },
2382
+ {
2383
+ "color": "orange",
2384
+ "value": 0.85
2385
+ },
2386
+ {
2387
+ "color": "red",
2388
+ "value": 0.95
2389
+ }
2390
+ ]
2391
+ }
2392
+ },
2393
+ {
2394
+ "id": "custom.thresholdsStyle",
2395
+ "value": {
2396
+ "mode": "line"
2397
+ }
2398
+ }
2399
+ ]
2400
+ }
2401
+ ]
2402
+ }
2403
+ }
2404
+ }
2405
+ }
2406
+ },
2407
+ "panel-9": {
2408
+ "kind": "Panel",
2409
+ "spec": {
2410
+ "id": 9,
2411
+ "title": "Replicas — HPA + detector/placement-server",
2412
+ "description": "",
2413
+ "links": [],
2414
+ "data": {
2415
+ "kind": "QueryGroup",
2416
+ "spec": {
2417
+ "queries": [
2418
+ {
2419
+ "kind": "PanelQuery",
2420
+ "spec": {
2421
+ "query": {
2422
+ "kind": "DataQuery",
2423
+ "group": "",
2424
+ "version": "v0",
2425
+ "spec": {
2426
+ "expr": "kube_horizontalpodautoscaler_status_current_replicas{horizontalpodautoscaler=~\"tpi-ply-tol-.*|tpi-ply-placement-.*\"}",
2427
+ "legendFormat": "{{horizontalpodautoscaler}} (HPA current)"
2428
+ }
2429
+ },
2430
+ "refId": "A",
2431
+ "hidden": false
2432
+ }
2433
+ },
2434
+ {
2435
+ "kind": "PanelQuery",
2436
+ "spec": {
2437
+ "query": {
2438
+ "kind": "DataQuery",
2439
+ "group": "",
2440
+ "version": "v0",
2441
+ "spec": {
2442
+ "expr": "kube_deployment_status_replicas_ready{deployment=~\"tpi-ply-tol-.*|tpi-ply-placement-.*\"}",
2443
+ "legendFormat": "{{deployment}} (ready)"
2444
+ }
2445
+ },
2446
+ "refId": "B",
2447
+ "hidden": false
2448
+ }
2449
+ }
2450
+ ],
2451
+ "transformations": [],
2452
+ "queryOptions": {}
2453
+ }
2454
+ },
2455
+ "vizConfig": {
2456
+ "kind": "VizConfig",
2457
+ "group": "timeseries",
2458
+ "version": "",
2459
+ "spec": {
2460
+ "options": {
2461
+ "legend": {
2462
+ "displayMode": "list",
2463
+ "placement": "bottom"
2464
+ },
2465
+ "tooltip": {
2466
+ "mode": "multi"
2467
+ }
2468
+ },
2469
+ "fieldConfig": {
2470
+ "defaults": {
2471
+ "custom": {
2472
+ "fillOpacity": 8,
2473
+ "lineWidth": 2
2474
+ }
2475
+ },
2476
+ "overrides": []
2477
+ }
2478
+ }
2479
+ }
2480
+ }
2481
+ }
2482
+ },
2483
+ "layout": {
2484
+ "kind": "RowsLayout",
2485
+ "spec": {
2486
+ "rows": [
2487
+ {
2488
+ "kind": "RowsLayoutRow",
2489
+ "spec": {
2490
+ "title": "INFRA",
2491
+ "collapse": false,
2492
+ "layout": {
2493
+ "kind": "GridLayout",
2494
+ "spec": {
2495
+ "items": [
2496
+ {
2497
+ "kind": "GridLayoutItem",
2498
+ "spec": {
2499
+ "x": 0,
2500
+ "y": 0,
2501
+ "width": 24,
2502
+ "height": 7,
2503
+ "element": {
2504
+ "kind": "ElementReference",
2505
+ "name": "panel-9"
2506
+ }
2507
+ }
2508
+ },
2509
+ {
2510
+ "kind": "GridLayoutItem",
2511
+ "spec": {
2512
+ "x": 0,
2513
+ "y": 7,
2514
+ "width": 12,
2515
+ "height": 8,
2516
+ "element": {
2517
+ "kind": "ElementReference",
2518
+ "name": "panel-10"
2519
+ }
2520
+ }
2521
+ },
2522
+ {
2523
+ "kind": "GridLayoutItem",
2524
+ "spec": {
2525
+ "x": 12,
2526
+ "y": 7,
2527
+ "width": 12,
2528
+ "height": 8,
2529
+ "element": {
2530
+ "kind": "ElementReference",
2531
+ "name": "panel-11"
2532
+ }
2533
+ }
2534
+ }
2535
+ ]
2536
+ }
2537
+ }
2538
+ }
2539
+ },
2540
+ {
2541
+ "kind": "RowsLayoutRow",
2542
+ "spec": {
2543
+ "title": "PIPELINE HEALTH",
2544
+ "collapse": false,
2545
+ "layout": {
2546
+ "kind": "GridLayout",
2547
+ "spec": {
2548
+ "items": [
2549
+ {
2550
+ "kind": "GridLayoutItem",
2551
+ "spec": {
2552
+ "x": 0,
2553
+ "y": 0,
2554
+ "width": 8,
2555
+ "height": 9,
2556
+ "element": {
2557
+ "kind": "ElementReference",
2558
+ "name": "panel-27"
2559
+ }
2560
+ }
2561
+ },
2562
+ {
2563
+ "kind": "GridLayoutItem",
2564
+ "spec": {
2565
+ "x": 8,
2566
+ "y": 0,
2567
+ "width": 16,
2568
+ "height": 9,
2569
+ "element": {
2570
+ "kind": "ElementReference",
2571
+ "name": "panel-26"
2572
+ }
2573
+ }
2574
+ },
2575
+ {
2576
+ "kind": "GridLayoutItem",
2577
+ "spec": {
2578
+ "x": 0,
2579
+ "y": 9,
2580
+ "width": 24,
2581
+ "height": 8,
2582
+ "element": {
2583
+ "kind": "ElementReference",
2584
+ "name": "panel-30"
2585
+ }
2586
+ }
2587
+ }
2588
+ ]
2589
+ }
2590
+ }
2591
+ }
2592
+ },
2593
+ {
2594
+ "kind": "RowsLayoutRow",
2595
+ "spec": {
2596
+ "title": "PUB/SUB (stackdriver: 3-5 min delayed)",
2597
+ "collapse": false,
2598
+ "layout": {
2599
+ "kind": "GridLayout",
2600
+ "spec": {
2601
+ "items": [
2602
+ {
2603
+ "kind": "GridLayoutItem",
2604
+ "spec": {
2605
+ "x": 0,
2606
+ "y": 0,
2607
+ "width": 12,
2608
+ "height": 8,
2609
+ "element": {
2610
+ "kind": "ElementReference",
2611
+ "name": "panel-13"
2612
+ }
2613
+ }
2614
+ },
2615
+ {
2616
+ "kind": "GridLayoutItem",
2617
+ "spec": {
2618
+ "x": 12,
2619
+ "y": 0,
2620
+ "width": 12,
2621
+ "height": 8,
2622
+ "element": {
2623
+ "kind": "ElementReference",
2624
+ "name": "panel-14"
2625
+ }
2626
+ }
2627
+ }
2628
+ ]
2629
+ }
2630
+ }
2631
+ }
2632
+ },
2633
+ {
2634
+ "kind": "RowsLayoutRow",
2635
+ "spec": {
2636
+ "title": "FLOW & LATENCY",
2637
+ "collapse": false,
2638
+ "layout": {
2639
+ "kind": "GridLayout",
2640
+ "spec": {
2641
+ "items": [
2642
+ {
2643
+ "kind": "GridLayoutItem",
2644
+ "spec": {
2645
+ "x": 0,
2646
+ "y": 0,
2647
+ "width": 24,
2648
+ "height": 9,
2649
+ "element": {
2650
+ "kind": "ElementReference",
2651
+ "name": "panel-25"
2652
+ }
2653
+ }
2654
+ },
2655
+ {
2656
+ "kind": "GridLayoutItem",
2657
+ "spec": {
2658
+ "x": 0,
2659
+ "y": 9,
2660
+ "width": 12,
2661
+ "height": 8,
2662
+ "element": {
2663
+ "kind": "ElementReference",
2664
+ "name": "panel-18"
2665
+ }
2666
+ }
2667
+ },
2668
+ {
2669
+ "kind": "GridLayoutItem",
2670
+ "spec": {
2671
+ "x": 12,
2672
+ "y": 9,
2673
+ "width": 12,
2674
+ "height": 8,
2675
+ "element": {
2676
+ "kind": "ElementReference",
2677
+ "name": "panel-23"
2678
+ }
2679
+ }
2680
+ },
2681
+ {
2682
+ "kind": "GridLayoutItem",
2683
+ "spec": {
2684
+ "x": 0,
2685
+ "y": 17,
2686
+ "width": 12,
2687
+ "height": 8,
2688
+ "element": {
2689
+ "kind": "ElementReference",
2690
+ "name": "panel-19"
2691
+ }
2692
+ }
2693
+ },
2694
+ {
2695
+ "kind": "GridLayoutItem",
2696
+ "spec": {
2697
+ "x": 12,
2698
+ "y": 17,
2699
+ "width": 12,
2700
+ "height": 8,
2701
+ "element": {
2702
+ "kind": "ElementReference",
2703
+ "name": "panel-21"
2704
+ }
2705
+ }
2706
+ },
2707
+ {
2708
+ "kind": "GridLayoutItem",
2709
+ "spec": {
2710
+ "x": 0,
2711
+ "y": 25,
2712
+ "width": 12,
2713
+ "height": 8,
2714
+ "element": {
2715
+ "kind": "ElementReference",
2716
+ "name": "panel-24"
2717
+ }
2718
+ }
2719
+ },
2720
+ {
2721
+ "kind": "GridLayoutItem",
2722
+ "spec": {
2723
+ "x": 12,
2724
+ "y": 25,
2725
+ "width": 12,
2726
+ "height": 8,
2727
+ "element": {
2728
+ "kind": "ElementReference",
2729
+ "name": "panel-22"
2730
+ }
2731
+ }
2732
+ },
2733
+ {
2734
+ "kind": "GridLayoutItem",
2735
+ "spec": {
2736
+ "x": 0,
2737
+ "y": 33,
2738
+ "width": 12,
2739
+ "height": 8,
2740
+ "element": {
2741
+ "kind": "ElementReference",
2742
+ "name": "panel-32"
2743
+ }
2744
+ }
2745
+ }
2746
+ ]
2747
+ }
2748
+ }
2749
+ }
2750
+ },
2751
+ {
2752
+ "kind": "RowsLayoutRow",
2753
+ "spec": {
2754
+ "title": "QUALITY & ALIGNMENT",
2755
+ "collapse": false,
2756
+ "layout": {
2757
+ "kind": "GridLayout",
2758
+ "spec": {
2759
+ "items": [
2760
+ {
2761
+ "kind": "GridLayoutItem",
2762
+ "spec": {
2763
+ "x": 0,
2764
+ "y": 0,
2765
+ "width": 12,
2766
+ "height": 8,
2767
+ "element": {
2768
+ "kind": "ElementReference",
2769
+ "name": "panel-28"
2770
+ }
2771
+ }
2772
+ },
2773
+ {
2774
+ "kind": "GridLayoutItem",
2775
+ "spec": {
2776
+ "x": 12,
2777
+ "y": 0,
2778
+ "width": 12,
2779
+ "height": 8,
2780
+ "element": {
2781
+ "kind": "ElementReference",
2782
+ "name": "panel-3"
2783
+ }
2784
+ }
2785
+ },
2786
+ {
2787
+ "kind": "GridLayoutItem",
2788
+ "spec": {
2789
+ "x": 0,
2790
+ "y": 8,
2791
+ "width": 12,
2792
+ "height": 8,
2793
+ "element": {
2794
+ "kind": "ElementReference",
2795
+ "name": "panel-16"
2796
+ }
2797
+ }
2798
+ },
2799
+ {
2800
+ "kind": "GridLayoutItem",
2801
+ "spec": {
2802
+ "x": 12,
2803
+ "y": 8,
2804
+ "width": 12,
2805
+ "height": 8,
2806
+ "element": {
2807
+ "kind": "ElementReference",
2808
+ "name": "panel-17"
2809
+ }
2810
+ }
2811
+ },
2812
+ {
2813
+ "kind": "GridLayoutItem",
2814
+ "spec": {
2815
+ "x": 0,
2816
+ "y": 16,
2817
+ "width": 12,
2818
+ "height": 8,
2819
+ "element": {
2820
+ "kind": "ElementReference",
2821
+ "name": "panel-4"
2822
+ }
2823
+ }
2824
+ },
2825
+ {
2826
+ "kind": "GridLayoutItem",
2827
+ "spec": {
2828
+ "x": 12,
2829
+ "y": 16,
2830
+ "width": 12,
2831
+ "height": 8,
2832
+ "element": {
2833
+ "kind": "ElementReference",
2834
+ "name": "panel-5"
2835
+ }
2836
+ }
2837
+ },
2838
+ {
2839
+ "kind": "GridLayoutItem",
2840
+ "spec": {
2841
+ "x": 0,
2842
+ "y": 24,
2843
+ "width": 12,
2844
+ "height": 8,
2845
+ "element": {
2846
+ "kind": "ElementReference",
2847
+ "name": "panel-31"
2848
+ }
2849
+ }
2850
+ }
2851
+ ]
2852
+ }
2853
+ }
2854
+ }
2855
+ },
2856
+ {
2857
+ "kind": "RowsLayoutRow",
2858
+ "spec": {
2859
+ "title": "TRITON / GPU",
2860
+ "collapse": false,
2861
+ "layout": {
2862
+ "kind": "GridLayout",
2863
+ "spec": {
2864
+ "items": [
2865
+ {
2866
+ "kind": "GridLayoutItem",
2867
+ "spec": {
2868
+ "x": 0,
2869
+ "y": 0,
2870
+ "width": 12,
2871
+ "height": 8,
2872
+ "element": {
2873
+ "kind": "ElementReference",
2874
+ "name": "panel-6"
2875
+ }
2876
+ }
2877
+ },
2878
+ {
2879
+ "kind": "GridLayoutItem",
2880
+ "spec": {
2881
+ "x": 12,
2882
+ "y": 0,
2883
+ "width": 12,
2884
+ "height": 8,
2885
+ "element": {
2886
+ "kind": "ElementReference",
2887
+ "name": "panel-7"
2888
+ }
2889
+ }
2890
+ },
2891
+ {
2892
+ "kind": "GridLayoutItem",
2893
+ "spec": {
2894
+ "x": 0,
2895
+ "y": 8,
2896
+ "width": 12,
2897
+ "height": 8,
2898
+ "element": {
2899
+ "kind": "ElementReference",
2900
+ "name": "panel-29"
2901
+ }
2902
+ }
2903
+ },
2904
+ {
2905
+ "kind": "GridLayoutItem",
2906
+ "spec": {
2907
+ "x": 12,
2908
+ "y": 8,
2909
+ "width": 12,
2910
+ "height": 8,
2911
+ "element": {
2912
+ "kind": "ElementReference",
2913
+ "name": "panel-8"
2914
+ }
2915
+ }
2916
+ },
2917
+ {
2918
+ "kind": "GridLayoutItem",
2919
+ "spec": {
2920
+ "x": 0,
2921
+ "y": 16,
2922
+ "width": 12,
2923
+ "height": 8,
2924
+ "element": {
2925
+ "kind": "ElementReference",
2926
+ "name": "panel-15"
2927
+ }
2928
+ }
2929
+ }
2930
+ ]
2931
+ }
2932
+ }
2933
+ }
2934
+ }
2935
+ ]
2936
+ }
2937
+ },
2938
+ "links": [],
2939
+ "liveNow": false,
2940
+ "preload": false,
2941
+ "tags": [
2942
+ "tpi",
2943
+ "ply-tol"
2944
+ ],
2945
+ "timeSettings": {
2946
+ "timezone": "browser",
2947
+ "from": "now-6h",
2948
+ "to": "now",
2949
+ "autoRefresh": "1m",
2950
+ "autoRefreshIntervals": [
2951
+ "5s",
2952
+ "10s",
2953
+ "30s",
2954
+ "1m",
2955
+ "5m",
2956
+ "15m",
2957
+ "30m",
2958
+ "1h",
2959
+ "2h",
2960
+ "1d"
2961
+ ],
2962
+ "hideTimepicker": false,
2963
+ "fiscalYearStartMonth": 0
2964
+ },
2965
+ "title": "TPI Ply Tolerancing (tpi-ply-tol) v13",
2966
+ "variables": []
2967
+ }
2968
+ }