main
json 1,405 lines 34.6 KB
Raw
1 {
2 "annotations": {
3 "list": [
4 {
5 "builtIn": 1,
6 "datasource": {
7 "type": "grafana",
8 "uid": "-- Grafana --"
9 },
10 "enable": true,
11 "hide": true,
12 "iconColor": "rgba(0, 211, 255, 1)",
13 "name": "Annotations & Alerts",
14 "type": "dashboard"
15 }
16 ]
17 },
18 "editable": true,
19 "fiscalYearStartMonth": 0,
20 "graphTooltip": 0,
21 "id": 26,
22 "links": [],
23 "panels": [
24 {
25 "collapsed": false,
26 "gridPos": {
27 "h": 1,
28 "w": 24,
29 "x": 0,
30 "y": 0
31 },
32 "id": 9,
33 "panels": [],
34 "title": "Graph: E2E latency over time ",
35 "type": "row"
36 },
37 {
38 "datasource": {
39 "type": "prometheus",
40 "uid": "${DS_PROMETHEUS}"
41 },
42 "description": "End-to-End latency of requests, showing average and key percentiles over time.",
43 "fieldConfig": {
44 "defaults": {
45 "color": {
46 "mode": "palette-classic"
47 },
48 "custom": {
49 "axisBorderShow": false,
50 "axisCenteredZero": false,
51 "axisColorMode": "text",
52 "axisLabel": "Latency",
53 "axisPlacement": "auto",
54 "barAlignment": 0,
55 "barWidthFactor": 0.6,
56 "drawStyle": "line",
57 "fillOpacity": 18,
58 "gradientMode": "none",
59 "hideFrom": {
60 "legend": false,
61 "tooltip": false,
62 "viz": false
63 },
64 "insertNulls": false,
65 "lineInterpolation": "linear",
66 "lineWidth": 1,
67 "pointSize": 5,
68 "scaleDistribution": {
69 "type": "linear"
70 },
71 "showPoints": "auto",
72 "spanNulls": true,
73 "stacking": {
74 "group": "A",
75 "mode": "none"
76 },
77 "thresholdsStyle": {
78 "mode": "off"
79 }
80 },
81 "decimals": 2,
82 "mappings": [],
83 "thresholds": {
84 "mode": "absolute",
85 "steps": [
86 {
87 "color": "green",
88 "value": null
89 },
90 {
91 "color": "red",
92 "value": 80
93 }
94 ]
95 },
96 "unit": "s"
97 },
98 "overrides": []
99 },
100 "gridPos": {
101 "h": 8,
102 "w": 12,
103 "x": 0,
104 "y": 1
105 },
106 "id": 1,
107 "options": {
108 "legend": {
109 "calcs": [],
110 "displayMode": "list",
111 "placement": "bottom",
112 "showLegend": true
113 },
114 "tooltip": {
115 "mode": "single",
116 "sort": "none"
117 }
118 },
119 "pluginVersion": "11.3.0",
120 "targets": [
121 {
122 "datasource": {
123 "type": "prometheus",
124 "uid": "${DS_PROMETHEUS}"
125 },
126 "editorMode": "code",
127 "expr": "rate(vllm:e2e_request_latency_seconds_sum[$__interval]) / rate(vllm:e2e_request_latency_seconds_count[$__interval])",
128 "format": "table",
129 "legendFormat": "E2E Latency",
130 "range": true,
131 "refId": "A"
132 }
133 ],
134 "title": "E2E Latency over Time",
135 "type": "timeseries"
136 },
137 {
138 "datasource": {
139 "type": "prometheus",
140 "uid": "${DS_PROMETHEUS}"
141 },
142 "description": "99th percentile of End-to-End request latency over the selected time range.",
143 "fieldConfig": {
144 "defaults": {
145 "color": {
146 "mode": "thresholds"
147 },
148 "decimals": 2,
149 "displayName": "P99",
150 "mappings": [],
151 "thresholds": {
152 "mode": "absolute",
153 "steps": [
154 {
155 "color": "green",
156 "value": null
157 },
158 {
159 "color": "red",
160 "value": 80
161 }
162 ]
163 },
164 "unit": "s"
165 },
166 "overrides": []
167 },
168 "gridPos": {
169 "h": 4,
170 "w": 6,
171 "x": 12,
172 "y": 1
173 },
174 "id": 5,
175 "options": {
176 "colorMode": "value",
177 "graphMode": "area",
178 "justifyMode": "auto",
179 "orientation": "auto",
180 "percentChangeColorMode": "standard",
181 "reduceOptions": {
182 "calcs": [
183 "lastNotNull"
184 ],
185 "fields": "",
186 "values": false
187 },
188 "showPercentChange": false,
189 "textMode": "auto",
190 "wideLayout": true
191 },
192 "pluginVersion": "11.3.0",
193 "targets": [
194 {
195 "editorMode": "code",
196 "expr": "histogram_quantile(0.99, sum by(le) (rate(vllm:e2e_request_latency_seconds_bucket[$__range])))",
197 "legendFormat": "__auto",
198 "range": true,
199 "refId": "A"
200 }
201 ],
202 "title": "E2E Latency (P99)",
203 "type": "stat"
204 },
205 {
206 "datasource": {
207 "type": "prometheus",
208 "uid": "${DS_PROMETHEUS}"
209 },
210 "description": "90th percentile of End-to-End request latency over the selected time range.",
211 "fieldConfig": {
212 "defaults": {
213 "color": {
214 "mode": "thresholds"
215 },
216 "decimals": 2,
217 "displayName": "P90",
218 "mappings": [],
219 "thresholds": {
220 "mode": "absolute",
221 "steps": [
222 {
223 "color": "green",
224 "value": null
225 },
226 {
227 "color": "red",
228 "value": 80
229 }
230 ]
231 },
232 "unit": "s"
233 },
234 "overrides": []
235 },
236 "gridPos": {
237 "h": 4,
238 "w": 6,
239 "x": 18,
240 "y": 1
241 },
242 "id": 4,
243 "options": {
244 "colorMode": "value",
245 "graphMode": "area",
246 "justifyMode": "auto",
247 "orientation": "auto",
248 "percentChangeColorMode": "standard",
249 "reduceOptions": {
250 "calcs": [
251 "lastNotNull"
252 ],
253 "fields": "",
254 "values": false
255 },
256 "showPercentChange": false,
257 "textMode": "auto",
258 "wideLayout": true
259 },
260 "pluginVersion": "11.3.0",
261 "targets": [
262 {
263 "editorMode": "code",
264 "expr": "histogram_quantile(0.90, sum by(le) (rate(vllm:e2e_request_latency_seconds_bucket[$__range])))",
265 "legendFormat": "__auto",
266 "range": true,
267 "refId": "A"
268 }
269 ],
270 "title": "E2E Latency (P90)",
271 "type": "stat"
272 },
273 {
274 "datasource": {
275 "type": "prometheus",
276 "uid": "${DS_PROMETHEUS}"
277 },
278 "description": "Average End-to-End request latency over the selected time range.",
279 "fieldConfig": {
280 "defaults": {
281 "color": {
282 "mode": "thresholds"
283 },
284 "decimals": 2,
285 "displayName": "Average",
286 "mappings": [],
287 "thresholds": {
288 "mode": "absolute",
289 "steps": [
290 {
291 "color": "green",
292 "value": null
293 },
294 {
295 "color": "red",
296 "value": 80
297 }
298 ]
299 },
300 "unit": "s"
301 },
302 "overrides": []
303 },
304 "gridPos": {
305 "h": 4,
306 "w": 6,
307 "x": 12,
308 "y": 5
309 },
310 "id": 2,
311 "options": {
312 "colorMode": "value",
313 "graphMode": "area",
314 "justifyMode": "auto",
315 "orientation": "auto",
316 "percentChangeColorMode": "standard",
317 "reduceOptions": {
318 "calcs": [
319 "lastNotNull"
320 ],
321 "fields": "",
322 "values": false
323 },
324 "showPercentChange": false,
325 "textMode": "auto",
326 "wideLayout": true
327 },
328 "pluginVersion": "11.3.0",
329 "targets": [
330 {
331 "editorMode": "code",
332 "expr": "(sum(increase(vllm:e2e_request_latency_seconds_sum[$__range])) / sum(increase(vllm:e2e_request_latency_seconds_count[$__range])))",
333 "legendFormat": "Average E2E Latency",
334 "range": true,
335 "refId": "A"
336 }
337 ],
338 "title": "E2E Latency (Avg)",
339 "type": "stat"
340 },
341 {
342 "datasource": {
343 "type": "prometheus",
344 "uid": "${DS_PROMETHEUS}"
345 },
346 "description": "50th percentile (median) of End-to-End request latency over the selected time range.",
347 "fieldConfig": {
348 "defaults": {
349 "color": {
350 "mode": "thresholds"
351 },
352 "decimals": 2,
353 "displayName": "P50",
354 "mappings": [],
355 "thresholds": {
356 "mode": "absolute",
357 "steps": [
358 {
359 "color": "green",
360 "value": null
361 },
362 {
363 "color": "red",
364 "value": 80
365 }
366 ]
367 },
368 "unit": "s"
369 },
370 "overrides": []
371 },
372 "gridPos": {
373 "h": 4,
374 "w": 6,
375 "x": 18,
376 "y": 5
377 },
378 "id": 3,
379 "options": {
380 "colorMode": "value",
381 "graphMode": "area",
382 "justifyMode": "auto",
383 "orientation": "auto",
384 "percentChangeColorMode": "standard",
385 "reduceOptions": {
386 "calcs": [
387 "lastNotNull"
388 ],
389 "fields": "",
390 "values": false
391 },
392 "showPercentChange": false,
393 "textMode": "auto",
394 "wideLayout": true
395 },
396 "pluginVersion": "11.3.0",
397 "targets": [
398 {
399 "editorMode": "code",
400 "expr": "histogram_quantile(0.50, sum by(le) (rate(vllm:e2e_request_latency_seconds_bucket[$__range])))",
401 "legendFormat": "__auto",
402 "range": true,
403 "refId": "A"
404 }
405 ],
406 "title": "E2E Latency (P50)",
407 "type": "stat"
408 },
409 {
410 "collapsed": false,
411 "gridPos": {
412 "h": 1,
413 "w": 24,
414 "x": 0,
415 "y": 9
416 },
417 "id": 8,
418 "panels": [],
419 "title": "Graph: TTFT(Time To First Token) over time ",
420 "type": "row"
421 },
422 {
423 "datasource": {
424 "type": "prometheus",
425 "uid": "${DS_PROMETHEUS}"
426 },
427 "description": "Time to first token (TTFT) latency, showing average and key percentiles over time.",
428 "fieldConfig": {
429 "defaults": {
430 "color": {
431 "mode": "palette-classic"
432 },
433 "custom": {
434 "axisBorderShow": false,
435 "axisCenteredZero": false,
436 "axisColorMode": "text",
437 "axisLabel": "Latency",
438 "axisPlacement": "auto",
439 "barAlignment": 0,
440 "barWidthFactor": 0.6,
441 "drawStyle": "line",
442 "fillOpacity": 18,
443 "gradientMode": "none",
444 "hideFrom": {
445 "legend": false,
446 "tooltip": false,
447 "viz": false
448 },
449 "insertNulls": false,
450 "lineInterpolation": "linear",
451 "lineWidth": 1,
452 "pointSize": 5,
453 "scaleDistribution": {
454 "type": "linear"
455 },
456 "showPoints": "auto",
457 "spanNulls": false,
458 "stacking": {
459 "group": "A",
460 "mode": "none"
461 },
462 "thresholdsStyle": {
463 "mode": "off"
464 }
465 },
466 "decimals": 2,
467 "mappings": [],
468 "thresholds": {
469 "mode": "absolute",
470 "steps": [
471 {
472 "color": "green",
473 "value": null
474 },
475 {
476 "color": "red",
477 "value": 80
478 }
479 ]
480 },
481 "unit": "s"
482 },
483 "overrides": []
484 },
485 "gridPos": {
486 "h": 8,
487 "w": 12,
488 "x": 0,
489 "y": 10
490 },
491 "id": 10,
492 "options": {
493 "legend": {
494 "calcs": [],
495 "displayMode": "list",
496 "placement": "bottom",
497 "showLegend": true
498 },
499 "tooltip": {
500 "mode": "single",
501 "sort": "none"
502 }
503 },
504 "pluginVersion": "11.3.0",
505 "targets": [
506 {
507 "editorMode": "code",
508 "expr": "rate(vllm:time_to_first_token_seconds_sum[$__interval]) / rate(vllm:time_to_first_token_seconds_count[$__interval])",
509 "format": "table",
510 "legendFormat": "TTFT (Avg)",
511 "range": true,
512 "refId": "A"
513 }
514 ],
515 "title": "TTFT Over Time",
516 "type": "timeseries"
517 },
518 {
519 "datasource": {
520 "type": "prometheus",
521 "uid": "${DS_PROMETHEUS}"
522 },
523 "description": "99th percentile of Time To First Token latency over the selected time range.",
524 "fieldConfig": {
525 "defaults": {
526 "color": {
527 "mode": "thresholds"
528 },
529 "decimals": 2,
530 "displayName": "P99",
531 "mappings": [],
532 "thresholds": {
533 "mode": "absolute",
534 "steps": [
535 {
536 "color": "green",
537 "value": null
538 },
539 {
540 "color": "red",
541 "value": 80
542 }
543 ]
544 },
545 "unit": "s"
546 },
547 "overrides": []
548 },
549 "gridPos": {
550 "h": 4,
551 "w": 6,
552 "x": 12,
553 "y": 10
554 },
555 "id": 14,
556 "options": {
557 "colorMode": "value",
558 "graphMode": "area",
559 "justifyMode": "auto",
560 "orientation": "auto",
561 "percentChangeColorMode": "standard",
562 "reduceOptions": {
563 "calcs": [
564 "lastNotNull"
565 ],
566 "fields": "",
567 "values": false
568 },
569 "showPercentChange": false,
570 "textMode": "auto",
571 "wideLayout": true
572 },
573 "pluginVersion": "11.3.0",
574 "targets": [
575 {
576 "editorMode": "code",
577 "expr": "histogram_quantile(0.99, sum by(le) (rate(vllm:time_to_first_token_seconds_bucket[$__range])))",
578 "legendFormat": "TTFT (p99)",
579 "range": true,
580 "refId": "A"
581 }
582 ],
583 "title": "TTFT (P99)",
584 "type": "stat"
585 },
586 {
587 "datasource": {
588 "type": "prometheus",
589 "uid": "${DS_PROMETHEUS}"
590 },
591 "description": "90th percentile of Time To First Token latency over the selected time range.",
592 "fieldConfig": {
593 "defaults": {
594 "color": {
595 "mode": "thresholds"
596 },
597 "decimals": 2,
598 "displayName": "P90",
599 "mappings": [],
600 "thresholds": {
601 "mode": "absolute",
602 "steps": [
603 {
604 "color": "green",
605 "value": null
606 },
607 {
608 "color": "red",
609 "value": 80
610 }
611 ]
612 },
613 "unit": "s"
614 },
615 "overrides": []
616 },
617 "gridPos": {
618 "h": 4,
619 "w": 6,
620 "x": 18,
621 "y": 10
622 },
623 "id": 13,
624 "options": {
625 "colorMode": "value",
626 "graphMode": "area",
627 "justifyMode": "auto",
628 "orientation": "auto",
629 "percentChangeColorMode": "standard",
630 "reduceOptions": {
631 "calcs": [
632 "lastNotNull"
633 ],
634 "fields": "",
635 "values": false
636 },
637 "showPercentChange": false,
638 "textMode": "auto",
639 "wideLayout": true
640 },
641 "pluginVersion": "11.3.0",
642 "targets": [
643 {
644 "editorMode": "code",
645 "expr": "histogram_quantile(0.90, sum by(le) (rate(vllm:time_to_first_token_seconds_bucket[$__range])))",
646 "legendFormat": "TTFT (p90)",
647 "range": true,
648 "refId": "A"
649 }
650 ],
651 "title": "TTFT (P90)",
652 "type": "stat"
653 },
654 {
655 "datasource": {
656 "type": "prometheus",
657 "uid": "${DS_PROMETHEUS}"
658 },
659 "description": "Average Time To First Token latency over the selected time range.",
660 "fieldConfig": {
661 "defaults": {
662 "color": {
663 "mode": "thresholds"
664 },
665 "decimals": 2,
666 "displayName": "Average",
667 "mappings": [],
668 "thresholds": {
669 "mode": "absolute",
670 "steps": [
671 {
672 "color": "green",
673 "value": null
674 },
675 {
676 "color": "red",
677 "value": 80
678 }
679 ]
680 },
681 "unit": "s"
682 },
683 "overrides": []
684 },
685 "gridPos": {
686 "h": 4,
687 "w": 6,
688 "x": 12,
689 "y": 14
690 },
691 "id": 11,
692 "options": {
693 "colorMode": "value",
694 "graphMode": "area",
695 "justifyMode": "auto",
696 "orientation": "auto",
697 "percentChangeColorMode": "standard",
698 "reduceOptions": {
699 "calcs": [
700 "lastNotNull"
701 ],
702 "fields": "",
703 "values": false
704 },
705 "showPercentChange": false,
706 "textMode": "auto",
707 "wideLayout": true
708 },
709 "pluginVersion": "11.3.0",
710 "targets": [
711 {
712 "editorMode": "code",
713 "expr": "(sum(increase(vllm:time_to_first_token_seconds_sum[$__range])) / sum(increase(vllm:time_to_first_token_seconds_count[$__range])))",
714 "legendFormat": "__auto",
715 "range": true,
716 "refId": "A"
717 }
718 ],
719 "title": "TTFT (Avg)",
720 "type": "stat"
721 },
722 {
723 "datasource": {
724 "type": "prometheus",
725 "uid": "${DS_PROMETHEUS}"
726 },
727 "description": "50th percentile (median) of Time To First Token latency over the selected time range.",
728 "fieldConfig": {
729 "defaults": {
730 "color": {
731 "mode": "thresholds"
732 },
733 "displayName": "P50",
734 "mappings": [],
735 "thresholds": {
736 "mode": "absolute",
737 "steps": [
738 {
739 "color": "green",
740 "value": null
741 },
742 {
743 "color": "red",
744 "value": 80
745 }
746 ]
747 },
748 "unit": "s"
749 },
750 "overrides": []
751 },
752 "gridPos": {
753 "h": 4,
754 "w": 6,
755 "x": 18,
756 "y": 14
757 },
758 "id": 12,
759 "options": {
760 "colorMode": "value",
761 "graphMode": "area",
762 "justifyMode": "auto",
763 "orietitletChangeColorMode": "standard",
764 "reduceOptions": {
765 "calcs": [
766 "lastNotNull"
767 ],
768 "fields": "",
769 "values": false
770 },
771 "showPercentChange": false,
772 "textMode": "auto",
773 "wideLayout": true
774 },
775 "pluginVersion": "11.3.0",
776 "targets": [
777 {
778 "editorMode": "code",
779 "expr": "histogram_quantile(0.50, sum by(le) (rate(vllm:time_to_first_token_seconds_bucket[$__range])))",
780 "legendFormat": "__auto",
781 "range": true,
782 "refId": "A"
783 }
784 ],
785 "title": "TTFT (P50)",
786 "type": "stat"
787 },
788 {
789 "collapsed": false,
790 "gridPos": {
791 "h": 1,
792 "w": 24,
793 "x": 0,
794 "y": 18
795 },
796 "id": 7,
797 "panels": [],
798 "title": "ITL (Iteration Latency / Time Per Output Token) over time.",
799 "type": "row"
800 },
801 {
802 "datasource": {
803 "type": "prometheus",
804 "uid": "${DS_PROMETHEUS}"
805 },
806 "description": "Iteration latency, or average time taken to generate a single output token, with percentiles.",
807 "fieldConfig": {
808 "defaults": {
809 "color": {
810 "mode": "palette-classic"
811 },
812 "custom": {
813 "axisBorderShow": false,
814 "axisCenteredZero": false,
815 "axisColorMode": "text",
816 "axisLabel": "Latency",
817 "axisPlacement": "auto",
818 "barAlignment": 0,
819 "barWidthFactor": 0.6,
820 "drawStyle": "line",
821 "fillOpacity": 17,
822 "gradientMode": "none",
823 "hideFrom": {
824 "legend": false,
825 "tooltip": false,
826 "viz": false
827 },
828 "insertNulls": false,
829 "lineInterpolation": "linear",
830 "lineWidth": 1,
831 "pointSize": 5,
832 "scaleDistribution": {
833 "type": "linear"
834 },
835 "showPoints": "auto",
836 "spanNulls": false,
837 "stacking": {
838 "group": "A",
839 "mode": "none"
840 },
841 "thresholdsStyle": {
842 "mode": "off"
843 }
844 },
845 "decimals": 2,
846 "mappings": [],
847 "thresholds": {
848 "mode": "absolute",
849 "steps": [
850 {
851 "color": "green",
852 "value": null
853 },
854 {
855 "color": "red",
856 "value": 80
857 }
858 ]
859 },
860 "unit": "s"
861 },
862 "overrides": []
863 },
864 "gridPos": {
865 "h": 8,
866 "w": 12,
867 "x": 0,
868 "y": 19
869 },
870 "id": 15,
871 "options": {
872 "legend": {
873 "calcs": [],
874 "displayMode": "list",
875 "placement": "bottom",
876 "showLegend": true
877 },
878 "tooltip": {
879 "mode": "single",
880 "sort": "none"
881 }
882 },
883 "pluginVersion": "11.3.0",
884 "targets": [
885 {
886 "editorMode": "code",
887 "expr": "rate(vllm:inter_token_latency_seconds_sum[$__interval]) / rate(vllm:inter_token_latency_seconds_count[$__interval])",
888 "legendFormat": "ITL (Avg)",
889 "range": true,
890 "refId": "A"
891 },
892 {
893 "datasource": {
894 "type": "prometheus",
895 "uid": "${DS_PROMETHEUS}"
896 },
897 "editorMode": "code",
898 "expr": "histogram_quantile(0.50, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__interval])))",
899 "hide": false,
900 "instant": false,
901 "legendFormat": "ITL (p50)",
902 "range": true,
903 "refId": "B"
904 },
905 {
906 "datasource": {
907 "type": "prometheus",
908 "uid": "${DS_PROMETHEUS}"
909 },
910 "editorMode": "code",
911 "expr": "histogram_quantile(0.90, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__interval])))",
912 "hide": false,
913 "instant": false,
914 "legendFormat": "ITL (p90)",
915 "range": true,
916 "refId": "C"
917 },
918 {
919 "datasource": {
920 "type": "prometheus",
921 "uid": "${DS_PROMETHEUS}"
922 },
923 "editorMode": "code",
924 "expr": "histogram_quantile(0.99, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__interval])))",
925 "hide": false,
926 "instant": false,
927 "legendFormat": "ITL (p99)",
928 "range": true,
929 "refId": "D"
930 }
931 ],
932 "title": "ITL (Time Per Output Token) Over Time",
933 "type": "timeseries"
934 },
935 {
936 "datasource": {
937 "type": "prometheus",
938 "uid": "${DS_PROMETHEUS}"
939 },
940 "description": "90th percentile of Iteration Latency over the selected time range.",
941 "fieldConfig": {
942 "defaults": {
943 "color": {
944 "mode": "thresholds"
945 },
946 "decimals": 2,
947 "mappings": [],
948 "thresholds": {
949 "mode": "absolute",
950 "steps": [
951 {
952 "color": "green",
953 "value": null
954 },
955 {
956 "color": "red",
957 "value": 80
958 }
959 ]
960 },
961 "unit": "s"
962 },
963 "overrides": []
964 },
965 "gridPos": {
966 "h": 4,
967 "w": 6,
968 "x": 12,
969 "y": 19
970 },
971 "id": 18,
972 "options": {
973 "colorMode": "value",
974 "graphMode": "area",
975 "justifyMode": "auto",
976 "orientation": "auto",
977 "percentChangeColorMode": "standard",
978 "reduceOptions": {
979 "calcs": [
980 "lastNotNull"
981 ],
982 "fields": "",
983 "values": false
984 },
985 "showPercentChange": false,
986 "textMode": "auto",
987 "wideLayout": true
988 },
989 "pluginVersion": "11.3.0",
990 "targets": [
991 {
992 "editorMode": "code",
993 "expr": "histogram_quantile(0.90, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__range])))",
994 "legendFormat": "__auto",
995 "range": true,
996 "refId": "A"
997 }
998 ],
999 "title": "ITL (P90)",
1000 "type": "stat"
1001 },
1002 {
1003 "datasource": {
1004 "type": "prometheus",
1005 "uid": "${DS_PROMETHEUS}"
1006 },
1007 "description": "99th percentile of Iteration Latency over the selected time range.\n\n",
1008 "fieldConfig": {
1009 "defaults": {
1010 "color": {
1011 "mode": "thresholds"
1012 },
1013 "decimals": 2,
1014 "mappings": [],
1015 "thresholds": {
1016 "mode": "absolute",
1017 "steps": [
1018 {
1019 "color": "green",
1020 "value": null
1021 },
1022 {
1023 "color": "red",
1024 "value": 80
1025 }
1026 ]
1027 },
1028 "unit": "s"
1029 },
1030 "overrides": []
1031 },
1032 "gridPos": {
1033 "h": 4,
1034 "w": 6,
1035 "x": 18,
1036 "y": 19
1037 },
1038 "id": 19,
1039 "options": {
1040 "colorMode": "value",
1041 "graphMode": "area",
1042 "justifyMode": "auto",
1043 "orientation": "auto",
1044 "percentChangeColorMode": "standard",
1045 "reduceOptions": {
1046 "calcs": [
1047 "lastNotNull"
1048 ],
1049 "fields": "",
1050 "values": false
1051 },
1052 "showPercentChange": false,
1053 "textMode": "auto",
1054 "wideLayout": true
1055 },
1056 "pluginVersion": "11.3.0",
1057 "targets": [
1058 {
1059 "editorMode": "code",
1060 "expr": "histogram_quantile(0.99, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__range])))",
1061 "legendFormat": "__auto",
1062 "range": true,
1063 "refId": "A"
1064 }
1065 ],
1066 "title": "ITL (P99)",
1067 "type": "stat"
1068 },
1069 {
1070 "datasource": {
1071 "type": "prometheus",
1072 "uid": "${DS_PROMETHEUS}"
1073 },
1074 "description": "Average Iteration Latency (time per output token) over the selected time range.",
1075 "fieldConfig": {
1076 "defaults": {
1077 "color": {
1078 "mode": "thresholds"
1079 },
1080 "decimals": 2,
1081 "mappings": [],
1082 "thresholds": {
1083 "mode": "absolute",
1084 "steps": [
1085 {
1086 "color": "green",
1087 "value": null
1088 },
1089 {
1090 "color": "red",
1091 "value": 80
1092 }
1093 ]
1094 },
1095 "unit": "s"
1096 },
1097 "overrides": []
1098 },
1099 "gridPos": {
1100 "h": 4,
1101 "w": 6,
1102 "x": 12,
1103 "y": 23
1104 },
1105 "id": 16,
1106 "options": {
1107 "colorMode": "value",
1108 "graphMode": "area",
1109 "justifyMode": "auto",
1110 "orientation": "auto",
1111 "percentChangeColorMode": "standard",
1112 "reduceOptions": {
1113 "calcs": [
1114 "lastNotNull"
1115 ],
1116 "fields": "",
1117 "values": false
1118 },
1119 "showPercentChange": false,
1120 "textMode": "auto",
1121 "wideLayout": true
1122 },
1123 "pluginVersion": "11.3.0",
1124 "targets": [
1125 {
1126 "editorMode": "code",
1127 "expr": "(sum(increase(vllm:inter_token_latency_seconds_sum[$__range])) / sum(increase(vllm:inter_token_latency_seconds_count[$__range])))",
1128 "legendFormat": "__auto",
1129 "range": true,
1130 "refId": "A"
1131 }
1132 ],
1133 "title": "ITL (Avg)",
1134 "type": "stat"
1135 },
1136 {
1137 "datasource": {
1138 "type": "prometheus",
1139 "uid": "${DS_PROMETHEUS}"
1140 },
1141 "description": "50th percentile (median) of Iteration Latency over the selected time range.",
1142 "fieldConfig": {
1143 "defaults": {
1144 "color": {
1145 "mode": "thresholds"
1146 },
1147 "decimals": 2,
1148 "mappings": [],
1149 "thresholds": {
1150 "mode": "absolute",
1151 "steps": [
1152 {
1153 "color": "green",
1154 "value": null
1155 },
1156 {
1157 "color": "red",
1158 "value": 80
1159 }
1160 ]
1161 },
1162 "unit": "s"
1163 },
1164 "overrides": []
1165 },
1166 "gridPos": {
1167 "h": 4,
1168 "w": 6,
1169 "x": 18,
1170 "y": 23
1171 },
1172 "id": 17,
1173 "options": {
1174 "colorMode": "value",
1175 "graphMode": "area",
1176 "justifyMode": "auto",
1177 "orientation": "auto",
1178 "percentChangeColorMode": "standard",
1179 "reduceOptions": {
1180 "calcs": [
1181 "lastNotNull"
1182 ],
1183 "fields": "",
1184 "values": false
1185 },
1186 "showPercentChange": false,
1187 "textMode": "auto",
1188 "wideLayout": true
1189 },
1190 "pluginVersion": "11.3.0",
1191 "targets": [
1192 {
1193 "editorMode": "code",
1194 "expr": "histogram_quantile(0.50, sum by(le) (rate(vllm:inter_token_latency_seconds_bucket[$__range])))",
1195 "legendFormat": "__auto",
1196 "range": true,
1197 "refId": "A"
1198 }
1199 ],
1200 "title": "ITL (P50)",
1201 "type": "stat"
1202 },
1203 {
1204 "collapsed": false,
1205 "gridPos": {
1206 "h": 1,
1207 "w": 24,
1208 "x": 0,
1209 "y": 27
1210 },
1211 "id": 6,
1212 "panels": [],
1213 "title": "TPS (Tokens Per Second)",
1214 "type": "row"
1215 },
1216 {
1217 "datasource": {
1218 "type": "prometheus",
1219 "uid": "${DS_PROMETHEUS}"
1220 },
1221 "description": "Rate of tokens processed per second, including prompt and generation phases.",
1222 "fieldConfig": {
1223 "defaults": {
1224 "color": {
1225 "mode": "palette-classic"
1226 },
1227 "custom": {
1228 "axisBorderShow": false,
1229 "axisCenteredZero": false,
1230 "axisColorMode": "text",
1231 "axisLabel": "",
1232 "axisPlacement": "auto",
1233 "barAlignment": 0,
1234 "barWidthFactor": 0.6,
1235 "drawStyle": "line",
1236 "fillOpacity": 0,
1237 "gradientMode": "none",
1238 "hideFrom": {
1239 "legend": false,
1240 "tooltip": false,
1241 "viz": false
1242 },
1243 "insertNulls": false,
1244 "lineInterpolation": "linear",
1245 "lineWidth": 1,
1246 "pointSize": 5,
1247 "scaleDistribution": {
1248 "type": "linear"
1249 },
1250 "showPoints": "auto",
1251 "spanNulls": false,
1252 "stacking": {
1253 "group": "A",
1254 "mode": "none"
1255 },
1256 "thresholdsStyle": {
1257 "mode": "off"
1258 }
1259 },
1260 "mappings": [],
1261 "thresholds": {
1262 "mode": "absolute",
1263 "steps": [
1264 {
1265 "color": "green",
1266 "value": null
1267 },
1268 {
1269 "color": "red",
1270 "value": 80
1271 }
1272 ]
1273 },
1274 "unit": "tokens/sec (tps)"
1275 },
1276 "overrides": []
1277 },
1278 "gridPos": {
1279 "h": 8,
1280 "w": 12,
1281 "x": 0,
1282 "y": 28
1283 },
1284 "id": 20,
1285 "options": {
1286 "legend": {
1287 "calcs": [],
1288 "displayMode": "list",
1289 "placement": "bottom",
1290 "showLegend": true
1291 },
1292 "tooltip": {
1293 "mode": "single",
1294 "sort": "none"
1295 }
1296 },
1297 "pluginVersion": "11.3.0",
1298 "targets": [
1299 {
1300 "editorMode": "code",
1301 "expr": "rate(vllm:generation_tokens_total[$__interval])",
1302 "legendFormat": "Generation TPS",
1303 "range": true,
1304 "refId": "A"
1305 },
1306 {
1307 "datasource": {
1308 "type": "prometheus",
1309 "uid": "${DS_PROMETHEUS}"
1310 },
1311 "editorMode": "code",
1312 "expr": "rate(vllm:prompt_tokens_total[$__interval])",
1313 "hide": false,
1314 "instant": false,
1315 "legendFormat": "Prompt TPS",
1316 "range": true,
1317 "refId": "B"
1318 },
1319 {
1320 "datasource": {
1321 "type": "prometheus",
1322 "uid": "${DS_PROMETHEUS}"
1323 },
1324 "editorMode": "code",
1325 "expr": "rate(vllm:iteration_tokens_total_count[$__interval])",
1326 "hide": false,
1327 "instant": false,
1328 "legendFormat": "Overall Iteration TPS",
1329 "range": true,
1330 "refId": "C"
1331 }
1332 ],
1333 "title": "TPS (Tokens Per Second) Over Time",
1334 "type": "timeseries"
1335 }
1336 ],
1337 "preload": false,
1338 "schemaVersion": 40,
1339 "tags": [],
1340 "templating": {
1341 "list": [
1342 {
1343 "name": "DS_PROMETHEUS",
1344 "type": "datasource",
1345 "label": "datasource",
1346 "query": "prometheus",
1347 "refresh": 1,
1348 "current": {
1349 "text": "Prometheus",
1350 "value": "prometheus"
1351 }
1352 },
1353 {
1354 "current": {
1355 "text": "avg : Average\n0.50 : P50\n0.90 : P90\n0.99 : P99\n0.999 : Max (Approx)",
1356 "value": "avg : Average\n0.50 : P50\n0.90 : P90\n0.99 : P99\n0.999 : Max (Approx)"
1357 },
1358 "label": "Aggregation",
1359 "name": "agg_method",
1360 "options": [
1361 {
1362 "selected": true,
1363 "text": "avg : Average\n0.50 : P50\n0.90 : P90\n0.99 : P99\n0.999 : Max (Approx)",
1364 "value": "avg : Average\n0.50 : P50\n0.90 : P90\n0.99 : P99\n0.999 : Max (Approx)"
1365 }
1366 ],
1367 "query": "avg : Average\n0.50 : P50\n0.90 : P90\n0.99 : P99\n0.999 : Max (Approx)",
1368 "type": "custom"
1369 },
1370 {
1371 "current": {
1372 "text": [
1373 "granite-33-2b-instruct"
1374 ],
1375 "value": [
1376 "granite-33-2b-instruct"
1377 ]
1378 },
1379 "definition": "label_values(vllm:generation_tokens_total,model_name)",
1380 "includeAll": true,
1381 "label": "Deployment_ID",
1382 "multi": true,
1383 "name": "Deployment_id",
1384 "options": [],
1385 "query": {
1386 "qryType": 1,
1387 "query": "label_values(vllm:generation_tokens_total,model_name)",
1388 "refId": "PrometheusVariableQueryEditor-VariableQuery"
1389 },
1390 "refresh": 1,
1391 "regex": "",
1392 "type": "query"
1393 }
1394 ]
1395 },
1396 "time": {
1397 "from": "now-12h",
1398 "to": "now"
1399 },
1400 "timezone": "browser",
1401 "uid": "performance-statistics",
1402 "title": "Performance Statistics",
1403 "version": 40,
1404 "weekStart": ""
1405 }