demo-dashboard.json 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  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. "target": {
  15. "limit": 100,
  16. "matchAny": false,
  17. "tags": [],
  18. "type": "dashboard"
  19. },
  20. "type": "dashboard"
  21. }
  22. ]
  23. },
  24. "editable": true,
  25. "fiscalYearStartMonth": 0,
  26. "graphTooltip": 0,
  27. "links": [],
  28. "liveNow": false,
  29. "panels": [
  30. {
  31. "collapsed": false,
  32. "gridPos": {
  33. "h": 1,
  34. "w": 24,
  35. "x": 0,
  36. "y": 0
  37. },
  38. "id": 14,
  39. "panels": [],
  40. "title": "Metrics",
  41. "type": "row"
  42. },
  43. {
  44. "datasource": {
  45. "type": "prometheus",
  46. "uid": "webstore-metrics"
  47. },
  48. "fieldConfig": {
  49. "defaults": {
  50. "color": {
  51. "mode": "palette-classic"
  52. },
  53. "custom": {
  54. "axisCenteredZero": false,
  55. "axisColorMode": "text",
  56. "axisLabel": "",
  57. "axisPlacement": "auto",
  58. "barAlignment": 0,
  59. "drawStyle": "line",
  60. "fillOpacity": 0,
  61. "gradientMode": "none",
  62. "hideFrom": {
  63. "legend": false,
  64. "tooltip": false,
  65. "viz": false
  66. },
  67. "insertNulls": false,
  68. "lineInterpolation": "linear",
  69. "lineWidth": 1,
  70. "pointSize": 5,
  71. "scaleDistribution": {
  72. "type": "linear"
  73. },
  74. "showPoints": "auto",
  75. "spanNulls": false,
  76. "stacking": {
  77. "group": "A",
  78. "mode": "none"
  79. },
  80. "thresholdsStyle": {
  81. "mode": "off"
  82. }
  83. },
  84. "mappings": [],
  85. "thresholds": {
  86. "mode": "absolute",
  87. "steps": [
  88. {
  89. "color": "green",
  90. "value": null
  91. },
  92. {
  93. "color": "red",
  94. "value": 80
  95. }
  96. ]
  97. },
  98. "unit": "percent"
  99. },
  100. "overrides": []
  101. },
  102. "gridPos": {
  103. "h": 8,
  104. "w": 12,
  105. "x": 0,
  106. "y": 1
  107. },
  108. "id": 6,
  109. "options": {
  110. "legend": {
  111. "calcs": [],
  112. "displayMode": "list",
  113. "placement": "bottom",
  114. "showLegend": true
  115. },
  116. "tooltip": {
  117. "mode": "single",
  118. "sort": "none"
  119. }
  120. },
  121. "targets": [
  122. {
  123. "datasource": {
  124. "type": "prometheus",
  125. "uid": "webstore-metrics"
  126. },
  127. "editorMode": "code",
  128. "expr": "rate(process_runtime_cpython_cpu_time_seconds_total{type=~\"system\"}[$__rate_interval])*100",
  129. "hide": false,
  130. "interval": "2m",
  131. "legendFormat": "{{job}} ({{type}})",
  132. "range": true,
  133. "refId": "A"
  134. },
  135. {
  136. "datasource": {
  137. "type": "prometheus",
  138. "uid": "webstore-metrics"
  139. },
  140. "editorMode": "code",
  141. "expr": "rate(process_runtime_cpython_cpu_time_seconds_total{type=~\"user\"}[$__rate_interval])*100",
  142. "hide": false,
  143. "interval": "2m",
  144. "legendFormat": "{{job}} ({{type}})",
  145. "range": true,
  146. "refId": "B"
  147. }
  148. ],
  149. "title": "Python services (CPU%)",
  150. "transformations": [
  151. {
  152. "id": "renameByRegex",
  153. "options": {
  154. "regex": "opentelemetry-demo/(.*)",
  155. "renamePattern": "$1"
  156. }
  157. }
  158. ],
  159. "type": "timeseries"
  160. },
  161. {
  162. "datasource": {
  163. "type": "prometheus",
  164. "uid": "webstore-metrics"
  165. },
  166. "fieldConfig": {
  167. "defaults": {
  168. "color": {
  169. "mode": "palette-classic"
  170. },
  171. "custom": {
  172. "axisCenteredZero": false,
  173. "axisColorMode": "text",
  174. "axisLabel": "",
  175. "axisPlacement": "auto",
  176. "barAlignment": 0,
  177. "drawStyle": "line",
  178. "fillOpacity": 0,
  179. "gradientMode": "none",
  180. "hideFrom": {
  181. "legend": false,
  182. "tooltip": false,
  183. "viz": false
  184. },
  185. "insertNulls": false,
  186. "lineInterpolation": "linear",
  187. "lineWidth": 1,
  188. "pointSize": 5,
  189. "scaleDistribution": {
  190. "type": "linear"
  191. },
  192. "showPoints": "auto",
  193. "spanNulls": false,
  194. "stacking": {
  195. "group": "A",
  196. "mode": "none"
  197. },
  198. "thresholdsStyle": {
  199. "mode": "off"
  200. }
  201. },
  202. "mappings": [],
  203. "thresholds": {
  204. "mode": "absolute",
  205. "steps": [
  206. {
  207. "color": "green",
  208. "value": null
  209. },
  210. {
  211. "color": "red",
  212. "value": 80
  213. }
  214. ]
  215. },
  216. "unit": "bytes"
  217. },
  218. "overrides": []
  219. },
  220. "gridPos": {
  221. "h": 8,
  222. "w": 12,
  223. "x": 12,
  224. "y": 1
  225. },
  226. "id": 8,
  227. "options": {
  228. "legend": {
  229. "calcs": [],
  230. "displayMode": "list",
  231. "placement": "bottom",
  232. "showLegend": true
  233. },
  234. "tooltip": {
  235. "mode": "single",
  236. "sort": "none"
  237. }
  238. },
  239. "targets": [
  240. {
  241. "datasource": {
  242. "type": "prometheus",
  243. "uid": "webstore-metrics"
  244. },
  245. "editorMode": "code",
  246. "expr": "process_runtime_cpython_memory_bytes{type=\"rss\"}",
  247. "legendFormat": "{{job}}",
  248. "range": true,
  249. "refId": "A"
  250. }
  251. ],
  252. "title": "Python services (Memory)",
  253. "transformations": [
  254. {
  255. "id": "renameByRegex",
  256. "options": {
  257. "regex": "opentelemetry-demo/(.*)",
  258. "renamePattern": "$1"
  259. }
  260. }
  261. ],
  262. "type": "timeseries"
  263. },
  264. {
  265. "datasource": {
  266. "type": "prometheus",
  267. "uid": "webstore-metrics"
  268. },
  269. "fieldConfig": {
  270. "defaults": {
  271. "color": {
  272. "mode": "palette-classic"
  273. },
  274. "custom": {
  275. "axisCenteredZero": false,
  276. "axisColorMode": "text",
  277. "axisLabel": "",
  278. "axisPlacement": "auto",
  279. "barAlignment": 0,
  280. "drawStyle": "bars",
  281. "fillOpacity": 0,
  282. "gradientMode": "none",
  283. "hideFrom": {
  284. "legend": false,
  285. "tooltip": false,
  286. "viz": false
  287. },
  288. "insertNulls": false,
  289. "lineInterpolation": "linear",
  290. "lineWidth": 1,
  291. "pointSize": 5,
  292. "scaleDistribution": {
  293. "type": "linear"
  294. },
  295. "showPoints": "auto",
  296. "spanNulls": false,
  297. "stacking": {
  298. "group": "A",
  299. "mode": "none"
  300. },
  301. "thresholdsStyle": {
  302. "mode": "off"
  303. }
  304. },
  305. "mappings": [],
  306. "thresholds": {
  307. "mode": "absolute",
  308. "steps": [
  309. {
  310. "color": "green",
  311. "value": null
  312. },
  313. {
  314. "color": "red",
  315. "value": 80
  316. }
  317. ]
  318. }
  319. },
  320. "overrides": []
  321. },
  322. "gridPos": {
  323. "h": 8,
  324. "w": 12,
  325. "x": 0,
  326. "y": 9
  327. },
  328. "id": 4,
  329. "options": {
  330. "legend": {
  331. "calcs": [],
  332. "displayMode": "list",
  333. "placement": "bottom",
  334. "showLegend": false
  335. },
  336. "tooltip": {
  337. "mode": "single",
  338. "sort": "none"
  339. }
  340. },
  341. "targets": [
  342. {
  343. "datasource": {
  344. "type": "prometheus",
  345. "uid": "webstore-metrics"
  346. },
  347. "editorMode": "code",
  348. "expr": "rate(app_recommendations_counter_total{recommendation_type=\"catalog\"}[$__rate_interval])",
  349. "interval": "2m",
  350. "legendFormat": "recommendations",
  351. "range": true,
  352. "refId": "A"
  353. }
  354. ],
  355. "title": "Recommendations Rate",
  356. "type": "timeseries"
  357. },
  358. {
  359. "datasource": {
  360. "type": "prometheus",
  361. "uid": "webstore-metrics"
  362. },
  363. "description": "",
  364. "fieldConfig": {
  365. "defaults": {
  366. "color": {
  367. "mode": "palette-classic"
  368. },
  369. "custom": {
  370. "axisCenteredZero": false,
  371. "axisColorMode": "text",
  372. "axisLabel": "",
  373. "axisPlacement": "auto",
  374. "barAlignment": 0,
  375. "drawStyle": "line",
  376. "fillOpacity": 0,
  377. "gradientMode": "none",
  378. "hideFrom": {
  379. "legend": false,
  380. "tooltip": false,
  381. "viz": false
  382. },
  383. "insertNulls": false,
  384. "lineInterpolation": "linear",
  385. "lineWidth": 1,
  386. "pointSize": 5,
  387. "scaleDistribution": {
  388. "type": "linear"
  389. },
  390. "showPoints": "auto",
  391. "spanNulls": false,
  392. "stacking": {
  393. "group": "A",
  394. "mode": "none"
  395. },
  396. "thresholdsStyle": {
  397. "mode": "off"
  398. }
  399. },
  400. "mappings": [],
  401. "thresholds": {
  402. "mode": "absolute",
  403. "steps": [
  404. {
  405. "color": "green",
  406. "value": null
  407. },
  408. {
  409. "color": "red",
  410. "value": 80
  411. }
  412. ]
  413. }
  414. },
  415. "overrides": []
  416. },
  417. "gridPos": {
  418. "h": 8,
  419. "w": 12,
  420. "x": 12,
  421. "y": 9
  422. },
  423. "id": 10,
  424. "options": {
  425. "legend": {
  426. "calcs": [],
  427. "displayMode": "list",
  428. "placement": "bottom",
  429. "showLegend": true
  430. },
  431. "tooltip": {
  432. "mode": "single",
  433. "sort": "none"
  434. }
  435. },
  436. "targets": [
  437. {
  438. "datasource": {
  439. "type": "prometheus",
  440. "uid": "webstore-metrics"
  441. },
  442. "editorMode": "code",
  443. "expr": " sum by (span_name) (rate(calls_total{status_code=\"STATUS_CODE_ERROR\", service_name=\"${service}\"}[$__rate_interval]))",
  444. "interval": "",
  445. "legendFormat": "{{ span_name }}",
  446. "range": true,
  447. "refId": "A"
  448. }
  449. ],
  450. "title": "Error Rate for ${service} by span name",
  451. "type": "timeseries"
  452. },
  453. {
  454. "datasource": {
  455. "type": "prometheus",
  456. "uid": "webstore-metrics"
  457. },
  458. "description": "",
  459. "fieldConfig": {
  460. "defaults": {
  461. "color": {
  462. "mode": "palette-classic"
  463. },
  464. "custom": {
  465. "axisCenteredZero": false,
  466. "axisColorMode": "text",
  467. "axisLabel": "",
  468. "axisPlacement": "auto",
  469. "barAlignment": 0,
  470. "drawStyle": "line",
  471. "fillOpacity": 0,
  472. "gradientMode": "none",
  473. "hideFrom": {
  474. "legend": false,
  475. "tooltip": false,
  476. "viz": false
  477. },
  478. "insertNulls": false,
  479. "lineInterpolation": "linear",
  480. "lineWidth": 1,
  481. "pointSize": 5,
  482. "scaleDistribution": {
  483. "type": "linear"
  484. },
  485. "showPoints": "auto",
  486. "spanNulls": false,
  487. "stacking": {
  488. "group": "A",
  489. "mode": "none"
  490. },
  491. "thresholdsStyle": {
  492. "mode": "off"
  493. }
  494. },
  495. "mappings": [],
  496. "thresholds": {
  497. "mode": "absolute",
  498. "steps": [
  499. {
  500. "color": "green",
  501. "value": null
  502. },
  503. {
  504. "color": "red",
  505. "value": 80
  506. }
  507. ]
  508. },
  509. "unit": "dtdurationms"
  510. },
  511. "overrides": []
  512. },
  513. "gridPos": {
  514. "h": 8,
  515. "w": 12,
  516. "x": 0,
  517. "y": 17
  518. },
  519. "id": 2,
  520. "options": {
  521. "legend": {
  522. "calcs": [],
  523. "displayMode": "list",
  524. "placement": "bottom",
  525. "showLegend": true
  526. },
  527. "tooltip": {
  528. "mode": "single",
  529. "sort": "none"
  530. }
  531. },
  532. "targets": [
  533. {
  534. "datasource": {
  535. "type": "prometheus",
  536. "uid": "webstore-metrics"
  537. },
  538. "editorMode": "code",
  539. "exemplar": true,
  540. "expr": "histogram_quantile(0.50, sum(rate(duration_milliseconds_bucket{service_name=\"${service}\"}[$__rate_interval])) by (le))",
  541. "legendFormat": "quantile50",
  542. "range": true,
  543. "refId": "A"
  544. },
  545. {
  546. "datasource": {
  547. "type": "prometheus",
  548. "uid": "webstore-metrics"
  549. },
  550. "editorMode": "code",
  551. "exemplar": false,
  552. "expr": "histogram_quantile(0.95, sum(rate(duration_milliseconds_bucket{service_name=\"${service}\"}[$__rate_interval])) by (le))",
  553. "hide": false,
  554. "legendFormat": "quantile95",
  555. "range": true,
  556. "refId": "B"
  557. },
  558. {
  559. "datasource": {
  560. "type": "prometheus",
  561. "uid": "webstore-metrics"
  562. },
  563. "editorMode": "code",
  564. "exemplar": false,
  565. "expr": "histogram_quantile(0.99, sum(rate(duration_milliseconds_bucket{service_name=\"${service}\"}[$__rate_interval])) by (le))",
  566. "hide": false,
  567. "legendFormat": "quantile99",
  568. "range": true,
  569. "refId": "C"
  570. },
  571. {
  572. "datasource": {
  573. "type": "prometheus",
  574. "uid": "webstore-metrics"
  575. },
  576. "editorMode": "code",
  577. "exemplar": false,
  578. "expr": "histogram_quantile(0.999, sum(rate(duration_milliseconds_bucket{service_name=\"${service}\"}[$__rate_interval])) by (le))",
  579. "hide": false,
  580. "legendFormat": "quantile999",
  581. "range": true,
  582. "refId": "D"
  583. }
  584. ],
  585. "title": "Latency for ${service}",
  586. "type": "timeseries"
  587. },
  588. {
  589. "datasource": {
  590. "type": "prometheus",
  591. "uid": "webstore-metrics"
  592. },
  593. "fieldConfig": {
  594. "defaults": {
  595. "color": {
  596. "mode": "palette-classic"
  597. },
  598. "custom": {
  599. "axisCenteredZero": false,
  600. "axisColorMode": "text",
  601. "axisLabel": "",
  602. "axisPlacement": "auto",
  603. "barAlignment": 0,
  604. "drawStyle": "line",
  605. "fillOpacity": 0,
  606. "gradientMode": "none",
  607. "hideFrom": {
  608. "legend": false,
  609. "tooltip": false,
  610. "viz": false
  611. },
  612. "insertNulls": false,
  613. "lineInterpolation": "linear",
  614. "lineWidth": 1,
  615. "pointSize": 5,
  616. "scaleDistribution": {
  617. "type": "linear"
  618. },
  619. "showPoints": "auto",
  620. "spanNulls": false,
  621. "stacking": {
  622. "group": "A",
  623. "mode": "none"
  624. },
  625. "thresholdsStyle": {
  626. "mode": "off"
  627. }
  628. },
  629. "mappings": [],
  630. "thresholds": {
  631. "mode": "absolute",
  632. "steps": [
  633. {
  634. "color": "green",
  635. "value": null
  636. },
  637. {
  638. "color": "red",
  639. "value": 80
  640. }
  641. ]
  642. },
  643. "unit": "reqps"
  644. },
  645. "overrides": []
  646. },
  647. "gridPos": {
  648. "h": 8,
  649. "w": 12,
  650. "x": 12,
  651. "y": 17
  652. },
  653. "id": 12,
  654. "options": {
  655. "legend": {
  656. "calcs": [],
  657. "displayMode": "list",
  658. "placement": "bottom",
  659. "showLegend": true
  660. },
  661. "tooltip": {
  662. "mode": "single",
  663. "sort": "none"
  664. }
  665. },
  666. "targets": [
  667. {
  668. "datasource": {
  669. "type": "prometheus",
  670. "uid": "webstore-metrics"
  671. },
  672. "editorMode": "code",
  673. "expr": "sum by (span_name) (rate(duration_milliseconds_count{service_name=\"${service}\"}[$__rate_interval]))",
  674. "legendFormat": "{{ span_name }}",
  675. "range": true,
  676. "refId": "A"
  677. }
  678. ],
  679. "title": "Requests Rate for ${service} by span name",
  680. "type": "timeseries"
  681. },
  682. {
  683. "datasource": {
  684. "type": "prometheus",
  685. "uid": "webstore-metrics"
  686. },
  687. "fieldConfig": {
  688. "defaults": {
  689. "color": {
  690. "mode": "palette-classic"
  691. },
  692. "custom": {
  693. "axisCenteredZero": false,
  694. "axisColorMode": "text",
  695. "axisLabel": "",
  696. "axisPlacement": "auto",
  697. "barAlignment": 0,
  698. "drawStyle": "line",
  699. "fillOpacity": 0,
  700. "gradientMode": "none",
  701. "hideFrom": {
  702. "legend": false,
  703. "tooltip": false,
  704. "viz": false
  705. },
  706. "insertNulls": false,
  707. "lineInterpolation": "linear",
  708. "lineWidth": 1,
  709. "pointSize": 5,
  710. "scaleDistribution": {
  711. "type": "linear"
  712. },
  713. "showPoints": "auto",
  714. "spanNulls": false,
  715. "stacking": {
  716. "group": "A",
  717. "mode": "none"
  718. },
  719. "thresholdsStyle": {
  720. "mode": "off"
  721. }
  722. },
  723. "mappings": [],
  724. "thresholds": {
  725. "mode": "absolute",
  726. "steps": [
  727. {
  728. "color": "green",
  729. "value": null
  730. },
  731. {
  732. "color": "red",
  733. "value": 80
  734. }
  735. ]
  736. }
  737. },
  738. "overrides": []
  739. },
  740. "gridPos": {
  741. "h": 8,
  742. "w": 12,
  743. "x": 0,
  744. "y": 25
  745. },
  746. "id": 16,
  747. "options": {
  748. "legend": {
  749. "calcs": [],
  750. "displayMode": "list",
  751. "placement": "bottom",
  752. "showLegend": true
  753. },
  754. "tooltip": {
  755. "mode": "single",
  756. "sort": "none"
  757. }
  758. },
  759. "targets": [
  760. {
  761. "datasource": {
  762. "type": "prometheus",
  763. "uid": "webstore-metrics"
  764. },
  765. "editorMode": "code",
  766. "expr": "rate(otel_trace_span_processor_spans{job=\"opentelemetry-demo/quoteservice\"}[2m])*120",
  767. "interval": "2m",
  768. "legendFormat": "{{state}}",
  769. "range": true,
  770. "refId": "A"
  771. }
  772. ],
  773. "title": "Quote Service batch span processor",
  774. "type": "timeseries"
  775. }
  776. ],
  777. "refresh": "",
  778. "revision": 1,
  779. "schemaVersion": 38,
  780. "style": "dark",
  781. "tags": [],
  782. "templating": {
  783. "list": [
  784. {
  785. "allValue": "",
  786. "current": {
  787. "selected": false,
  788. "text": "frontend",
  789. "value": "frontend"
  790. },
  791. "datasource": {
  792. "type": "prometheus",
  793. "uid": "webstore-metrics"
  794. },
  795. "definition": "duration_milliseconds_bucket",
  796. "hide": 0,
  797. "includeAll": false,
  798. "multi": false,
  799. "name": "service",
  800. "options": [],
  801. "query": {
  802. "query": "duration_milliseconds_bucket",
  803. "refId": "PrometheusVariableQueryEditor-VariableQuery"
  804. },
  805. "refresh": 1,
  806. "regex": "/.*service_name=\\\"([^\\\"]+)\\\".*/",
  807. "skipUrlSync": false,
  808. "sort": 1,
  809. "type": "query"
  810. }
  811. ]
  812. },
  813. "time": {
  814. "from": "now-3h",
  815. "to": "now"
  816. },
  817. "timepicker": {},
  818. "timezone": "",
  819. "title": "Demo Dashboard",
  820. "uid": "W2gX2zHVk",
  821. "version": 1,
  822. "weekStart": ""
  823. }