dashboard.json 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018
  1. {
  2. "__inputs": [
  3. {
  4. "name": "DS_PROMETHEUS",
  5. "label": "Prometheus",
  6. "description": "",
  7. "type": "datasource",
  8. "pluginId": "prometheus",
  9. "pluginName": "Prometheus"
  10. }
  11. ],
  12. "__elements": {},
  13. "__requires": [
  14. {
  15. "type": "grafana",
  16. "id": "grafana",
  17. "name": "Grafana",
  18. "version": "9.3.1"
  19. },
  20. {
  21. "type": "panel",
  22. "id": "heatmap",
  23. "name": "Heatmap",
  24. "version": ""
  25. },
  26. {
  27. "type": "datasource",
  28. "id": "prometheus",
  29. "name": "Prometheus",
  30. "version": "1.0.0"
  31. },
  32. {
  33. "type": "panel",
  34. "id": "stat",
  35. "name": "Stat",
  36. "version": ""
  37. },
  38. {
  39. "type": "panel",
  40. "id": "timeseries",
  41. "name": "Time series",
  42. "version": ""
  43. }
  44. ],
  45. "annotations": {
  46. "list": [
  47. {
  48. "builtIn": 1,
  49. "datasource": {
  50. "type": "grafana",
  51. "uid": "-- Grafana --"
  52. },
  53. "enable": true,
  54. "hide": true,
  55. "iconColor": "rgba(0, 211, 255, 1)",
  56. "name": "Annotations & Alerts",
  57. "target": {
  58. "limit": 100,
  59. "matchAny": false,
  60. "tags": [],
  61. "type": "dashboard"
  62. },
  63. "type": "dashboard"
  64. }
  65. ]
  66. },
  67. "editable": true,
  68. "fiscalYearStartMonth": 0,
  69. "graphTooltip": 0,
  70. "id": null,
  71. "links": [],
  72. "liveNow": false,
  73. "panels": [
  74. {
  75. "gridPos": {
  76. "h": 1,
  77. "w": 24,
  78. "x": 0,
  79. "y": 0
  80. },
  81. "id": 27,
  82. "title": "Admission Control Webhook",
  83. "type": "row"
  84. },
  85. {
  86. "datasource": {
  87. "type": "prometheus",
  88. "uid": "${DS_PROMETHEUS}"
  89. },
  90. "fieldConfig": {
  91. "defaults": {
  92. "color": {
  93. "mode": "palette-classic"
  94. },
  95. "custom": {
  96. "axisCenteredZero": false,
  97. "axisColorMode": "text",
  98. "axisLabel": "",
  99. "axisPlacement": "auto",
  100. "barAlignment": 0,
  101. "drawStyle": "line",
  102. "fillOpacity": 0,
  103. "gradientMode": "none",
  104. "hideFrom": {
  105. "legend": false,
  106. "tooltip": false,
  107. "viz": false
  108. },
  109. "lineInterpolation": "linear",
  110. "lineWidth": 1,
  111. "pointSize": 5,
  112. "scaleDistribution": {
  113. "type": "linear"
  114. },
  115. "showPoints": "auto",
  116. "spanNulls": false,
  117. "stacking": {
  118. "group": "A",
  119. "mode": "none"
  120. },
  121. "thresholdsStyle": {
  122. "mode": "off"
  123. }
  124. },
  125. "mappings": [],
  126. "thresholds": {
  127. "mode": "absolute",
  128. "steps": [
  129. {
  130. "color": "green",
  131. "value": null
  132. },
  133. {
  134. "color": "red",
  135. "value": 80
  136. }
  137. ]
  138. }
  139. },
  140. "overrides": []
  141. },
  142. "gridPos": {
  143. "h": 8,
  144. "w": 12,
  145. "x": 0,
  146. "y": 1
  147. },
  148. "id": 53,
  149. "options": {
  150. "legend": {
  151. "calcs": [],
  152. "displayMode": "list",
  153. "placement": "bottom",
  154. "showLegend": true
  155. },
  156. "tooltip": {
  157. "mode": "single",
  158. "sort": "none"
  159. }
  160. },
  161. "targets": [
  162. {
  163. "datasource": {
  164. "type": "prometheus",
  165. "uid": "${DS_PROMETHEUS}"
  166. },
  167. "editorMode": "code",
  168. "expr": "sum(increase(controller_runtime_webhook_requests_total{service=~\"external-secrets.*\"}[1m])) by (webhook)",
  169. "legendFormat": "__auto",
  170. "range": true,
  171. "refId": "A"
  172. }
  173. ],
  174. "title": "requests by path per minute",
  175. "type": "timeseries"
  176. },
  177. {
  178. "datasource": {
  179. "type": "prometheus",
  180. "uid": "${DS_PROMETHEUS}"
  181. },
  182. "fieldConfig": {
  183. "defaults": {
  184. "color": {
  185. "mode": "palette-classic"
  186. },
  187. "custom": {
  188. "axisCenteredZero": false,
  189. "axisColorMode": "text",
  190. "axisLabel": "",
  191. "axisPlacement": "auto",
  192. "barAlignment": 0,
  193. "drawStyle": "line",
  194. "fillOpacity": 0,
  195. "gradientMode": "none",
  196. "hideFrom": {
  197. "legend": false,
  198. "tooltip": false,
  199. "viz": false
  200. },
  201. "lineInterpolation": "linear",
  202. "lineWidth": 1,
  203. "pointSize": 5,
  204. "scaleDistribution": {
  205. "type": "linear"
  206. },
  207. "showPoints": "auto",
  208. "spanNulls": false,
  209. "stacking": {
  210. "group": "A",
  211. "mode": "none"
  212. },
  213. "thresholdsStyle": {
  214. "mode": "off"
  215. }
  216. },
  217. "mappings": [],
  218. "thresholds": {
  219. "mode": "absolute",
  220. "steps": [
  221. {
  222. "color": "green",
  223. "value": null
  224. },
  225. {
  226. "color": "red",
  227. "value": 80
  228. }
  229. ]
  230. }
  231. },
  232. "overrides": []
  233. },
  234. "gridPos": {
  235. "h": 8,
  236. "w": 12,
  237. "x": 12,
  238. "y": 1
  239. },
  240. "id": 67,
  241. "options": {
  242. "legend": {
  243. "calcs": [],
  244. "displayMode": "list",
  245. "placement": "bottom",
  246. "showLegend": true
  247. },
  248. "tooltip": {
  249. "mode": "single",
  250. "sort": "none"
  251. }
  252. },
  253. "targets": [
  254. {
  255. "datasource": {
  256. "type": "prometheus",
  257. "uid": "${DS_PROMETHEUS}"
  258. },
  259. "editorMode": "code",
  260. "expr": "sum(controller_runtime_webhook_requests_in_flight{service=~\"external-secrets.*\"}) by (webhook)",
  261. "legendFormat": "__auto",
  262. "range": true,
  263. "refId": "A"
  264. }
  265. ],
  266. "title": "requests in flight",
  267. "type": "timeseries"
  268. },
  269. {
  270. "datasource": {
  271. "type": "prometheus",
  272. "uid": "${DS_PROMETHEUS}"
  273. },
  274. "fieldConfig": {
  275. "defaults": {
  276. "color": {
  277. "mode": "palette-classic"
  278. },
  279. "custom": {
  280. "axisCenteredZero": false,
  281. "axisColorMode": "text",
  282. "axisLabel": "",
  283. "axisPlacement": "auto",
  284. "barAlignment": 0,
  285. "drawStyle": "line",
  286. "fillOpacity": 0,
  287. "gradientMode": "none",
  288. "hideFrom": {
  289. "legend": false,
  290. "tooltip": false,
  291. "viz": false
  292. },
  293. "lineInterpolation": "linear",
  294. "lineWidth": 1,
  295. "pointSize": 5,
  296. "scaleDistribution": {
  297. "type": "linear"
  298. },
  299. "showPoints": "auto",
  300. "spanNulls": false,
  301. "stacking": {
  302. "group": "A",
  303. "mode": "none"
  304. },
  305. "thresholdsStyle": {
  306. "mode": "off"
  307. }
  308. },
  309. "mappings": [],
  310. "thresholds": {
  311. "mode": "absolute",
  312. "steps": [
  313. {
  314. "color": "green",
  315. "value": null
  316. },
  317. {
  318. "color": "red",
  319. "value": 80
  320. }
  321. ]
  322. }
  323. },
  324. "overrides": []
  325. },
  326. "gridPos": {
  327. "h": 8,
  328. "w": 12,
  329. "x": 0,
  330. "y": 9
  331. },
  332. "id": 80,
  333. "options": {
  334. "legend": {
  335. "calcs": [],
  336. "displayMode": "list",
  337. "placement": "bottom",
  338. "showLegend": true
  339. },
  340. "tooltip": {
  341. "mode": "single",
  342. "sort": "none"
  343. }
  344. },
  345. "targets": [
  346. {
  347. "datasource": {
  348. "type": "prometheus",
  349. "uid": "${DS_PROMETHEUS}"
  350. },
  351. "editorMode": "code",
  352. "expr": "sum(increase(controller_runtime_webhook_requests_total{service=~\"external-secrets.*\"}[1m])) by (code)",
  353. "legendFormat": "__auto",
  354. "range": true,
  355. "refId": "A"
  356. }
  357. ],
  358. "title": "requests by code per minute",
  359. "type": "timeseries"
  360. },
  361. {
  362. "datasource": {
  363. "type": "prometheus",
  364. "uid": "${DS_PROMETHEUS}"
  365. },
  366. "fieldConfig": {
  367. "defaults": {
  368. "custom": {
  369. "hideFrom": {
  370. "legend": false,
  371. "tooltip": false,
  372. "viz": false
  373. },
  374. "scaleDistribution": {
  375. "type": "linear"
  376. }
  377. }
  378. },
  379. "overrides": []
  380. },
  381. "gridPos": {
  382. "h": 8,
  383. "w": 12,
  384. "x": 12,
  385. "y": 9
  386. },
  387. "id": 54,
  388. "options": {
  389. "calculate": false,
  390. "cellGap": 1,
  391. "color": {
  392. "exponent": 0.5,
  393. "fill": "dark-orange",
  394. "mode": "scheme",
  395. "reverse": false,
  396. "scale": "exponential",
  397. "scheme": "Oranges",
  398. "steps": 64
  399. },
  400. "exemplars": {
  401. "color": "rgba(255,0,255,0.7)"
  402. },
  403. "filterValues": {
  404. "le": 1e-9
  405. },
  406. "legend": {
  407. "show": true
  408. },
  409. "rowsFrame": {
  410. "layout": "auto"
  411. },
  412. "tooltip": {
  413. "show": true,
  414. "yHistogram": false
  415. },
  416. "yAxis": {
  417. "axisPlacement": "left",
  418. "reverse": false
  419. }
  420. },
  421. "pluginVersion": "9.3.1",
  422. "targets": [
  423. {
  424. "datasource": {
  425. "type": "prometheus",
  426. "uid": "${DS_PROMETHEUS}"
  427. },
  428. "editorMode": "code",
  429. "expr": "sum(rate(controller_runtime_webhook_latency_seconds_bucket{service=~\"external-secrets.*\"}[$__rate_interval])) by (le)",
  430. "legendFormat": "{{le}}",
  431. "range": true,
  432. "refId": "A"
  433. }
  434. ],
  435. "title": "webhook latency",
  436. "type": "heatmap"
  437. },
  438. {
  439. "collapsed": false,
  440. "gridPos": {
  441. "h": 1,
  442. "w": 24,
  443. "x": 0,
  444. "y": 17
  445. },
  446. "id": 17,
  447. "panels": [],
  448. "title": "Controllers",
  449. "type": "row"
  450. },
  451. {
  452. "datasource": {
  453. "type": "prometheus",
  454. "uid": "${DS_PROMETHEUS}"
  455. },
  456. "description": "",
  457. "fieldConfig": {
  458. "defaults": {
  459. "color": {
  460. "mode": "thresholds"
  461. },
  462. "mappings": [],
  463. "thresholds": {
  464. "mode": "absolute",
  465. "steps": [
  466. {
  467. "color": "green",
  468. "value": null
  469. },
  470. {
  471. "color": "red",
  472. "value": 80
  473. }
  474. ]
  475. }
  476. },
  477. "overrides": []
  478. },
  479. "gridPos": {
  480. "h": 6,
  481. "w": 3.4285714285714284,
  482. "x": 0,
  483. "y": 18
  484. },
  485. "id": 5,
  486. "maxPerRow": 12,
  487. "options": {
  488. "colorMode": "value",
  489. "graphMode": "area",
  490. "justifyMode": "auto",
  491. "orientation": "auto",
  492. "reduceOptions": {
  493. "calcs": [
  494. "lastNotNull"
  495. ],
  496. "fields": "",
  497. "values": false
  498. },
  499. "textMode": "auto"
  500. },
  501. "pluginVersion": "9.3.1",
  502. "repeat": "controller",
  503. "repeatDirection": "h",
  504. "targets": [
  505. {
  506. "datasource": {
  507. "type": "prometheus",
  508. "uid": "${DS_PROMETHEUS}"
  509. },
  510. "editorMode": "code",
  511. "expr": "sum(controller_runtime_max_concurrent_reconciles{service=~\"external-secrets.*\",controller=\"$controller\"}) by (controller)",
  512. "legendFormat": "__auto",
  513. "range": true,
  514. "refId": "A"
  515. }
  516. ],
  517. "title": "max concurrent: $controller",
  518. "type": "stat"
  519. },
  520. {
  521. "datasource": {
  522. "type": "prometheus",
  523. "uid": "${DS_PROMETHEUS}"
  524. },
  525. "fieldConfig": {
  526. "defaults": {
  527. "color": {
  528. "mode": "palette-classic"
  529. },
  530. "custom": {
  531. "axisCenteredZero": false,
  532. "axisColorMode": "text",
  533. "axisLabel": "",
  534. "axisPlacement": "auto",
  535. "barAlignment": 0,
  536. "drawStyle": "line",
  537. "fillOpacity": 0,
  538. "gradientMode": "none",
  539. "hideFrom": {
  540. "legend": false,
  541. "tooltip": false,
  542. "viz": false
  543. },
  544. "lineInterpolation": "linear",
  545. "lineWidth": 1,
  546. "pointSize": 5,
  547. "scaleDistribution": {
  548. "type": "linear"
  549. },
  550. "showPoints": "auto",
  551. "spanNulls": false,
  552. "stacking": {
  553. "group": "A",
  554. "mode": "none"
  555. },
  556. "thresholdsStyle": {
  557. "mode": "off"
  558. }
  559. },
  560. "mappings": [],
  561. "thresholds": {
  562. "mode": "absolute",
  563. "steps": [
  564. {
  565. "color": "green",
  566. "value": null
  567. },
  568. {
  569. "color": "red",
  570. "value": 80
  571. }
  572. ]
  573. }
  574. },
  575. "overrides": []
  576. },
  577. "gridPos": {
  578. "h": 9,
  579. "w": 7,
  580. "x": 8,
  581. "y": 18
  582. },
  583. "id": 37,
  584. "options": {
  585. "legend": {
  586. "calcs": [],
  587. "displayMode": "list",
  588. "placement": "bottom",
  589. "showLegend": true
  590. },
  591. "tooltip": {
  592. "mode": "single",
  593. "sort": "none"
  594. }
  595. },
  596. "targets": [
  597. {
  598. "datasource": {
  599. "type": "prometheus",
  600. "uid": "${DS_PROMETHEUS}"
  601. },
  602. "editorMode": "code",
  603. "expr": "sum(workqueue_depth{service=~\"external-secrets.*\"}) by (name)",
  604. "legendFormat": "__auto",
  605. "range": true,
  606. "refId": "A"
  607. }
  608. ],
  609. "title": "workqueue depth",
  610. "type": "timeseries"
  611. },
  612. {
  613. "datasource": {
  614. "type": "prometheus",
  615. "uid": "${DS_PROMETHEUS}"
  616. },
  617. "fieldConfig": {
  618. "defaults": {
  619. "color": {
  620. "mode": "palette-classic"
  621. },
  622. "custom": {
  623. "axisCenteredZero": false,
  624. "axisColorMode": "text",
  625. "axisLabel": "",
  626. "axisPlacement": "auto",
  627. "barAlignment": 0,
  628. "drawStyle": "line",
  629. "fillOpacity": 0,
  630. "gradientMode": "none",
  631. "hideFrom": {
  632. "legend": false,
  633. "tooltip": false,
  634. "viz": false
  635. },
  636. "lineInterpolation": "linear",
  637. "lineWidth": 1,
  638. "pointSize": 5,
  639. "scaleDistribution": {
  640. "type": "linear"
  641. },
  642. "showPoints": "auto",
  643. "spanNulls": false,
  644. "stacking": {
  645. "group": "A",
  646. "mode": "none"
  647. },
  648. "thresholdsStyle": {
  649. "mode": "off"
  650. }
  651. },
  652. "mappings": [],
  653. "thresholds": {
  654. "mode": "absolute",
  655. "steps": [
  656. {
  657. "color": "green",
  658. "value": null
  659. },
  660. {
  661. "color": "red",
  662. "value": 80
  663. }
  664. ]
  665. }
  666. },
  667. "overrides": []
  668. },
  669. "gridPos": {
  670. "h": 9,
  671. "w": 9,
  672. "x": 15,
  673. "y": 18
  674. },
  675. "id": 15,
  676. "options": {
  677. "legend": {
  678. "calcs": [],
  679. "displayMode": "list",
  680. "placement": "bottom",
  681. "showLegend": true
  682. },
  683. "tooltip": {
  684. "mode": "single",
  685. "sort": "none"
  686. }
  687. },
  688. "targets": [
  689. {
  690. "datasource": {
  691. "type": "prometheus",
  692. "uid": "${DS_PROMETHEUS}"
  693. },
  694. "editorMode": "code",
  695. "expr": "sum(increase(externalsecret_provider_api_calls_count{service=~\"external-secrets.*\"}[1m])) by(provider, call, status)",
  696. "legendFormat": "{{provider}}/{{call}}={{status}}",
  697. "range": true,
  698. "refId": "A"
  699. }
  700. ],
  701. "title": "API calls by provider",
  702. "type": "timeseries"
  703. },
  704. {
  705. "datasource": {
  706. "type": "prometheus",
  707. "uid": "${DS_PROMETHEUS}"
  708. },
  709. "fieldConfig": {
  710. "defaults": {
  711. "color": {
  712. "mode": "palette-classic"
  713. },
  714. "custom": {
  715. "axisCenteredZero": false,
  716. "axisColorMode": "text",
  717. "axisLabel": "",
  718. "axisPlacement": "auto",
  719. "barAlignment": 0,
  720. "drawStyle": "line",
  721. "fillOpacity": 0,
  722. "gradientMode": "none",
  723. "hideFrom": {
  724. "legend": false,
  725. "tooltip": false,
  726. "viz": false
  727. },
  728. "lineInterpolation": "linear",
  729. "lineWidth": 1,
  730. "pointSize": 5,
  731. "scaleDistribution": {
  732. "type": "linear"
  733. },
  734. "showPoints": "auto",
  735. "spanNulls": false,
  736. "stacking": {
  737. "group": "A",
  738. "mode": "none"
  739. },
  740. "thresholdsStyle": {
  741. "mode": "off"
  742. }
  743. },
  744. "mappings": [],
  745. "thresholds": {
  746. "mode": "absolute",
  747. "steps": [
  748. {
  749. "color": "green",
  750. "value": null
  751. },
  752. {
  753. "color": "red",
  754. "value": 80
  755. }
  756. ]
  757. }
  758. },
  759. "overrides": []
  760. },
  761. "gridPos": {
  762. "h": 8,
  763. "w": 3.4285714285714284,
  764. "x": 0,
  765. "y": 24
  766. },
  767. "id": 3,
  768. "maxPerRow": 8,
  769. "options": {
  770. "legend": {
  771. "calcs": [],
  772. "displayMode": "list",
  773. "placement": "bottom",
  774. "showLegend": true
  775. },
  776. "tooltip": {
  777. "mode": "single",
  778. "sort": "none"
  779. }
  780. },
  781. "repeat": "controller",
  782. "repeatDirection": "h",
  783. "targets": [
  784. {
  785. "datasource": {
  786. "type": "prometheus",
  787. "uid": "${DS_PROMETHEUS}"
  788. },
  789. "editorMode": "code",
  790. "expr": "sum(increase(controller_runtime_reconcile_total{service=~\"external-secrets.*\",controller=~\"$controller\"}[1m])) by (result)",
  791. "legendFormat": "__auto",
  792. "range": true,
  793. "refId": "A"
  794. }
  795. ],
  796. "title": "reconcile rate per minute: $controller",
  797. "type": "timeseries"
  798. },
  799. {
  800. "datasource": {
  801. "type": "prometheus",
  802. "uid": "${DS_PROMETHEUS}"
  803. },
  804. "fieldConfig": {
  805. "defaults": {
  806. "color": {
  807. "mode": "palette-classic"
  808. },
  809. "custom": {
  810. "axisCenteredZero": false,
  811. "axisColorMode": "text",
  812. "axisLabel": "",
  813. "axisPlacement": "auto",
  814. "barAlignment": 0,
  815. "drawStyle": "line",
  816. "fillOpacity": 0,
  817. "gradientMode": "none",
  818. "hideFrom": {
  819. "legend": false,
  820. "tooltip": false,
  821. "viz": false
  822. },
  823. "lineInterpolation": "linear",
  824. "lineWidth": 1,
  825. "pointSize": 5,
  826. "scaleDistribution": {
  827. "type": "linear"
  828. },
  829. "showPoints": "auto",
  830. "spanNulls": false,
  831. "stacking": {
  832. "group": "A",
  833. "mode": "none"
  834. },
  835. "thresholdsStyle": {
  836. "mode": "off"
  837. }
  838. },
  839. "mappings": [],
  840. "thresholds": {
  841. "mode": "absolute",
  842. "steps": [
  843. {
  844. "color": "green"
  845. },
  846. {
  847. "color": "red",
  848. "value": 80
  849. }
  850. ]
  851. }
  852. },
  853. "overrides": []
  854. },
  855. "gridPos": {
  856. "h": 9,
  857. "w": 8,
  858. "x": 0,
  859. "y": 32
  860. },
  861. "id": 2,
  862. "options": {
  863. "legend": {
  864. "calcs": [],
  865. "displayMode": "list",
  866. "placement": "bottom",
  867. "showLegend": true
  868. },
  869. "tooltip": {
  870. "mode": "single",
  871. "sort": "none"
  872. }
  873. },
  874. "targets": [
  875. {
  876. "datasource": {
  877. "type": "prometheus",
  878. "uid": "${DS_PROMETHEUS}"
  879. },
  880. "editorMode": "code",
  881. "expr": "sum(controller_runtime_active_workers{service=~\"external-secrets.*\",controller=~\"$controller\"}) by (controller)",
  882. "legendFormat": "__auto",
  883. "range": true,
  884. "refId": "A"
  885. }
  886. ],
  887. "title": "active workers by controller",
  888. "type": "timeseries"
  889. },
  890. {
  891. "datasource": {
  892. "type": "prometheus",
  893. "uid": "${DS_PROMETHEUS}"
  894. },
  895. "fieldConfig": {
  896. "defaults": {
  897. "custom": {
  898. "hideFrom": {
  899. "legend": false,
  900. "tooltip": false,
  901. "viz": false
  902. },
  903. "scaleDistribution": {
  904. "type": "linear"
  905. }
  906. }
  907. },
  908. "overrides": []
  909. },
  910. "gridPos": {
  911. "h": 8,
  912. "w": 3.4285714285714284,
  913. "x": 0,
  914. "y": 41
  915. },
  916. "id": 39,
  917. "maxPerRow": 8,
  918. "options": {
  919. "calculate": false,
  920. "cellGap": 1,
  921. "cellValues": {
  922. "unit": "short"
  923. },
  924. "color": {
  925. "exponent": 0.5,
  926. "fill": "dark-orange",
  927. "mode": "scheme",
  928. "reverse": false,
  929. "scale": "exponential",
  930. "scheme": "Oranges",
  931. "steps": 10
  932. },
  933. "exemplars": {
  934. "color": "rgba(255,0,255,0.7)"
  935. },
  936. "filterValues": {
  937. "le": 1e-9
  938. },
  939. "legend": {
  940. "show": true
  941. },
  942. "rowsFrame": {
  943. "layout": "auto"
  944. },
  945. "tooltip": {
  946. "show": true,
  947. "yHistogram": false
  948. },
  949. "yAxis": {
  950. "axisPlacement": "left",
  951. "max": "5",
  952. "min": 0,
  953. "reverse": false,
  954. "unit": "s"
  955. }
  956. },
  957. "pluginVersion": "9.3.1",
  958. "repeat": "controller",
  959. "repeatDirection": "h",
  960. "targets": [
  961. {
  962. "datasource": {
  963. "type": "prometheus",
  964. "uid": "${DS_PROMETHEUS}"
  965. },
  966. "editorMode": "code",
  967. "expr": "rate(controller_runtime_reconcile_time_seconds_bucket{service=~\"external-secrets.*\",controller=~\"$controller\"}[$__rate_interval])",
  968. "legendFormat": "{{le}}",
  969. "range": true,
  970. "refId": "A"
  971. }
  972. ],
  973. "title": "reconcile time latency: $controller",
  974. "type": "heatmap"
  975. }
  976. ],
  977. "refresh": false,
  978. "schemaVersion": 37,
  979. "style": "dark",
  980. "tags": [],
  981. "templating": {
  982. "list": [
  983. {
  984. "allValue": ".*",
  985. "current": {},
  986. "datasource": {
  987. "type": "prometheus",
  988. "uid": "${DS_PROMETHEUS}"
  989. },
  990. "definition": "label_values(controller_runtime_active_workers{service=~\"external-secrets.*\"}, controller)",
  991. "hide": 0,
  992. "includeAll": true,
  993. "multi": true,
  994. "name": "controller",
  995. "options": [],
  996. "query": {
  997. "query": "label_values(controller_runtime_active_workers{service=~\"external-secrets.*\"}, controller)",
  998. "refId": "StandardVariableQuery"
  999. },
  1000. "refresh": 1,
  1001. "regex": "",
  1002. "skipUrlSync": false,
  1003. "sort": 0,
  1004. "type": "query"
  1005. }
  1006. ]
  1007. },
  1008. "time": {
  1009. "from": "now-6h",
  1010. "to": "now"
  1011. },
  1012. "timepicker": {},
  1013. "timezone": "",
  1014. "title": "External Secrets Operator",
  1015. "uid": "n4IdKaJVk",
  1016. "version": 1,
  1017. "weekStart": ""
  1018. }