From c052f54633e522a10054839ff2b91fe6c1149395 Mon Sep 17 00:00:00 2001 From: fnikol Date: Wed, 24 Nov 2021 14:53:54 +0200 Subject: [PATCH] lint templates --- Makefile | 2 +- charts/README.md | 2 - charts/cockroachdb/Chart.yaml | 36 +- charts/cockroachdb/README.md | 26 + charts/cockroachdb/plans/plan.baseline.yml | 119 +- charts/cockroachdb/plans/plan.scaleout.yml | 57 +- .../templates/database-cluster.yml | 6 +- .../cockroachdb/templates/database-single.yml | 4 +- .../templates/database-telemetry.yml | 9 +- charts/cockroachdb/templates/ycsb-client.yml | 7 +- charts/cockroachdb/values.yaml | 1 + charts/fio/Chart.yaml | 37 +- charts/fio/plans/plan.baseline.yml | 13 +- charts/fio/templates/benchmark-telemetry.yml | 6 +- charts/fio/templates/benchmark.yml | 4 +- charts/fio/values.yaml | 79 - charts/iperf/Chart.yaml | 16 +- charts/iperf/plans/plan.validate-network.yml | 13 +- .../iperf/templates/benchmark-telemetry.yml | 6 +- charts/iperf/templates/benchmark.yml | 4 +- charts/iperf/values.yaml | 79 - charts/mongodb/Chart.yaml | 15 +- charts/mongodb/plans/README.md | 17 + .../plans/plan.baseline.replicated.yml | 74 +- .../mongodb/templates/database-telemetry.yml | 6 +- charts/mongodb/templates/database.yml | 12 +- charts/mongodb/templates/ycsb-client.yml | 11 +- charts/mongodb/values.yaml | 79 - charts/observability/Chart.yaml | 8 +- charts/observability/templates/stack.yml | 10 +- charts/observability/values.yaml | 79 - charts/orphan/0.validate-local.yml | 15 +- charts/orphan/0.validate-remote.yml | 10 +- charts/orphan/2.mixed-workloads.yml | 25 +- charts/orphan/README.md | 2 +- charts/platform/Chart.yaml | 17 +- charts/platform/crds/frisbee.io_chaos.yaml | 6 +- charts/platform/crds/frisbee.io_clusters.yaml | 10 +- charts/platform/crds/frisbee.io_services.yaml | 6 +- .../platform/crds/frisbee.io_telemetries.yaml | 6 +- .../platform/crds/frisbee.io_templates.yaml | 6 +- .../platform/crds/frisbee.io_workflows.yaml | 10 +- .../templates/infrastructure/manual_pv.yml | 28 +- .../templates/infrastructure/openebs.yml | 7 +- charts/platform/values.yaml | 9 +- charts/redis/Chart.yaml | 20 +- charts/redis/dashboards/redis.json | 1132 ++++---- charts/redis/plans/README.md | 17 + .../redis/plans/plan.availability.single.yml | 23 +- charts/redis/plans/plan.baseline.cluster.yml | 78 +- charts/redis/plans/plan.baseline.single.yml | 71 +- charts/redis/templates/database-cluster.yml | 12 +- charts/redis/templates/database-single.yml | 13 +- charts/redis/templates/database-telemetry.yml | 8 +- charts/redis/templates/ycsb-client.yml | 9 +- charts/redis/values.yaml | 79 - charts/sysmon/Chart.yaml | 16 +- charts/sysmon/templates/telemetry.yml | 6 +- charts/tikv/Chart.yaml | 14 +- charts/tikv/dashboards/tikv-pd.json | 1840 ++++++------- charts/tikv/dashboards/tikv-raw.json | 154 +- charts/tikv/dashboards/tikv-summary.json | 2032 +++++++------- .../tikv/dashboards/tikv-troubleshooting.json | 2398 ++++++++--------- charts/tikv/plans/README.md | 17 + charts/tikv/plans/plan.baseline.yml | 76 +- charts/tikv/plans/plan.elasticity.yml | 39 +- charts/tikv/plans/plan.localhost.yml | 63 +- charts/tikv/plans/plan.saturation.yml | 87 +- charts/tikv/plans/plan.scaleout.yml | 12 +- charts/tikv/templates/database.yml | 16 +- charts/tikv/templates/ycsb-client.yml | 9 +- charts/tikv/templates/ycsb-dashboards.yml | 16 +- charts/tikv/templates/ycsb-telemetry.yml | 22 +- charts/ycsbmon/Chart.yaml | 14 +- charts/ycsbmon/dashboards/ycsb.json | 1028 +++---- charts/ycsbmon/templates/telemetry.yml | 11 +- charts/ycsbmon/values.yaml | 79 - docs/developers.md | 9 + docs/faq.md | 2 +- docs/installation.md | 21 - docs/readings/grafana.md | 2 +- 81 files changed, 4965 insertions(+), 5474 deletions(-) create mode 100644 charts/cockroachdb/README.md create mode 100644 charts/mongodb/plans/README.md create mode 100644 charts/redis/plans/README.md create mode 100644 charts/tikv/plans/README.md create mode 100644 docs/developers.md diff --git a/Makefile b/Makefile index b1b7a46d..a62e247d 100644 --- a/Makefile +++ b/Makefile @@ -116,7 +116,7 @@ release: ## Release a new version of Frisbee. git add VERSION git commit -m "Bump version" git tag ${VERSION} - # git push --set-upstream origin $(shell git branch --show-current) && git push --tags + # git push --set-upstream origin $(git branch --show-current) && git push --tags ##@ Deployment diff --git a/charts/README.md b/charts/README.md index 7a6af49e..66092e6a 100644 --- a/charts/README.md +++ b/charts/README.md @@ -11,8 +11,6 @@ $ helm search repo frisbee $ helm install my-release frisbee/ ``` - - The easiest way to begin with is by have a look at the examples. It consists of two sub-directories: * **Templates:** are libraries of frequently-used specifications that are reusable throughout the testing plan. diff --git a/charts/cockroachdb/Chart.yaml b/charts/cockroachdb/Chart.yaml index f60e3174..7f48e2c9 100644 --- a/charts/cockroachdb/Chart.yaml +++ b/charts/cockroachdb/Chart.yaml @@ -1,36 +1,10 @@ +--- apiVersion: v2 -name: cockroachdb -description: CockroachDB is a distributed database with standard SQL for cloud applications. +appVersion: "1.16.0" +description: "CockroachDB is a distributed database with standard SQL for cloud +applications." -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. +name: cockroachdb type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) version: 0.0.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" - - -#dependencies: -# - name: observability -# version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts -# - name: sysmon -# version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts -# - name: ycsbmon -# version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts \ No newline at end of file diff --git a/charts/cockroachdb/README.md b/charts/cockroachdb/README.md new file mode 100644 index 00000000..7e43e4f1 --- /dev/null +++ b/charts/cockroachdb/README.md @@ -0,0 +1,26 @@ + # Step 0: bootstrap. + # Cockroachdb requires knowing the names of the clustered nodes, before they are started !. + # Run cockroach command to any of the created node. + # Step 1: Load a new dataset, using the parameters of workload A. + # We use no throttling to maximize this step and complete it soon. + # Step 2: Run workload A + # Step 3: Run workload B + # Step 4: Run workload C + # Step 5: Run workload F + # Step 6: Run workload D. + # Step 7,8: Reload the data with parameters of workload E. + # We use the dropdata field to remove all data before test. + # Step 9:Run workload E + + + +# dependencies: +# - name: observability +# version: 0.1.1 +# repository: https://carv-ics-forth.github.io/frisbee/charts +# - name: sysmon +# version: 0.1.1 +# repository: https://carv-ics-forth.github.io/frisbee/charts +# - name: ycsbmon +# version: 0.1.1 +# repository: https://carv-ics-forth.github.io/frisbee/charts diff --git a/charts/cockroachdb/plans/plan.baseline.yml b/charts/cockroachdb/plans/plan.baseline.yml index 7d7c0220..dc41705c 100644 --- a/charts/cockroachdb/plans/plan.baseline.yml +++ b/charts/cockroachdb/plans/plan.baseline.yml @@ -1,126 +1,151 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: cockroach-baseline spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "cockroachmon/server" ] + importMonitors: + - sysmon/container + - ycsbmon/client + - cockroachmon/server ingress: host: platform.science-hangar.eu actions: - # Step 0: bootstrap. - # Cockroachdb requires knowing the names of the clustered nodes, before they are started !. - action: Cluster name: master cluster: templateRef: cockroachdb-cluster/master instances: 3 inputs: - - { servers: "master-1:26257,master-2:26257,master-3:26257" } + - servers: "master-1:26257,master-2:26257,master-3:26257" - # Run cockroach command to any of the created node. - action: Service name: boot - depends: { running: [ master ] } + depends: + running: [master] service: fromTemplate: templateRef: cockroachdb-cluster/bootstrap inputs: - - { server: .cluster.master.any } + - server: .cluster.master.any - - # Step 1: Load a new dataset, using the parameters of workload A. - # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { success: [ boot ] } + depends: + success: [boot] name: loader service: fromTemplate: templateRef: ycsb-cockroach/loader inputs: - - { server: .cluster.master.any, workload: workloada, recordcount: "1000000", threads: "400" } + - recordcount: "1000000" + server: .cluster.master.any + threads: "400" + workload: workloada + - # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: + success: [loader] name: workload-a service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloada + - # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: + success: [workload-a] name: workload-b service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloadb, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloadb - # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: + success: [workload-b] name: workload-c service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloadc, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloadc - - # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: + success: [workload-c] name: workload-f service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloadf, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } - + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloadf - # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: + success: [workload-f] name: workload-d service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloadd, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloadd - - # Step 7,8: Reload the data with parameters of workload E. - # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: + success: [workload-d] name: reloader service: fromTemplate: templateRef: ycsb-cockroach/loader inputs: - - { server: .cluster.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "400" } - + - dropdata: "true" + recordcount: "1000000" + server: .cluster.master.any + threads: "400" + workload: workloade - # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: + success: [reloader] name: workload-e service: fromTemplate: templateRef: ycsb-cockroach/runner inputs: - - { server: .cluster.master.any, workload: workloade, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } - - + - cpu: "8" + memory: 8Gi + operationcount: "1000000" + server: .cluster.master.any + threads: "40" + workload: workloade diff --git a/charts/cockroachdb/plans/plan.scaleout.yml b/charts/cockroachdb/plans/plan.scaleout.yml index 6766d5c5..8ab4c4a3 100644 --- a/charts/cockroachdb/plans/plan.scaleout.yml +++ b/charts/cockroachdb/plans/plan.scaleout.yml @@ -1,43 +1,44 @@ -# This experiment runs a given load for various numbers of TikV instance. -# This goal is to find the maximum number of TikV servers after which the overall performance does not increase further. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: cockroach-scaleout spec: - withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "cockroachmon/server" ] - ingress: - host: platform.science-hangar.eu - actions: - # Step 0: bootstrap. - # Cockroachdb requires knowing the names of the clustered nodes, before they are started !. - action: Cluster - name: master cluster: - templateRef: cockroachdb-cluster/master - instances: 3 inputs: - - { servers: "master-1:26257,master-2:26257,master-3:26257" } - - + - servers: "master-1:26257,master-2:26257,master-3:26257" + instances: 3 + templateRef: cockroachdb-cluster/master + name: master - action: Cluster - depends: { running: [ master ] } - name: workers cluster: - templateRef: tikv/worker - instances: 256 inputs: - - { placementDriver: .service.master.any } - - - # Step 1: Load a new dataset, using the parameters of workload A. - # We use no throttling to maximize this step and complete it soon. + - placementDriver: .service.master.any + instances: 256 + templateRef: tikv/worker + depends: + running: + - master + name: workers - action: Cluster - name: loaders - depends: { running: [ master, workers ] } cluster: - templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, recordcount: "100000000000", offset: "0", threads: "32" } \ No newline at end of file + - offset: "0" + recordcount: "100000000000" + server: .service.master.any + threads: "32" + templateRef: ycsb-tikv/loader + depends: + running: + - master + - workers + name: loaders + withTelemetry: + importMonitors: + - sysmon/container + - ycsbmon/client + - cockroachmon/server + ingress: + host: platform.science-hangar.eu diff --git a/charts/cockroachdb/templates/database-cluster.yml b/charts/cockroachdb/templates/database-cluster.yml index 4265f7bf..b070ef1e 100644 --- a/charts/cockroachdb/templates/database-cluster.yml +++ b/charts/cockroachdb/templates/database-cluster.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: cockroachdb-cluster labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "master": @@ -29,7 +29,7 @@ spec: set -eum trap "touch /dev/shm/stop" EXIT - echo "Start Cockroachdb in cluster: " {{"{{.Inputs.Parameters.servers}}"}} + echo "Start Cockroachdb: " {{"{{.Inputs.Parameters.servers}}"}} cockroach start \ --insecure \ @@ -58,4 +58,4 @@ spec: echo "Initiate cluster using $addr" - cockroach init --insecure --host=$addr \ No newline at end of file + cockroach init --insecure --host=$addr diff --git a/charts/cockroachdb/templates/database-single.yml b/charts/cockroachdb/templates/database-single.yml index 0d7d2b2c..77d7f017 100644 --- a/charts/cockroachdb/templates/database-single.yml +++ b/charts/cockroachdb/templates/database-single.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: cockroachdb labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "master": @@ -31,4 +31,4 @@ spec: --insecure \ --store=$${HOSTNAME} \ --listen-addr=$${HOSTNAME}:26257 \ - --http-addr=$${HOSTNAME}:8080 \ \ No newline at end of file + --http-addr=$${HOSTNAME}:8080 diff --git a/charts/cockroachdb/templates/database-telemetry.yml b/charts/cockroachdb/templates/database-telemetry.yml index 7afdae63..50a95092 100644 --- a/charts/cockroachdb/templates/database-telemetry.yml +++ b/charts/cockroachdb/templates/database-telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: cockroachmon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "server": @@ -61,9 +61,8 @@ metadata: name: grafana-cockroach-runtime labels: dashboard: cockroach -data: {{ (.Files.Glob "dashboards/cockroach_runtime.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/cockroach_runtime.json").AsConfig | nindent 2}} ---- --- apiVersion: v1 kind: ConfigMap @@ -71,7 +70,7 @@ metadata: name: grafana-cockroach-overview labels: dashboard: cockroach -data: {{ (.Files.Glob "dashboards/cockroach_overview.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/cockroach_overview.json").AsConfig | nindent 2}} --- @@ -81,4 +80,4 @@ metadata: name: grafana-cockroach-storage labels: dashboard: cockroach -data: {{ (.Files.Glob "dashboards/cockroach_storage.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/cockroach_storage.json").AsConfig | nindent 2}} diff --git a/charts/cockroachdb/templates/ycsb-client.yml b/charts/cockroachdb/templates/ycsb-client.yml index c0241f89..e7bf084e 100644 --- a/charts/cockroachdb/templates/ycsb-client.yml +++ b/charts/cockroachdb/templates/ycsb-client.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: ycsb-cockroach labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Loader injecting keys into a single server @@ -52,8 +53,6 @@ spec: -p pg.db="defaultdb" \ >> /dev/shm/pipe - - # Run queries against a single server "runner": inputs: @@ -94,4 +93,4 @@ spec: -p pg.host={{"{{.Inputs.Parameters.server}}"}} \ -p pg.port={{"{{.Inputs.Parameters.port}}"}} \ -p pg.db="defaultdb" \ - >> /dev/shm/pipe \ No newline at end of file + >> /dev/shm/pipe diff --git a/charts/cockroachdb/values.yaml b/charts/cockroachdb/values.yaml index e69de29b..ed97d539 100644 --- a/charts/cockroachdb/values.yaml +++ b/charts/cockroachdb/values.yaml @@ -0,0 +1 @@ +--- diff --git a/charts/fio/Chart.yaml b/charts/fio/Chart.yaml index fa67f6b3..4d2fcb3e 100644 --- a/charts/fio/Chart.yaml +++ b/charts/fio/Chart.yaml @@ -1,33 +1,36 @@ +--- apiVersion: v2 name: fio description: fio is a benchmark to test I/O performance. # A chart can be either an 'application' or a 'library' chart. # -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. +# Application charts are a collection of templates that can be packaged into +# versioned archives to be deployed. # -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. +# Library charts provide useful utilities or functions for the chart developer. +# They're included as # a dependency of application charts to inject those +# utilities and functions into the rendering pipeline. Library charts do not +# define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. +# This is the version number of the application being deployed. This version +# number should be incremented each time you make changes to the application. +# Versions are not expected to # follow Semantic Versioning. They should +# reflect the version the application is using. It is recommended to use +# it with quotes. appVersion: "1.16.0" - -#dependencies: +# dependencies: # - name: observability # version: 0.1.1 # repository: https://carv-ics-forth.github.io/frisbee/charts # - name: sysmon # version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts \ No newline at end of file +# repository: https://carv-ics-forth.github.io/frisbee/charts + +# This is the chart version. This version number should be incremented each +# time you make changes to the chart and its templates, including the app +# version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/fio/plans/plan.baseline.yml b/charts/fio/plans/plan.baseline.yml index 8365d0e1..2c172a3b 100644 --- a/charts/fio/plans/plan.baseline.yml +++ b/charts/fio/plans/plan.baseline.yml @@ -1,10 +1,11 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: fio-baseline spec: withTelemetry: - importMonitors: [ "sysmon/container", "fiomon/server" ] + importMonitors: ["sysmon/container", "fiomon/server"] ingress: host: platform.science-hangar.eu @@ -15,11 +16,11 @@ spec: fromTemplate: templateRef: fio/benchmark inputs: - - { node: "jedi7.cluster.ics.forth.gr", "direct": "0" } + - {node: "jedi7.cluster.ics.forth.gr", "direct": "0"} - # - action: Service - # name: fio-jedi6 - # service: +# - action: Service +# name: fio-jedi6 +# service: # fromTemplate: # templateRef: fio/benchmark # inputs: @@ -39,4 +40,4 @@ spec: # fromTemplate: # templateRef: fio/benchmark # inputs: -# - { node: "jedi8.cluster.ics.forth.gr", "direct": "0" } \ No newline at end of file +# - { node: "jedi8.cluster.ics.forth.gr", "direct": "0" } diff --git a/charts/fio/templates/benchmark-telemetry.yml b/charts/fio/templates/benchmark-telemetry.yml index ae306f0b..045ea359 100644 --- a/charts/fio/templates/benchmark-telemetry.yml +++ b/charts/fio/templates/benchmark-telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: fiomon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "server": @@ -63,6 +63,6 @@ kind: ConfigMap metadata: name: grafana-fio-dashboard labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: fio -data: {{ (.Files.Glob "dashboards/fio.json").AsConfig | nindent 2 }} \ No newline at end of file +data: {{(.Files.Glob "dashboards/fio.json").AsConfig | nindent 2}} diff --git a/charts/fio/templates/benchmark.yml b/charts/fio/templates/benchmark.yml index a32368d1..9dcea7cc 100644 --- a/charts/fio/templates/benchmark.yml +++ b/charts/fio/templates/benchmark.yml @@ -5,7 +5,7 @@ kind: Template metadata: name: fio labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "benchmark": @@ -94,4 +94,4 @@ spec: done done - sleep 3600 \ No newline at end of file + sleep 3600 diff --git a/charts/fio/values.yaml b/charts/fio/values.yaml index 49baa2b5..e69de29b 100644 --- a/charts/fio/values.yaml +++ b/charts/fio/values.yaml @@ -1,79 +0,0 @@ -# Default values for fio. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } -# capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/charts/iperf/Chart.yaml b/charts/iperf/Chart.yaml index ad3e28f3..1498541d 100644 --- a/charts/iperf/Chart.yaml +++ b/charts/iperf/Chart.yaml @@ -1,3 +1,4 @@ +--- apiVersion: v2 name: iperf description: iPerf is a tool for active measurements of the maximum achievable bandwidth on IP networks @@ -12,22 +13,21 @@ description: iPerf is a tool for active measurements of the maximum achievable b # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. appVersion: "1.16.0" - -#dependencies: +# dependencies: # - name: observability # version: 0.1.1 # repository: https://carv-ics-forth.github.io/frisbee/charts # - name: sysmon # version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts \ No newline at end of file +# repository: https://carv-ics-forth.github.io/frisbee/charts + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/iperf/plans/plan.validate-network.yml b/charts/iperf/plans/plan.validate-network.yml index 4f61d72d..4d40b1fd 100644 --- a/charts/iperf/plans/plan.validate-network.yml +++ b/charts/iperf/plans/plan.validate-network.yml @@ -1,14 +1,15 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: validate-network spec: withTelemetry: - importMonitors: [ "sysmon/container", "iperfmon/client" ] + importMonitors: ["sysmon/container", "iperfmon/client"] ingress: host: platform.science-hangar.eu - #host: localhost - #useAmbassador: true + # host: localhost + # useAmbassador: true actions: # Create an iperf server @@ -18,12 +19,12 @@ spec: fromTemplate: templateRef: iperf/server inputs: - - { "cpu": "2", memory: "4Gi" } + - {"cpu": "2", memory: "4Gi"} # Create an iperf client - action: Service name: client - depends: { running: [ server ] } + depends: {running: [server]} assert: state: '{{.Runtime.IsSuccessful "client"}} == true' sla: 'avg() OF query(wpFnYRwGk/2/bitrate, 5m, now) IS BELOW(1000)' @@ -31,4 +32,4 @@ spec: fromTemplate: templateRef: iperf/client inputs: - - { server: .service.server.any, seconds: "600" } \ No newline at end of file + - {server: .service.server.any, seconds: "600"} diff --git a/charts/iperf/templates/benchmark-telemetry.yml b/charts/iperf/templates/benchmark-telemetry.yml index fa51a807..b39160dd 100644 --- a/charts/iperf/templates/benchmark-telemetry.yml +++ b/charts/iperf/templates/benchmark-telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: iperfmon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "client": @@ -59,6 +59,6 @@ kind: ConfigMap metadata: name: grafana-iperf-dashboard labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: iperf -data: {{ (.Files.Glob "dashboards/iperf.json").AsConfig | nindent 2 }} \ No newline at end of file +data: {{(.Files.Glob "dashboards/iperf.json").AsConfig | nindent 2}} diff --git a/charts/iperf/templates/benchmark.yml b/charts/iperf/templates/benchmark.yml index 9c827c0e..73f6f4af 100644 --- a/charts/iperf/templates/benchmark.yml +++ b/charts/iperf/templates/benchmark.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: iperf labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "server": @@ -57,4 +57,4 @@ spec: server={{"{{.Inputs.Parameters.server}}"}} - iperf3 -c ${server} -t {{"{{.Inputs.Parameters.seconds}}"}} -f m > /dev/shm/pipe \ No newline at end of file + iperf3 -c ${server} -t {{"{{.Inputs.Parameters.seconds}}"}} -f m > /dev/shm/pipe diff --git a/charts/iperf/values.yaml b/charts/iperf/values.yaml index a694646b..e69de29b 100644 --- a/charts/iperf/values.yaml +++ b/charts/iperf/values.yaml @@ -1,79 +0,0 @@ -# Default values for iperf. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } -# capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/charts/mongodb/Chart.yaml b/charts/mongodb/Chart.yaml index e69ad847..073c93d1 100644 --- a/charts/mongodb/Chart.yaml +++ b/charts/mongodb/Chart.yaml @@ -1,3 +1,4 @@ +--- apiVersion: v2 name: mongodb description: MongoDB is a source-available cross-platform document-oriented database program. @@ -12,11 +13,6 @@ description: MongoDB is a source-available cross-platform document-oriented data # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. @@ -24,7 +20,7 @@ version: 0.0.0 appVersion: "1.16.0" -#dependencies: +# dependencies: # - name: observability # version: 0.1.1 # repository: https://carv-ics-forth.github.io/frisbee/charts @@ -33,4 +29,9 @@ appVersion: "1.16.0" # repository: https://carv-ics-forth.github.io/frisbee/charts # - name: ycsbmon # version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts \ No newline at end of file +# repository: https://carv-ics-forth.github.io/frisbee/charts + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/mongodb/plans/README.md b/charts/mongodb/plans/README.md new file mode 100644 index 00000000..577cd466 --- /dev/null +++ b/charts/mongodb/plans/README.md @@ -0,0 +1,17 @@ +# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. +# Thus, to keep the database size consistent, we apply the following sequence: +# +# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. +# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. +# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. +# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. +# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. +# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results +# of the following workload. +# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. +# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# +# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. \ No newline at end of file diff --git a/charts/mongodb/plans/plan.baseline.replicated.yml b/charts/mongodb/plans/plan.baseline.replicated.yml index a21592dd..5c24040c 100644 --- a/charts/mongodb/plans/plan.baseline.replicated.yml +++ b/charts/mongodb/plans/plan.baseline.replicated.yml @@ -1,27 +1,11 @@ -# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. -# Thus, to keep the database size consistent, we apply the following sequence: -# -# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. -# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. -# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. -# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. -# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. -# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results -# of the following workload. -# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. -# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# -# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: mongo-baseline-replicated spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "mongomon/exporter" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "mongomon/exporter"] ingress: host: platform.science-hangar.eu @@ -33,108 +17,106 @@ spec: templateRef: mongodb/slave instances: 2 inputs: - - { cpu: "8", memory: "32Gi" } + - {cpu: "8", memory: "32Gi"} - action: Service name: master - depends: { running: [ slaves ] } + depends: {running: [slaves]} service: fromTemplate: templateRef: mongodb/master inputs: - - { slaves: .cluster.slaves.all, cpu: "8", memory: "32Gi" } + - {slaves: .cluster.slaves.all, cpu: "8", memory: "32Gi"} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { running: [ master ] } + depends: {running: [master]} name: loader service: fromTemplate: templateRef: ycsb-mongo/loader inputs: - - { server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "400" } + - {server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "400"} # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: {success: [loader]} name: workload-a service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: {success: [workload-a]} name: workload-b service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloadb, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloadb, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: {success: [workload-b]} name: workload-c service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloadc, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloadc, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: {success: [workload-c]} name: workload-f service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloadf, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloadf, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: {success: [workload-f]} name: workload-d service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloadd, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloadd, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 7,8: Reload the data with parameters of workload E. # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: {success: [workload-d]} name: reloader service: fromTemplate: templateRef: ycsb-mongo/loader inputs: - - { server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "400" } + - {server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", + threads: "400"} # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: {success: [reloader]} name: workload-e service: fromTemplate: templateRef: ycsb-mongo/runner inputs: - - { server: .service.master.any, workload: workloade, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } - - + - {server: .service.master.any, workload: workloade, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} diff --git a/charts/mongodb/templates/database-telemetry.yml b/charts/mongodb/templates/database-telemetry.yml index df0bf4b3..5176e7ae 100644 --- a/charts/mongodb/templates/database-telemetry.yml +++ b/charts/mongodb/templates/database-telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: mongomon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "exporter": @@ -90,6 +90,6 @@ kind: ConfigMap metadata: name: grafana-mongodb-dashboard labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: mongo-telegraf -data: {{ (.Files.Glob "dashboards/mongodb.json").AsConfig | nindent 2 }} \ No newline at end of file +data: {{(.Files.Glob "dashboards/mongodb.json").AsConfig | nindent 2}} diff --git a/charts/mongodb/templates/database.yml b/charts/mongodb/templates/database.yml index fefb8df2..4d9a67db 100644 --- a/charts/mongodb/templates/database.yml +++ b/charts/mongodb/templates/database.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: mongodb labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "master": @@ -16,7 +16,7 @@ spec: cpu: "" spec: | agents: # Agents - telemetry: [ sysmon/container, mongomon/telegraf ] + telemetry: [sysmon/container, mongomon/telegraf] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -75,7 +75,7 @@ spec: set -eum response=$(timeout -s QUIT 30 mongo --eval 'rs.status().ok' localhost:{{"{{.Inputs.Parameters.port}}"}} --quiet) - if [ "$response" != "1" ]; then + if ["$response" != "1"]; then exit 1 fi @@ -88,7 +88,7 @@ spec: cpu: "" spec: | agents: # Agents - telemetry: [ sysmon/container, mongomon/telegraf ] + telemetry: [sysmon/container, mongomon/telegraf] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -134,6 +134,6 @@ spec: set -eum response=$(timeout -s QUIT 30 mongo --eval 'db.runCommand("ping").ok' localhost:{{"{{.Inputs.Parameters.port}}"}}/test --quiet) - if [ "$response" != "1" ]; then + if ["$response" != "1"]; then exit 1 - fi \ No newline at end of file + fi diff --git a/charts/mongodb/templates/ycsb-client.yml b/charts/mongodb/templates/ycsb-client.yml index 7404b69c..d8de621a 100644 --- a/charts/mongodb/templates/ycsb-client.yml +++ b/charts/mongodb/templates/ycsb-client.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: ycsb-mongo labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Loader injecting keys into a single server @@ -21,7 +22,7 @@ spec: dropdata: "false" spec: | agents: # Agents - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -48,8 +49,6 @@ spec: -p mongodb.uri="mongodb://$addr" \ >> /dev/shm/pipe - - # Run queries against a single server "runner": inputs: @@ -63,7 +62,7 @@ spec: threads: "1" spec: | agents: - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] container: name: app image: aylei/go-ycsb:20201029 @@ -83,4 +82,4 @@ spec: -p operationcount={{"{{.Inputs.Parameters.operationcount}}"}} \ -p threadcount={{"{{.Inputs.Parameters.threads}}"}} \ -p mongodb.uri="mongodb://$addr" \ - >> /dev/shm/pipe \ No newline at end of file + >> /dev/shm/pipe diff --git a/charts/mongodb/values.yaml b/charts/mongodb/values.yaml index 82809111..e69de29b 100644 --- a/charts/mongodb/values.yaml +++ b/charts/mongodb/values.yaml @@ -1,79 +0,0 @@ -# Default values for mongodb. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } -# capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/charts/observability/Chart.yaml b/charts/observability/Chart.yaml index d611dded..a0725084 100644 --- a/charts/observability/Chart.yaml +++ b/charts/observability/Chart.yaml @@ -1,12 +1,10 @@ -annotations: - category: Infrastructure +--- apiVersion: v2 appVersion: 1.10.0 description: The Observability stack of Frisbee. Installs Prometheus + Grafana home: https://github.com/bitnami/charts/tree/master/bitnami/common icon: http://new.sevenhillstechnology.com/wp-content/uploads/2021/01/undraw_programming_2svr.png - name: observability # A chart can be either an 'application' or a 'library' chart. @@ -19,8 +17,10 @@ name: observability # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application +annotations: + category: Infrastructure # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 \ No newline at end of file +version: 0.0.0 diff --git a/charts/observability/templates/stack.yml b/charts/observability/templates/stack.yml index b4c91811..dd297ec8 100644 --- a/charts/observability/templates/stack.yml +++ b/charts/observability/templates/stack.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: telemetry labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: prometheus: @@ -68,7 +68,7 @@ kind: ConfigMap metadata: name: prometheus-config labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} data: prometheus.yml: | # For all the confusing Prometheus configuration and @@ -141,15 +141,13 @@ data: # regex: __meta_kubernetes_service_label_(.+) - - --- apiVersion: v1 kind: ConfigMap metadata: name: grafana-config labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} data: dashboard.yml: | apiVersion: 1 @@ -194,4 +192,4 @@ data: #org_name = frisbee-benchmark # specify role for unauthenticated users (other roles Viewer, Editor, Admin) - org_role = Admin \ No newline at end of file + org_role = Admin diff --git a/charts/observability/values.yaml b/charts/observability/values.yaml index f46921a0..e69de29b 100644 --- a/charts/observability/values.yaml +++ b/charts/observability/values.yaml @@ -1,79 +0,0 @@ -# Default values for observability. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } - # capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/charts/orphan/0.validate-local.yml b/charts/orphan/0.validate-local.yml index 30558408..e9eb50e5 100644 --- a/charts/orphan/0.validate-local.yml +++ b/charts/orphan/0.validate-local.yml @@ -1,10 +1,11 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: validate-local spec: withTelemetry: - importMonitors: [ "sysmon/container", "iperfmon/client" ] + importMonitors: ["sysmon/container", "iperfmon/client"] ingress: host: localhost useAmbassador: true @@ -17,22 +18,22 @@ spec: fromTemplate: templateRef: iperf/server inputs: - - { "cpu": "2", memory: "4Gi" } + - {"cpu": "2", memory: "4Gi"} # Create an iperf client - action: Service name: client - depends: { running: [ server ] } + depends: {running: [server]} service: fromTemplate: templateRef: iperf/client inputs: - - { server: .service.server.any } + - {server: .service.server.any} # Cause two partition failures with different duration - action: Chaos name: partition0 - depends: { running: [ server ], after: "1m" } + depends: {running: [server], after: "1m"} chaos: type: partition partition: @@ -43,10 +44,10 @@ spec: # Cause two partition failures with different duration - action: Chaos name: partition1 - depends: { running: [ server ], success: [ partition0 ], after: "2m15s" } + depends: {running: [server], success: [partition0], after: "2m15s"} chaos: type: partition partition: selector: macro: .service.server.any - duration: "30s" \ No newline at end of file + duration: "30s" diff --git a/charts/orphan/0.validate-remote.yml b/charts/orphan/0.validate-remote.yml index 705f8674..9723f94e 100644 --- a/charts/orphan/0.validate-remote.yml +++ b/charts/orphan/0.validate-remote.yml @@ -1,14 +1,14 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: validate-remote spec: withTelemetry: - importMonitors: [ "sysmon/container" ] + importMonitors: ["sysmon/container"] ingress: host: platform.science-hangar.eu - actions: # Create a single Master node - action: Service @@ -20,7 +20,7 @@ spec: # Cause two partition failures with different duration - action: Chaos name: partition0 - depends: { running: [ master ] } + depends: {running: [master]} chaos: type: partition partition: @@ -31,10 +31,10 @@ spec: # Cause two partition failures with different duration - action: Chaos name: partition1 - depends: { running: [ master ], success: [ partition0 ], after: "1m" } + depends: {running: [master], success: [partition0], after: "1m"} chaos: type: partition partition: selector: macro: .service.master.any - duration: "30s" \ No newline at end of file + duration: "30s" diff --git a/charts/orphan/2.mixed-workloads.yml b/charts/orphan/2.mixed-workloads.yml index 16c76ca7..cc42f100 100644 --- a/charts/orphan/2.mixed-workloads.yml +++ b/charts/orphan/2.mixed-workloads.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: redis-mixed-workloads spec: - importMonitors: [ "sysmon/container", "redismon/server", "ycsbmon/client" ] + importMonitors: ["sysmon/container", "redismon/server", "ycsbmon/client"] ingress: host: localhost useAmbassador: true @@ -23,25 +24,25 @@ spec: # Ingest keys in parallel, into different ranges - action: Cluster name: "loaders" - depends: { running: [ master ] } + depends: {running: [master]} cluster: templateRef: ycsb-redis/loader inputs: - - { server: .service.master.any, recordcount: "1000000", offset: "0" } - - { server: .service.master.any, recordcount: "1000000", offset: "1000000" } - - { server: .service.master.any, recordcount: "1000000", offset: "2000000" } + - {server: .service.master.any, recordcount: "1000000", offset: "0"} + - {server: .service.master.any, recordcount: "1000000", offset: "1000000"} + - {server: .service.master.any, recordcount: "1000000", offset: "2000000"} # Wait for ingestion to complete, and start querying clients, with different workloads - action: Cluster name: "runners" - depends: { running: [ master ], success: [ loaders ] } + depends: {running: [master], success: [loaders]} cluster: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000" } - - { server: .service.master.any, workload: workloadb, operationcount: "1000000" } - - { server: .service.master.any, workload: workloadc, operationcount: "1000000" } - - { server: .service.master.any, workload: workloadd, operationcount: "1000000" } - - { server: .service.master.any, workload: workloada, operationcount: "1000000" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000"} + - {server: .service.master.any, workload: workloadb, operationcount: "1000000"} + - {server: .service.master.any, workload: workloadc, operationcount: "1000000"} + - {server: .service.master.any, workload: workloadd, operationcount: "1000000"} + - {server: .service.master.any, workload: workloada, operationcount: "1000000"} schedule: - cron: "@every 2m" \ No newline at end of file + cron: "@every 2m" diff --git a/charts/orphan/README.md b/charts/orphan/README.md index 41a07af0..024f4838 100644 --- a/charts/orphan/README.md +++ b/charts/orphan/README.md @@ -16,7 +16,7 @@ By codifying the test plan in a YAML-based syntax, Frisbee carriers three main b 2. Test Plan **guides** our thinking. It is like a rule book, which needs to be followed. 3. Important aspects like test estimation, test - scope,[ Test Strategy ](https://www.guru99.com/how-to-create-test-strategy-document.html)are **documented** in Test + scope,[Test Strategy](https://www.guru99.com/how-to-create-test-strategy-document.html)are **documented** in Test Plan, so it can be reviewed by Management Team and re-used for other projects. A test plan may include a strategy for one or more of the following: diff --git a/charts/platform/Chart.yaml b/charts/platform/Chart.yaml index 0f243554..05b615ea 100644 --- a/charts/platform/Chart.yaml +++ b/charts/platform/Chart.yaml @@ -1,3 +1,4 @@ +--- apiVersion: v2 name: platform description: Frisbee is a Kubernetes platform for exploring, testing, and benchmarking distributed applications. @@ -12,20 +13,14 @@ description: Frisbee is a Kubernetes platform for exploring, testing, and benchm # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. appVersion: "1.16.0" - -# The dependency commands operate on that file, making it easy to synchronize between the desired dependencies -# and the actual dependencies stored in the 'charts/' directory. +# The dependency commands operate on that file, making it easy to synchronize between +# the desired dependencies and the actual dependencies stored in the 'charts/' directory. dependencies: - condition: chaos-mesh.enabled name: chaos-mesh @@ -35,3 +30,9 @@ dependencies: name: openebs version: "3.0.0" repository: https://openebs.github.io/charts + + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/platform/crds/frisbee.io_chaos.yaml b/charts/platform/crds/frisbee.io_chaos.yaml index 63ddd9bc..e4fb34e6 100644 --- a/charts/platform/crds/frisbee.io_chaos.yaml +++ b/charts/platform/crds/frisbee.io_chaos.yaml @@ -191,10 +191,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/crds/frisbee.io_clusters.yaml b/charts/platform/crds/frisbee.io_clusters.yaml index 1b266ae4..99a6df1a 100644 --- a/charts/platform/crds/frisbee.io_clusters.yaml +++ b/charts/platform/crds/frisbee.io_clusters.yaml @@ -111,13 +111,13 @@ spec: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type \ // +patchStrategy=merge // +listType=map // +listMapKey=type \ Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + \n // other fields}" properties: lastTransitionTime: description: lastTransitionTime is the last time the condition @@ -2969,10 +2969,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/crds/frisbee.io_services.yaml b/charts/platform/crds/frisbee.io_services.yaml index 6d2e082d..6be8b340 100644 --- a/charts/platform/crds/frisbee.io_services.yaml +++ b/charts/platform/crds/frisbee.io_services.yaml @@ -2688,10 +2688,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/crds/frisbee.io_telemetries.yaml b/charts/platform/crds/frisbee.io_telemetries.yaml index bd0d4b9e..57d23a35 100644 --- a/charts/platform/crds/frisbee.io_telemetries.yaml +++ b/charts/platform/crds/frisbee.io_telemetries.yaml @@ -84,10 +84,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/crds/frisbee.io_templates.yaml b/charts/platform/crds/frisbee.io_templates.yaml index 70c9328b..85c10112 100644 --- a/charts/platform/crds/frisbee.io_templates.yaml +++ b/charts/platform/crds/frisbee.io_templates.yaml @@ -80,10 +80,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/crds/frisbee.io_workflows.yaml b/charts/platform/crds/frisbee.io_workflows.yaml index af30d0f6..99503595 100644 --- a/charts/platform/crds/frisbee.io_workflows.yaml +++ b/charts/platform/crds/frisbee.io_workflows.yaml @@ -3224,13 +3224,13 @@ spec: description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, - type FooStatus struct{ // Represents the observations of a + type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type \ // +patchStrategy=merge // +listType=map // +listMapKey=type \ Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" + \n // other fields}" properties: lastTransitionTime: description: lastTransitionTime is the last time the condition @@ -3318,10 +3318,10 @@ spec: served: true storage: true subresources: - status: { } + status: {} status: acceptedNames: kind: "" plural: "" - conditions: [ ] - storedVersions: [ ] + conditions: [] + storedVersions: [] diff --git a/charts/platform/templates/infrastructure/manual_pv.yml b/charts/platform/templates/infrastructure/manual_pv.yml index ea662b40..b6ae2468 100644 --- a/charts/platform/templates/infrastructure/manual_pv.yml +++ b/charts/platform/templates/infrastructure/manual_pv.yml @@ -1,11 +1,11 @@ -{{- if .Values.manual.enabled }} --- +{{- if .Values.manual.enabled}} apiVersion: v1 kind: PersistentVolume metadata: name: scratch labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: capacity: storage: 256Gi @@ -18,24 +18,21 @@ spec: storageClassName: ssd-storage # Use StorageClass to delay volume binding until Pod scheduling. local: path: /mnt/local - nodeAffinity: # Tie volume to specific nodes and schedule Pods into it. + # Tie volume to specific nodes and schedule Pods into it. + nodeAffinity: required: nodeSelectorTerms: - matchExpressions: + # List of nodes that can server this volume - key: kubernetes.io/hostname operator: In - values: # List of nodes that can server this volume + values: - jedi5.cluster.ics.forth.gr - jedi6.cluster.ics.forth.gr - jedi7.cluster.ics.forth.gr - jedi8.cluster.ics.forth.gr - - - - - # # -- volumeBindingMode -- # @@ -60,7 +57,7 @@ kind: StorageClass metadata: name: nvme-storage labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} provisioner: "kubernetes.io/no-provisioner" volumeBindingMode: "WaitForFirstConsumer" @@ -70,7 +67,7 @@ kind: StorageClass metadata: name: ssd-storage labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} provisioner: "kubernetes.io/no-provisioner" volumeBindingMode: "WaitForFirstConsumer" @@ -80,7 +77,7 @@ kind: StorageClass metadata: name: shared-ssd-storage labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} provisioner: "kubernetes.io/no-provisioner" volumeBindingMode: "WaitForFirstConsumer" @@ -90,11 +87,8 @@ kind: StorageClass metadata: name: backup-storage labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} provisioner: "kubernetes.io/no-provisioner" volumeBindingMode: "WaitForFirstConsumer" - - - - {{- end }} \ No newline at end of file +{{- end}} diff --git a/charts/platform/templates/infrastructure/openebs.yml b/charts/platform/templates/infrastructure/openebs.yml index 90ec0af4..e293300b 100644 --- a/charts/platform/templates/infrastructure/openebs.yml +++ b/charts/platform/templates/infrastructure/openebs.yml @@ -1,10 +1,11 @@ -{{- if .Values.openebs.enabled }} +--- +{{- if .Values.openebs.enabled}} apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ssd-storage labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} annotations: storageclass.kubernetes.io/is-default-class: "true" openebs.io/cas-type: local @@ -16,4 +17,4 @@ metadata: provisioner: openebs.io/local reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer - {{- end }} \ No newline at end of file +{{- end}} diff --git a/charts/platform/values.yaml b/charts/platform/values.yaml index c2d02312..16df30c9 100644 --- a/charts/platform/values.yaml +++ b/charts/platform/values.yaml @@ -1,7 +1,7 @@ +--- chaos-mesh: enabled: false - # OpenEBS - Provision dynamic volumes openebs: enabled: true @@ -12,7 +12,6 @@ openebs: defaultStorageConfig: enabled: false - # Provision the infrastructure manually manual: enabled: false @@ -20,8 +19,8 @@ manual: # Observability observability: - -# Global values are values that can be accessed from any chart or subchart by exactly the same name. -# They should be accessed explicitly via {{.Values.global.salad}} +# Global values are values that can be accessed from any chart or subchart by +# exactly the same name. They should be accessed explicitly +# via {{.Values.global.salad}} global: salad: caesar diff --git a/charts/redis/Chart.yaml b/charts/redis/Chart.yaml index ab7a5d0a..19008a85 100644 --- a/charts/redis/Chart.yaml +++ b/charts/redis/Chart.yaml @@ -1,6 +1,8 @@ +--- apiVersion: v2 name: redis -description: Redis is an in-memory data structure store, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. +description: "Redis is an in-memory data structure store, used as a distributed, +in-memory key–value database, cache and message broker, with optional durability." # A chart can be either an 'application' or a 'library' chart. # @@ -12,20 +14,13 @@ description: Redis is an in-memory data structure store, used as a distributed, # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. appVersion: "1.16.0" - - -#dependencies: +# dependencies: # - name: observability # version: 0.1.1 # repository: https://carv-ics-forth.github.io/frisbee/charts @@ -34,4 +29,9 @@ appVersion: "1.16.0" # repository: https://carv-ics-forth.github.io/frisbee/charts # - name: ycsbmon # version: 0.1.1 -# repository: https://carv-ics-forth.github.io/frisbee/charts \ No newline at end of file +# repository: https://carv-ics-forth.github.io/frisbee/charts + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/redis/dashboards/redis.json b/charts/redis/dashboards/redis.json index ece4276c..77228530 100644 --- a/charts/redis/dashboards/redis.json +++ b/charts/redis/dashboards/redis.json @@ -12,7 +12,7 @@ "showIn": 0, "tags": [], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -23,17 +23,17 @@ "showIn": 0, "tags": [ "run" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "run" - ], + ], "type": "tags" - }, + }, "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": false, @@ -44,9 +44,9 @@ "showIn": 0, "tags": [ "exit" - ], + ], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -57,20 +57,20 @@ "showIn": 0, "tags": [ "failure" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "failure" - ], + ], "type": "tags" - }, + }, "type": "tags", "useValueForTime": false - } - ] - }, + } + ] + }, "description": "Prometheus dashboard for Redis servers", "editable": true, "gnetId": 4074, @@ -85,25 +85,25 @@ "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 - }, + }, "id": 53, "panels": [], "title": "Cluster Overview", "type": "row" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -111,23 +111,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 1 - }, + }, "id": 51, "options": { "displayMode": "basic", @@ -135,13 +135,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "showUnfilled": true, "text": {} - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -151,13 +151,13 @@ "interval": "", "legendFormat": "{{instance}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Keyspace Distribution", "type": "bargauge" - }, + }, { "datasource": null, "description": "Total number of commands processed by the server", @@ -165,7 +165,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -173,23 +173,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 8 - }, + }, "id": 65, "options": { "displayMode": "basic", @@ -197,13 +197,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "showUnfilled": true, "text": {} - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -213,32 +213,32 @@ "interval": "", "legendFormat": "{{instance}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Total Commands Processed", "type": "bargauge" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 15 - }, + }, "id": 37, "panels": [], "repeat": null, "title": "Overview $instance", "type": "row" - }, + }, { "cacheTimeout": null, "datasource": null, @@ -247,22 +247,22 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [] - }, + }, "unit": "dtdurations" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 5, "x": 0, "y": 16 - }, + }, "id": 20, "interval": null, "links": [], @@ -275,13 +275,13 @@ "reduceOptions": { "calcs": [ "max" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -290,16 +290,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "null" - ], + ], "type": "fill" - } - ], + } + ], "instant": false, "interval": "", "legendFormat": "{{instance}}", @@ -313,27 +313,27 @@ { "params": [ "uptime" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - } - ] - } - ], + } + ] + } + ], "title": "Redis Up Time", "type": "stat" - }, + }, { "cacheTimeout": null, "datasource": null, @@ -342,41 +342,41 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [ { "options": { "match": "null", "result": { "text": "N/A" - } - }, + } + }, "type": "special" - } - ], + } + ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "none" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 6, "x": 5, "y": 16 - }, + }, "id": 33, "interval": null, "links": [], @@ -389,13 +389,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -405,16 +405,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "none" - ], + ], "type": "fill" - } - ], + } + ], "interval": "", "legendFormat": "", "measurement": "redis", @@ -427,40 +427,40 @@ { "params": [ "total_commands_processed" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - } - ], + } + ] + } + ], "title": "Number of Keys", "type": "stat" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -468,23 +468,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 11, "y": 16 - }, + }, "id": 61, "options": { "colorMode": "background", @@ -494,13 +494,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -511,14 +511,14 @@ "interval": "", "legendFormat": "connected_clients", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Connected Clients", "transformations": [], "type": "stat" - }, + }, { "cacheTimeout": null, "datasource": null, @@ -526,7 +526,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -534,23 +534,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 14, "y": 16 - }, + }, "id": 30, "interval": null, "links": [], @@ -563,13 +563,13 @@ "reduceOptions": { "calcs": [ "last" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -582,14 +582,14 @@ "intervalFactor": 1, "legendFormat": "Total Connections", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Total Connection Received", "transformations": [], "type": "stat" - }, + }, { "cacheTimeout": null, "datasource": null, @@ -598,7 +598,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -606,23 +606,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 4, "x": 17, "y": 16 - }, + }, "id": 32, "interval": null, "links": [], @@ -635,13 +635,13 @@ "reduceOptions": { "calcs": [ "last" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -651,16 +651,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "none" - ], + ], "type": "fill" - } - ], + } + ], "instant": false, "interval": "", "legendFormat": "", @@ -674,33 +674,33 @@ { "params": [ "total_commands_processed" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - } - ], + } + ] + } + ], "title": "Total Commands Processed", "type": "stat" - }, + }, { "cacheTimeout": null, "datasource": null, @@ -709,7 +709,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -717,23 +717,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 21, "y": 16 - }, + }, "id": 66, "interval": null, "links": [], @@ -746,13 +746,13 @@ "reduceOptions": { "calcs": [ "last" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -762,16 +762,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "none" - ], + ], "type": "fill" - } - ], + } + ], "instant": false, "interval": "", "legendFormat": "", @@ -785,33 +785,33 @@ { "params": [ "total_commands_processed" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - } - ], + } + ] + } + ], "title": "Total Error Replies", "type": "stat" - }, + }, { "datasource": null, "description": "Number of commands processed per second", @@ -819,7 +819,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -831,23 +831,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -855,39 +855,39 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Instantaneous OPS per sec" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#0a437c", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 10, "x": 0, "y": 20 - }, + }, "id": 49, "links": [], "options": { @@ -896,14 +896,14 @@ "mean", "lastNotNull", "max" - ], + ], "displayMode": "hidden", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -914,16 +914,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "linear" - ], + ], "type": "fill" - } - ], + } + ], "instant": false, "interval": "", "intervalFactor": 1, @@ -938,36 +938,36 @@ { "params": [ "instantaneous_ops_per_sec" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - } - ], + } + ] + } + ], "timeFrom": null, "timeShift": null, "title": "Commands Executed / Sec", "transparent": true, "type": "timeseries" - }, + }, { "datasource": null, "description": "User CPU consumed by the Redis server", @@ -975,7 +975,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -987,23 +987,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "links": [], "mappings": [], "thresholds": { @@ -1012,66 +1012,66 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "percent" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Uuser CPU" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#cca300", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Redis User CPU" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "rgb(250, 192, 42)", "mode": "fixed" - } - }, + } + }, { "id": "custom.fillOpacity", "value": 20 - }, + }, { "id": "custom.lineWidth", "value": 0 - }, + }, { "id": "custom.lineWidth", "value": 2 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 14, "x": 10, "y": 20 - }, + }, "id": 26, "links": [], "options": { @@ -1080,14 +1080,14 @@ "mean", "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1098,16 +1098,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "linear" - ], + ], "type": "fill" - } - ], + } + ], "interval": "", "intervalFactor": 1, "legendFormat": "User", @@ -1121,29 +1121,29 @@ { "params": [ "used_cpu_user" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - }, + } + ] + }, { "exemplar": true, "expr": "max (irate(container_cpu_system_seconds_total{instance=\"$instance\"}[1m])) *100\n", @@ -1152,7 +1152,7 @@ "interval": "", "legendFormat": "System", "refId": "C" - }, + }, { "exemplar": true, "expr": "", @@ -1160,21 +1160,21 @@ "interval": "", "legendFormat": "", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Redis CPU Usage", "transparent": true, "type": "timeseries" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1186,23 +1186,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "links": [], "mappings": [], "thresholds": { @@ -1211,53 +1211,53 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "bytes" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "input_bytes" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 14, "x": 10, "y": 27 - }, + }, "id": 47, "options": { "legend": { "calcs": [ "mean", "lastNotNull" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1265,21 +1265,21 @@ "interval": "", "legendFormat": "input_bytes", "refId": "A" - }, + }, { "exemplar": true, "expr": "- max(redis_total_net_output_bytes{instance=\"$instance\"})", "interval": "", "legendFormat": "output_bytes", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Network Input / Output", "transparent": true, "type": "timeseries" - }, + }, { "aliasColors": {}, "bars": true, @@ -1296,7 +1296,7 @@ "w": 10, "x": 0, "y": 28 - }, + }, "hiddenSeries": false, "id": 14, "legend": { @@ -1309,14 +1309,14 @@ "show": false, "total": false, "values": false - }, + }, "lines": false, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": false - }, + }, "percentage": true, "pluginVersion": "8.1.3", "pointradius": 5, @@ -1333,12 +1333,12 @@ "format": "time_series", "interval": "", "intervalFactor": 1, - "legendFormat": "{{ command }}", + "legendFormat": "{{command }}", "metric": "redis_command_calls_total", "refId": "A", "step": 240 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1349,7 +1349,7 @@ "shared": false, "sort": 1, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1358,8 +1358,8 @@ "show": true, "values": [ "total" - ] - }, + ] + }, "yaxes": [ { "$$hashKey": "object:615", @@ -1369,7 +1369,7 @@ "max": null, "min": null, "show": true - }, + }, { "$$hashKey": "object:616", "format": "short", @@ -1378,13 +1378,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "datasource": null, "description": "Total number of bytes allocated by Redis using its allocator", @@ -1392,7 +1392,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1404,23 +1404,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "links": [], "mappings": [], "thresholds": { @@ -1429,118 +1429,118 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "bytes" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "redis: mem_rss" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "rgba(239, 132, 60, 0.94)", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "redis: mem_used" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "redis: mem_used" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - }, + }, { "id": "custom.lineWidth", "value": 2 - } - ] - }, + } + ] + }, { "matcher": { "id": "byName", "options": "redis: mem_lua" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - }, + }, { "id": "custom.lineWidth", "value": 2 - } - ] - }, + } + ] + }, { "matcher": { "id": "byName", "options": "redis: mem_peak" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - }, + }, { "id": "custom.lineWidth", "value": 2 - } - ] - }, + } + ] + }, { "matcher": { "id": "byName", "options": "redis: mem_rss" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - }, + }, { "id": "custom.lineWidth", "value": 2 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 14, "x": 10, "y": 35 - }, + }, "id": 24, "links": [], "options": { @@ -1549,14 +1549,14 @@ "mean", "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1567,16 +1567,16 @@ { "params": [ "$__interval" - ], + ], "type": "time" - }, + }, { "params": [ "linear" - ], + ], "type": "fill" - } - ], + } + ], "instant": false, "interval": "", "legendFormat": "mem_used", @@ -1590,82 +1590,82 @@ { "params": [ "used_memory" - ], + ], "type": "field" - }, + }, { "params": [], "type": "mean" - } - ] - ], + } + ] + ], "tags": [ { "key": "host", "operator": "=~", "value": "/^$Host$/" - }, + }, { "condition": "AND", "key": "server", "operator": "=~", "value": "/^$Server$/" - } - ] - }, + } + ] + }, { "expr": "max(redis_used_memory_lua{instance=~\"$instance\"})", "instant": false, "interval": "", "legendFormat": "mem_lua", "refId": "B" - }, + }, { "expr": "max(redis_used_memory_peak{instance=\"$instance\"})", "instant": false, "interval": "", "legendFormat": "mem_peak", "refId": "C" - }, + }, { "expr": "max(redis_used_memory_rss{instance=\"$instance\"})", "interval": "", "legendFormat": "mem_rss", "refId": "D" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Redis Memory Utilization", "transformations": [], "transparent": true, "type": "timeseries" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 43 - }, + }, "id": 63, "panels": [], "title": "Replication", "type": "row" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1673,23 +1673,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 0, "y": 44 - }, + }, "id": 64, "options": { "colorMode": "background", @@ -1699,13 +1699,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1716,14 +1716,14 @@ "interval": "", "legendFormat": "connected_clients", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Connected Slaves", "transformations": [], "type": "stat" - }, + }, { "datasource": null, "description": "The number of full resyncs with replicas", @@ -1731,7 +1731,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1739,23 +1739,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 3, "y": 44 - }, + }, "id": 67, "options": { "colorMode": "background", @@ -1765,13 +1765,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1782,14 +1782,14 @@ "interval": "", "legendFormat": "The number of full resyncs with replicas", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Sync Full", "transformations": [], "type": "stat" - }, + }, { "datasource": null, "description": "The number of accepted partial resync requests", @@ -1797,7 +1797,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1805,23 +1805,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 6, "y": 44 - }, + }, "id": 68, "options": { "colorMode": "background", @@ -1831,13 +1831,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1848,14 +1848,14 @@ "interval": "", "legendFormat": "The number of accepted partial resync requests", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Sync Partial OK", "transformations": [], "type": "stat" - }, + }, { "datasource": null, "description": "The number of denied partial resync requests", @@ -1863,7 +1863,7 @@ "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1871,23 +1871,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 4, "w": 3, "x": 9, "y": 44 - }, + }, "id": 69, "options": { "colorMode": "background", @@ -1897,13 +1897,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "text": {}, "textMode": "auto" - }, + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1914,21 +1914,21 @@ "interval": "", "legendFormat": "The number of denied partial resync requests", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Sync Partial Error", "transformations": [], "type": "stat" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1940,23 +1940,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1964,34 +1964,34 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "s" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 6, "w": 24, "x": 0, "y": 48 - }, + }, "id": 56, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -2001,39 +2001,39 @@ "interval": "", "legendFormat": "{{replication_role}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Uptime per Role", "transparent": true, "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 54 - }, + }, "id": 18, "panels": [], "title": "Redis Cache", "type": "row" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2045,23 +2045,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "links": [], "mappings": [], "thresholds": { @@ -2070,57 +2070,57 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "redis_hitrate" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "rgb(57, 179, 121)", "mode": "fixed" - } - }, + } + }, { "id": "custom.lineWidth", "value": 2 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 10, "w": 12, "x": 0, "y": 55 - }, + }, "id": 39, "options": { "legend": { "calcs": [ "mean", "lastNotNull" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -2130,21 +2130,21 @@ "interval": "", "legendFormat": "redis_hitrate", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Hit / Miss Rate", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2156,23 +2156,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2181,23 +2181,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 10, "w": 6, "x": 12, "y": 55 - }, + }, "id": 1, "links": [], "options": { @@ -2205,11 +2205,11 @@ "calcs": [], "displayMode": "hidden", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -2224,7 +2224,7 @@ "refId": "A", "step": 240, "target": "" - }, + }, { "exemplar": true, "expr": "max(irate(redis_keyspace_misses{instance=\"$instance\"}[1m]))", @@ -2237,14 +2237,14 @@ "refId": "B", "step": 240, "target": "" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Hits / Misses per Sec", "transparent": true, "type": "timeseries" - }, + }, { "aliasColors": {}, "bars": true, @@ -2261,7 +2261,7 @@ "w": 6, "x": 18, "y": 55 - }, + }, "hiddenSeries": false, "id": 13, "legend": { @@ -2272,14 +2272,14 @@ "show": false, "total": false, "values": false - }, + }, "lines": false, "linewidth": 2, "links": [], "nullPointMode": "connected", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "8.1.3", "pointradius": 5, @@ -2300,7 +2300,7 @@ "refId": "A", "step": 240, "target": "" - }, + }, { "expr": "sum (redis_expired_keys{instance=~\"$instance\", host=~\"$host\"}) ", "format": "time_series", @@ -2310,8 +2310,8 @@ "metric": "", "refId": "B", "step": 240 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2322,7 +2322,7 @@ "shared": false, "sort": 0, "value_type": "individual" - }, + }, "transparent": true, "type": "graph", "xaxis": { @@ -2332,8 +2332,8 @@ "show": true, "values": [ "total" - ] - }, + ] + }, "yaxes": [ { "$$hashKey": "object:316", @@ -2343,7 +2343,7 @@ "max": null, "min": null, "show": true - }, + }, { "$$hashKey": "object:317", "format": "short", @@ -2352,18 +2352,18 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": { "evicted_keys": "purple", "expirted_keys": "red" - }, + }, "bars": false, "dashLength": 10, "dashes": false, @@ -2372,9 +2372,9 @@ "fieldConfig": { "defaults": { "links": [] - }, + }, "overrides": [] - }, + }, "fill": 1, "fillGradient": 0, "gridPos": { @@ -2382,7 +2382,7 @@ "w": 6, "x": 0, "y": 65 - }, + }, "hiddenSeries": false, "id": 43, "legend": { @@ -2395,13 +2395,13 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "8.1.3", "pointradius": 2, @@ -2418,15 +2418,15 @@ "interval": "", "legendFormat": "evicted_keys", "refId": "A" - }, + }, { "exemplar": true, "expr": "sum(redis_expired_keys{instance=\"$instance\"})", "interval": "", "legendFormat": "expirted_keys", "refId": "B" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2436,7 +2436,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2444,7 +2444,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "$$hashKey": "object:731", @@ -2454,7 +2454,7 @@ "max": null, "min": null, "show": true - }, + }, { "$$hashKey": "object:732", "format": "short", @@ -2463,17 +2463,17 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": { "total_tracking_items": "light-blue" - }, + }, "bars": false, "dashLength": 10, "dashes": false, @@ -2481,9 +2481,9 @@ "fieldConfig": { "defaults": { "links": [] - }, + }, "overrides": [] - }, + }, "fill": 3, "fillGradient": 0, "gridPos": { @@ -2491,7 +2491,7 @@ "w": 12, "x": 6, "y": 65 - }, + }, "hiddenSeries": false, "id": 41, "legend": { @@ -2502,13 +2502,13 @@ "show": false, "total": false, "values": false - }, + }, "lines": true, "linewidth": 3, "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "8.1.3", "pointradius": 2, @@ -2524,8 +2524,8 @@ "interval": "", "legendFormat": "total_tracking_items", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2535,7 +2535,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2543,7 +2543,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -2552,7 +2552,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2560,21 +2560,21 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "refresh": "30s", "schemaVersion": 30, "style": "dark", "tags": [ "prometheus", "redis" - ], + ], "templating": { "list": [ { @@ -2583,7 +2583,7 @@ "selected": false, "text": "masters", "value": "masters" - }, + }, "datasource": "Prometheus", "definition": "label_values(redis_uptime,instance)", "description": null, @@ -2597,7 +2597,7 @@ "query": { "query": "label_values(redis_uptime,instance)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -2606,14 +2606,14 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": ".*", "current": { "selected": false, "text": "jedi5.cluster.ics.forth.gr", "value": "jedi5.cluster.ics.forth.gr" - }, + }, "datasource": "Prometheus", "definition": "label_values(redis_uptime,host)", "description": null, @@ -2627,7 +2627,7 @@ "query": { "query": "label_values(redis_uptime,host)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -2636,13 +2636,13 @@ "tagsQuery": "", "type": "query", "useTags": false - } - ] - }, + } + ] + }, "time": { "from": "now-1h", "to": "now" - }, + }, "timepicker": { "refresh_intervals": [ "5s", @@ -2655,7 +2655,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -2666,8 +2666,8 @@ "2d", "7d", "30d" - ] - }, + ] + }, "timezone": "browser", "title": "Prometheus Redis (by addr and host)", "uid": "EeXaCe8Mz", diff --git a/charts/redis/plans/README.md b/charts/redis/plans/README.md new file mode 100644 index 00000000..577cd466 --- /dev/null +++ b/charts/redis/plans/README.md @@ -0,0 +1,17 @@ +# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. +# Thus, to keep the database size consistent, we apply the following sequence: +# +# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. +# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. +# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. +# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. +# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. +# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results +# of the following workload. +# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. +# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# +# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. \ No newline at end of file diff --git a/charts/redis/plans/plan.availability.single.yml b/charts/redis/plans/plan.availability.single.yml index ee5e35b3..9d1b285c 100644 --- a/charts/redis/plans/plan.availability.single.yml +++ b/charts/redis/plans/plan.availability.single.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: redis-availability-single spec: - importMonitors: [ "sysmon/container", "redismon/server", "ycsbmon/client" ] + importMonitors: ["sysmon/container", "redismon/server", "ycsbmon/client"] ingress: host: localhost useAmbassador: true @@ -23,38 +24,38 @@ spec: # Create a Slave node - action: Service name: slave - depends: { running: [ master ] } + depends: {running: [master]} service: fromTemplate: templateRef: redis/slave inputs: - - { master: .service.master.any } + - {master: .service.master.any} # Create a failover manager - action: Service name: sentinel - depends: { running: [ master, slave ] } + depends: {running: [master, slave]} service: fromTemplate: templateRef: redis/sentinel inputs: - - { master: .service.master.any } + - {master: .service.master.any} # Ingest keys in parallel, into different ranges - action: Cluster name: "loaders" - depends: { running: [ master ] } + depends: {running: [master]} cluster: templateRef: ycsb-redis/loader inputs: - - { server: .service.master.any, recordcount: "100000000", offset: "0" } + - {server: .service.master.any, recordcount: "100000000", offset: "0"} # Cause two partition failures with different duration - action: Chaos name: partition0 - depends: { running: [ master, slave ], after: "3m" } + depends: {running: [master, slave], after: "3m"} chaos: type: partition partition: @@ -64,9 +65,9 @@ spec: - action: Chaos name: partition1 - depends: { running: [ master, slave ], success: [ partition0 ], after: "6m" } + depends: {running: [master, slave], success: [partition0], after: "6m"} chaos: type: partition partition: - selector: { macro: .service.master.any } - duration: "1m" \ No newline at end of file + selector: {macro: .service.master.any} + duration: "1m" diff --git a/charts/redis/plans/plan.baseline.cluster.yml b/charts/redis/plans/plan.baseline.cluster.yml index 3661c45b..2f3f4313 100644 --- a/charts/redis/plans/plan.baseline.cluster.yml +++ b/charts/redis/plans/plan.baseline.cluster.yml @@ -1,27 +1,11 @@ -# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. -# Thus, to keep the database size consistent, we apply the following sequence: -# -# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. -# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. -# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. -# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. -# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. -# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results -# of the following workload. -# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. -# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# -# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: redis-baseline-cluster spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "redismon/server" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "redismon/server"] ingress: host: platform.science-hangar.eu @@ -34,110 +18,106 @@ spec: templateRef: rediscluster/master instances: 3 inputs: - - { cpu: "8", memory: "32Gi" } + - {cpu: "8", memory: "32Gi"} - action: Service name: boot - depends: { running: [ master ] } + depends: {running: [master]} service: fromTemplate: templateRef: rediscluster/bootstrap inputs: - - { servers: .cluster.master.all } + - {servers: .cluster.master.all} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { success: [ boot ] } + depends: {success: [boot]} name: loader service: fromTemplate: templateRef: ycsb-redis/loader inputs: - - { server: .cluster.master.any, workload: workloada, recordcount: "1000000", threads: "400", - mode: "cluster" } + - {server: .cluster.master.any, workload: workloada, recordcount: "1000000", threads: "400", + mode: "cluster"} # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: {success: [loader]} name: workload-a service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .cluster.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "cluster", } + - {server: .cluster.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "cluster"} # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: {success: [workload-a]} name: workload-b service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { mode: "cluster", server: .cluster.master.any, workload: workloadb, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {mode: "cluster", server: .cluster.master.any, workload: workloadb, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: {success: [workload-b]} name: workload-c service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .cluster.master.any, workload: workloadc, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "cluster" } + - {server: .cluster.master.any, workload: workloadc, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "cluster"} # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: {success: [workload-c]} name: workload-f service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .cluster.master.any, workload: workloadf, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "cluster" } + - {server: .cluster.master.any, workload: workloadf, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "cluster"} # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: {success: [workload-f]} name: workload-d service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .cluster.master.any, workload: workloadd, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "cluster" } - + - {server: .cluster.master.any, workload: workloadd, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "cluster"} # Step 7,8: Reload the data with parameters of workload E. # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: {success: [workload-d]} name: reloader service: fromTemplate: templateRef: ycsb-redis/loader inputs: - - { mode: "cluster", server: .cluster.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "400" } - + - {mode: "cluster", server: .cluster.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", + threads: "400"} # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: {success: [reloader]} name: workload-e service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .cluster.master.any, workload: workloade, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "cluster" } - - + - {server: .cluster.master.any, workload: workloade, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "cluster"} diff --git a/charts/redis/plans/plan.baseline.single.yml b/charts/redis/plans/plan.baseline.single.yml index 1794af20..a86ebdb1 100644 --- a/charts/redis/plans/plan.baseline.single.yml +++ b/charts/redis/plans/plan.baseline.single.yml @@ -1,31 +1,14 @@ -# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. -# Thus, to keep the database size consistent, we apply the following sequence: -# -# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. -# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. -# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. -# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. -# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. -# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results -# of the following workload. -# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. -# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# -# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: redis-baseline-single spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "redismon/server" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "redismon/server"] ingress: host: platform.science-hangar.eu - actions: # Step 0: bootstrap. - action: Service @@ -34,100 +17,98 @@ spec: fromTemplate: templateRef: redis/master inputs: - - { cpu: "8", memory: "32Gi" } + - {cpu: "8", memory: "32Gi"} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { running: [ master ] } + depends: {running: [master]} name: loader service: fromTemplate: templateRef: ycsb-redis/loader inputs: - - { server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "400", mode: "single" } + - {server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "400", mode: "single"} # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: {success: [loader]} name: workload-a service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" , mode: "single" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: {success: [workload-a]} name: workload-b service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloadb, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "single" } + - {server: .service.master.any, workload: workloadb, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: {success: [workload-b]} name: workload-c service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloadc, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "single" } + - {server: .service.master.any, workload: workloadc, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: {success: [workload-c]} name: workload-f service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloadf, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "single" } + - {server: .service.master.any, workload: workloadf, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: {success: [workload-f]} name: workload-d service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloadd, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "single" } + - {server: .service.master.any, workload: workloadd, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} # Step 7,8: Reload the data with parameters of workload E. # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: {success: [workload-d]} name: reloader service: fromTemplate: templateRef: ycsb-redis/loader inputs: - - { server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "400", mode: "single" } + - {server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", + threads: "400", mode: "single"} # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: {success: [reloader]} name: workload-e service: fromTemplate: templateRef: ycsb-redis/runner inputs: - - { server: .service.master.any, workload: workloade, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40", mode: "single" } - - + - {server: .service.master.any, workload: workloade, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40", mode: "single"} diff --git a/charts/redis/templates/database-cluster.yml b/charts/redis/templates/database-cluster.yml index 63aae817..2a1c42ad 100644 --- a/charts/redis/templates/database-cluster.yml +++ b/charts/redis/templates/database-cluster.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: rediscluster labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Master server handling a keyspace @@ -30,7 +30,7 @@ spec: cpu: "" spec: | agents: # Agents - telemetry: [ sysmon/container, redismon/server ] + telemetry: [sysmon/container, redismon/server] resources: # Resources memory: {{"{{.Inputs.Parameters.memory}}"}} cpu: {{"{{.Inputs.Parameters.cpu}}"}} @@ -41,7 +41,7 @@ spec: - name: to-clients containerPort: {{"{{.Inputs.Parameters.port}}"}} - name: to-cluster - containerPort: {{"{{ $toClusterbus := add .Inputs.Parameters.port 10000}}"}}{{"{{$toClusterbus}}"}} + containerPort: {{"{{$toClusterbus := add .Inputs.Parameters.port 10000}}"}}{{"{{$toClusterbus}}"}} env: - name: podIP valueFrom: @@ -80,7 +80,7 @@ spec: set -eum response=$(timeout -s QUIT 30 redis-cli -h localhost -p {{"{{.Inputs.Parameters.port}}"}} ping) - if [ "$response" != "PONG" ]; then + if ["$response" != "PONG"]; then exit 1 fi @@ -112,7 +112,7 @@ spec: all=() for i in ${!ips[*]}; do - if [ "${#ports[@]}" -eq 1 ]; + if ["${#ports[@]}" -eq 1]; then service=$(echo ${ips[$i]}:${ports[0]}) else @@ -126,4 +126,4 @@ spec: # Sleep a bit to compensate for Kubernetes delays. sleep 10 - redis-cli --cluster create --cluster-yes ${all[*]} \ No newline at end of file + redis-cli --cluster create --cluster-yes ${all[*]} diff --git a/charts/redis/templates/database-single.yml b/charts/redis/templates/database-single.yml index 696595ab..90ab7fd0 100644 --- a/charts/redis/templates/database-single.yml +++ b/charts/redis/templates/database-single.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: redis labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Master node servicing requests @@ -14,7 +15,7 @@ spec: cpu: "" spec: | agents: - telemetry: [ sysmon/container, redismon/server ] + telemetry: [sysmon/container, redismon/server] resources: memory: {{"{{.Inputs.Parameters.memory}}"}} cpu: {{"{{.Inputs.Parameters.cpu}}"}} @@ -51,7 +52,7 @@ spec: set -eum response=$(timeout -s QUIT 30 redis-cli -h localhost -p 6379 ping) - if [ "$response" != "PONG" ]; then + if ["$response" != "PONG"]; then echo "$response" exit 1 fi @@ -63,7 +64,7 @@ spec: master: localhost spec: | agents: - telemetry: [ sysmon/container, redismon/server ] + telemetry: [sysmon/container, redismon/server] container: name: app image: redis @@ -98,7 +99,7 @@ spec: set -eum response=$(timeout -s QUIT 30 redis-cli -h localhost -p 6379 ping) - if [ "$response" != "PONG" ]; then + if ["$response" != "PONG"]; then echo "$response" exit 1 fi @@ -132,4 +133,4 @@ spec: sentinel parallel-syncs mymaster 1 EOF - redis-sentinel sentinel.conf \ No newline at end of file + redis-sentinel sentinel.conf diff --git a/charts/redis/templates/database-telemetry.yml b/charts/redis/templates/database-telemetry.yml index 2eb690b0..1a40892c 100644 --- a/charts/redis/templates/database-telemetry.yml +++ b/charts/redis/templates/database-telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: redismon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "server": @@ -36,7 +36,7 @@ spec: telegraf --config /tmp/prometheus.conf & # When the stop file is added by the container, the process stop - while [ ! -f "/dev/shm/stop" ]; + while [! -f "/dev/shm/stop"]; do sleep 10 done @@ -45,7 +45,6 @@ spec: matchlabels: dashboard: redis - --- apiVersion: v1 kind: ConfigMap @@ -53,5 +52,4 @@ metadata: name: grafana-redis-dashboard labels: dashboard: redis -data: {{ (.Files.Glob "dashboards/redis.json").AsConfig | nindent 2 }} - +data: {{(.Files.Glob "dashboards/redis.json").AsConfig | nindent 2}} diff --git a/charts/redis/templates/ycsb-client.yml b/charts/redis/templates/ycsb-client.yml index 8e3bc802..ca9e4714 100644 --- a/charts/redis/templates/ycsb-client.yml +++ b/charts/redis/templates/ycsb-client.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: ycsb-redis labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Loader injecting keys into a single server @@ -22,7 +23,7 @@ spec: dropdata: "false" spec: | agents: # Agents - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -65,7 +66,7 @@ spec: threads: "1" spec: | agents: # Agents - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -89,4 +90,4 @@ spec: -p threadcount={{"{{.Inputs.Parameters.threads}}"}} \ -p redis.mode={{"{{.Inputs.Parameters.mode}}"}} \ -p redis.addr=${addr} \ - >> /dev/shm/pipe \ No newline at end of file + >> /dev/shm/pipe diff --git a/charts/redis/values.yaml b/charts/redis/values.yaml index 608d9914..e69de29b 100644 --- a/charts/redis/values.yaml +++ b/charts/redis/values.yaml @@ -1,79 +0,0 @@ -# Default values for redis. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } -# capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/charts/sysmon/Chart.yaml b/charts/sysmon/Chart.yaml index 8df11414..f4e0da64 100644 --- a/charts/sysmon/Chart.yaml +++ b/charts/sysmon/Chart.yaml @@ -1,6 +1,8 @@ +--- apiVersion: v2 name: sysmon -description: sysmon provides container users an understanding of the resource usage and performance characteristics of their running containers. +description: "sysmon provides container users an understanding of the resource usage +and performance characteristics of their running containers." # A chart can be either an 'application' or a 'library' chart. # @@ -12,21 +14,21 @@ description: sysmon provides container users an understanding of the resource us # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. appVersion: "1.16.0" - home: https://github.com/CARV-ICS-FORTH/frisbee/tree/main/charts/sysmon icon: http://new.sevenhillstechnology.com/wp-content/uploads/2021/01/undraw_programming_2svr.png annotations: category: Infrastructure + + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/sysmon/templates/telemetry.yml b/charts/sysmon/templates/telemetry.yml index 1882d6e2..907cd570 100644 --- a/charts/sysmon/templates/telemetry.yml +++ b/charts/sysmon/templates/telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: sysmon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "container": @@ -42,6 +42,6 @@ kind: ConfigMap metadata: name: grafana-system-container labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: sysmon -data: {{ (.Files.Glob "dashboards/syscontainer.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/syscontainer.json").AsConfig | nindent 2}} diff --git a/charts/tikv/Chart.yaml b/charts/tikv/Chart.yaml index 5e35aefe..8ec0e305 100644 --- a/charts/tikv/Chart.yaml +++ b/charts/tikv/Chart.yaml @@ -1,3 +1,4 @@ +--- apiVersion: v2 name: tikv description: TiKV is a highly scalable, low latency, and easy to use key-value database. @@ -12,11 +13,6 @@ description: TiKV is a highly scalable, low latency, and easy to use key-value d # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. @@ -25,7 +21,7 @@ appVersion: "1.16.0" icon: https://tikv.org/img/logos/horizontal/color/tikv-horizontal-color.png -#dependencies: +# dependencies: # - name: observability # version: 0.1.1 # repository: https://carv-ics-forth.github.io/frisbee/charts @@ -37,5 +33,7 @@ icon: https://tikv.org/img/logos/horizontal/color/tikv-horizontal-color.png # repository: https://carv-ics-forth.github.io/frisbee/charts - - +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/tikv/dashboards/tikv-pd.json b/charts/tikv/dashboards/tikv-pd.json index 6b688104..b983ca14 100644 --- a/charts/tikv/dashboards/tikv-pd.json +++ b/charts/tikv/dashboards/tikv-pd.json @@ -7,40 +7,40 @@ "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" - } - ], + } + ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "6.1.6" - }, + }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" - }, + }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" - }, + }, { "type": "panel", "id": "singlestat", "name": "Singlestat", "version": "" - }, + }, { "type": "panel", "id": "table", "name": "Table", "version": "" - } - ], + } + ], "annotations": { "list": [ { @@ -51,9 +51,9 @@ "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" - } - ] - }, + } + ] +}, "editable": true, "gnetId": null, "graphTooltip": 1, @@ -68,7 +68,7 @@ "w": 24, "x": 0, "y": 0 - }, + }, "id": 118, "panels": [ { @@ -79,7 +79,7 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "description": "It indicates whether the current PD is the leader or a follower.", "format": "none", @@ -89,13 +89,13 @@ "show": false, "thresholdLabels": false, "thresholdMarkers": true - }, + }, "gridPos": { "h": 6, "w": 4, "x": 0, "y": 1 - }, + }, "id": 55, "interval": null, "links": [], @@ -104,12 +104,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "connected", "nullText": null, @@ -122,19 +122,19 @@ "from": "1", "text": "Leader", "to": "100000" - }, + }, { "from": "0", "text": "Follower", "to": "1" - } - ], + } + ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": false, "lineColor": "rgb(31, 120, 193)", "show": false - }, + }, "tableColumn": "", "targets": [ { @@ -145,8 +145,8 @@ "metric": "pd_server_tso", "refId": "A", "step": 40 - } - ], + } + ], "thresholds": "", "title": "PD role", "type": "singlestat", @@ -156,15 +156,15 @@ "op": "=", "text": "Follower", "value": "null" - }, + }, { "op": "=", "text": "Leader", "value": "1" - } - ], + } + ], "valueName": "current" - }, + }, { "cacheTimeout": null, "colorBackground": false, @@ -173,7 +173,7 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "decimals": null, "description": "The total capacity size of the cluster", @@ -186,13 +186,13 @@ "show": false, "thresholdLabels": false, "thresholdMarkers": false - }, + }, "gridPos": { "h": 6, "w": 4, "x": 4, "y": 1 - }, + }, "id": 10, "interval": null, "links": [], @@ -201,12 +201,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "null", "nullText": null, @@ -219,14 +219,14 @@ "from": "null", "text": "N/A", "to": "null" - } - ], + } + ], "sparkline": { "fillColor": "rgba(77, 135, 25, 0.18)", "full": true, "lineColor": "rgb(21, 179, 65)", "show": false - }, + }, "tableColumn": "", "targets": [ { @@ -235,8 +235,8 @@ "intervalFactor": 2, "refId": "A", "step": 40 - } - ], + } + ], "thresholds": "", "title": "Storage capacity", "type": "singlestat", @@ -246,10 +246,10 @@ "op": "=", "text": "N/A", "value": "null" - } - ], + } + ], "valueName": "current" - }, + }, { "cacheTimeout": null, "colorBackground": false, @@ -258,7 +258,7 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "decimals": 1, "description": "The current storage size of the cluster", @@ -271,13 +271,13 @@ "show": false, "thresholdLabels": false, "thresholdMarkers": true - }, + }, "gridPos": { "h": 6, "w": 4, "x": 8, "y": 1 - }, + }, "hideTimeOverride": false, "id": 38, "interval": null, @@ -287,12 +287,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "null", "nullText": null, @@ -305,14 +305,14 @@ "from": "null", "text": "N/A", "to": "null" - } - ], + } + ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": true, "lineColor": "rgb(31, 120, 193)", "show": false - }, + }, "tableColumn": "", "targets": [ { @@ -321,8 +321,8 @@ "intervalFactor": 2, "refId": "A", "step": 40 - } - ], + } + ], "thresholds": "", "title": "Current storage size", "type": "singlestat", @@ -332,10 +332,10 @@ "op": "=", "text": "N/A", "value": "null" - } - ], + } + ], "valueName": "current" - }, + }, { "cacheTimeout": null, "colorBackground": false, @@ -344,7 +344,7 @@ "rgba(50, 172, 45, 0.97)", "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "description": "The current storage size and used ratio of the cluster", "editable": true, @@ -356,13 +356,13 @@ "show": true, "thresholdLabels": false, "thresholdMarkers": true - }, + }, "gridPos": { "h": 6, "w": 4, "x": 12, "y": 1 - }, + }, "hideTimeOverride": false, "id": 37, "interval": null, @@ -372,12 +372,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "null", "nullText": null, @@ -390,14 +390,14 @@ "from": "null", "text": "N/A", "to": "null" - } - ], + } + ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": true, "lineColor": "rgb(31, 120, 193)", "show": false - }, + }, "tableColumn": "", "targets": [ { @@ -406,8 +406,8 @@ "intervalFactor": 2, "refId": "A", "step": 40 - } - ], + } + ], "thresholds": "0.01,0.5", "title": "Current storage used", "type": "singlestat", @@ -417,10 +417,10 @@ "op": "=", "text": "N/A", "value": "null" - } - ], + } + ], "valueName": "current" - }, + }, { "cacheTimeout": null, "colorBackground": false, @@ -429,7 +429,7 @@ "#d44a3a", "rgba(237, 129, 40, 0.89)", "#299c46" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "description": "The count of healthy stores", "format": "none", @@ -439,13 +439,13 @@ "show": false, "thresholdLabels": false, "thresholdMarkers": true - }, + }, "gridPos": { "h": 6, "w": 4, "x": 16, "y": 1 - }, + }, "id": 97, "interval": null, "links": [], @@ -454,12 +454,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "connected", "nullText": null, @@ -472,14 +472,14 @@ "from": "null", "text": "N/A", "to": "null" - } - ], + } + ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": false, "lineColor": "rgb(31, 120, 193)", "show": false - }, + }, "tableColumn": "", "targets": [ { @@ -487,8 +487,8 @@ "format": "time_series", "intervalFactor": 2, "refId": "A" - } - ], + } + ], "thresholds": "0,1", "title": "Normal stores", "type": "singlestat", @@ -498,10 +498,10 @@ "op": "=", "text": "N/A", "value": "null" - } - ], + } + ], "valueName": "current" - }, + }, { "cacheTimeout": null, "colorBackground": false, @@ -510,7 +510,7 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "datasource": "${DS_TEST-CLUSTER}", "description": "The total number of Regions without replicas", "editable": true, @@ -522,13 +522,13 @@ "show": false, "thresholdLabels": false, "thresholdMarkers": false - }, + }, "gridPos": { "h": 6, "w": 4, "x": 20, "y": 1 - }, + }, "id": 20, "interval": null, "links": [], @@ -537,12 +537,12 @@ { "name": "value to text", "value": 1 - }, + }, { "name": "range to text", "value": 2 - } - ], + } + ], "maxDataPoints": 100, "nullPointMode": "null", "nullText": null, @@ -555,14 +555,14 @@ "from": "null", "text": "N/A", "to": "null" - } - ], + } + ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": true, "lineColor": "rgb(31, 120, 193)", "show": true - }, + }, "tableColumn": "", "targets": [ { @@ -571,8 +571,8 @@ "intervalFactor": 2, "refId": "A", "step": 40 - } - ], + } + ], "thresholds": "", "title": "Number of Regions", "type": "singlestat", @@ -582,17 +582,17 @@ "op": "=", "text": "N/A", "value": "null" - } - ], + } + ], "valueName": "current" - }, + }, { "columns": [ { "text": "Current", "value": "current" - } - ], + } + ], "datasource": "${DS_TEST-CLUSTER}", "fontSize": "90%", "gridPos": { @@ -600,7 +600,7 @@ "w": 6, "x": 0, "y": 7 - }, + }, "hideTimeOverride": true, "id": 116, "links": [], @@ -610,7 +610,7 @@ "sort": { "col": 1, "desc": true - }, + }, "styles": [ { "alias": "Option", @@ -618,7 +618,7 @@ "pattern": "Metric", "preserveFormat": false, "type": "string" - }, + }, { "alias": "", "colorMode": null, @@ -626,14 +626,14 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "number", "unit": "short" - } - ], + } + ], "targets": [ { "expr": "pd_config_status", @@ -641,20 +641,20 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - } - ], + } + ], "timeFrom": "1s", "title": "PD scheduler config", "transform": "timeseries_aggregations", "type": "table" - }, + }, { "columns": [ { "text": "Current", "value": "current" - } - ], + } + ], "datasource": "${DS_TEST-CLUSTER}", "fontSize": "100%", "gridPos": { @@ -662,7 +662,7 @@ "w": 5, "x": 6, "y": 7 - }, + }, "hideTimeOverride": true, "id": 103, "links": [], @@ -672,14 +672,14 @@ "sort": { "col": 0, "desc": false - }, + }, "styles": [ { "alias": "Type", "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "type", "type": "date" - }, + }, { "alias": "Numbers", "colorMode": null, @@ -687,14 +687,14 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "pattern": "Current", "thresholds": [], "type": "number", "unit": "short" - }, + }, { "alias": "", "colorMode": null, @@ -702,14 +702,14 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "number", "unit": "short" - } - ], + } + ], "targets": [ { "expr": "pd_regions_label_level{instance=\"$instance\"}", @@ -717,21 +717,21 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - } - ], + } + ], "timeFrom": "1s", "timeShift": null, "title": "Region label isolation level", "transform": "timeseries_aggregations", "type": "table" - }, + }, { "columns": [ { "text": "Current", "value": "current" - } - ], + } + ], "datasource": "${DS_TEST-CLUSTER}", "fontSize": "100%", "gridPos": { @@ -739,7 +739,7 @@ "w": 6, "x": 11, "y": 7 - }, + }, "hideTimeOverride": true, "id": 117, "links": [], @@ -749,7 +749,7 @@ "sort": { "col": 0, "desc": true - }, + }, "styles": [ { "alias": "Label : address", @@ -759,9 +759,9 @@ "pattern": "Metric", "thresholds": [ "un" - ], + ], "type": "string" - }, + }, { "alias": "count number", "colorMode": null, @@ -769,16 +769,16 @@ "#bf1b00", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 0, "pattern": "Current", "thresholds": [ "0" - ], + ], "type": "number", "unit": "short" - }, + }, { "alias": "", "colorMode": null, @@ -786,14 +786,14 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "number", "unit": "short" - } - ], + } + ], "targets": [ { "expr": "pd_cluster_placement_status", @@ -802,20 +802,20 @@ "intervalFactor": 2, "legendFormat": "{{name}}", "refId": "A" - } - ], + } + ], "timeFrom": "1s", "title": "Label distribution", "transform": "timeseries_aggregations", "type": "table" - }, + }, { "columns": [ { "text": "Current", "value": "current" - } - ], + } + ], "datasource": "${DS_TEST-CLUSTER}", "editable": true, "error": false, @@ -825,7 +825,7 @@ "w": 7, "x": 17, "y": 7 - }, + }, "hideTimeOverride": true, "id": 96, "links": [], @@ -835,31 +835,31 @@ "sort": { "col": null, "desc": false - }, + }, "styles": [ { "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "Metric", "sanitize": false, "type": "string" - }, + }, { "colorMode": "cell", "colors": [ "rgba(50, 172, 45, 0.97)", "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" - ], + ], "decimals": 0, "pattern": "Current", "thresholds": [ "1", "2" - ], + ], "type": "number", "unit": "short" - } - ], + } + ], "targets": [ { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_disconnected_count\"})", @@ -868,7 +868,7 @@ "legendFormat": "Disconnect Stores", "refId": "B", "step": 20 - }, + }, { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_unhealth_count\"})", "format": "time_series", @@ -876,7 +876,7 @@ "legendFormat": "Unhealth Stores", "refId": "C", "step": 20 - }, + }, { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_low_space_count\"})", "format": "time_series", @@ -884,7 +884,7 @@ "legendFormat": "LowSpace Stores", "refId": "D", "step": 20 - }, + }, { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_down_count\"})", "format": "time_series", @@ -892,7 +892,7 @@ "legendFormat": "Down Stores", "refId": "E", "step": 20 - }, + }, { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_offline_count\"})", "format": "time_series", @@ -900,7 +900,7 @@ "legendFormat": "Offline Stores", "refId": "F", "step": 20 - }, + }, { "expr": "sum(pd_cluster_status{instance=\"$instance\", type=\"store_tombstone_count\"})", "format": "time_series", @@ -908,20 +908,20 @@ "legendFormat": "Tombstone Stores", "refId": "G", "step": 20 - } - ], + } + ], "timeFrom": "1s", "title": "Abnormal stores", "transform": "timeseries_aggregations", "type": "table" - }, + }, { "columns": [ { "text": "Current", "value": "current" - } - ], + } + ], "datasource": "${DS_TEST-CLUSTER}", "fontSize": "90%", "gridPos": { @@ -929,7 +929,7 @@ "w": 4, "x": 0, "y": 14 - }, + }, "hideTimeOverride": true, "id": 115, "links": [], @@ -939,7 +939,7 @@ "sort": { "col": 0, "desc": true - }, + }, "styles": [ { "alias": "", @@ -948,14 +948,14 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "decimals": 2, "link": false, "pattern": "Value", "thresholds": [], "type": "number", "unit": "none" - }, + }, { "alias": "Meta", "colorMode": null, @@ -963,15 +963,15 @@ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" - ], + ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "pattern": "Metric", "thresholds": [], "type": "number", "unit": "short" - } - ], + } + ], "targets": [ { "expr": "pd_cluster_metadata{instance=\"$instance\"}", @@ -980,13 +980,13 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - } - ], + } + ], "timeFrom": "1s", "title": "pd_cluster_metadata", "transform": "timeseries_aggregations", "type": "table" - }, + }, { "aliasColors": {}, "bars": false, @@ -1004,7 +1004,7 @@ "w": 8, "x": 4, "y": 14 - }, + }, "id": 18, "legend": { "avg": false, @@ -1014,7 +1014,7 @@ "show": false, "total": false, "values": false - }, + }, "lines": true, "linewidth": 3, "links": [], @@ -1035,8 +1035,8 @@ "legendFormat": "count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1047,7 +1047,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1055,7 +1055,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -1064,7 +1064,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "none", "label": null, @@ -1072,13 +1072,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "alert": { "conditions": [ @@ -1086,26 +1086,26 @@ "evaluator": { "params": [ 100 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "B", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "60s", "handler": 1, @@ -1113,7 +1113,7 @@ "name": "region health alert", "noDataState": "keep_state", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -1126,7 +1126,7 @@ "w": 12, "x": 12, "y": 14 - }, + }, "id": 72, "legend": { "alignAsTable": true, @@ -1138,7 +1138,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -1158,7 +1158,7 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - }, + }, { "expr": "sum(pd_regions_status) by (instance, type)", "format": "time_series", @@ -1166,8 +1166,8 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "B" - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -1175,8 +1175,8 @@ "line": true, "op": "gt", "value": 100 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -1185,7 +1185,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1193,7 +1193,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -1202,7 +1202,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1210,18 +1210,18 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } } - ], + } + ], "repeat": null, "title": "Cluster", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -1229,7 +1229,7 @@ "w": 24, "x": 0, "y": 1 - }, + }, "id": 119, "panels": [ { @@ -1245,7 +1245,7 @@ "w": 12, "x": 0, "y": 2 - }, + }, "id": 45, "legend": { "alignAsTable": true, @@ -1259,7 +1259,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1280,8 +1280,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1291,7 +1291,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1299,7 +1299,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -1308,7 +1308,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1316,13 +1316,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1336,7 +1336,7 @@ "w": 12, "x": 12, "y": 2 - }, + }, "id": 79, "legend": { "alignAsTable": true, @@ -1350,7 +1350,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1371,8 +1371,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1382,7 +1382,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1390,7 +1390,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -1399,7 +1399,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1407,13 +1407,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1427,7 +1427,7 @@ "w": 12, "x": 0, "y": 9 - }, + }, "id": 77, "legend": { "alignAsTable": true, @@ -1441,7 +1441,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1462,8 +1462,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1473,7 +1473,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1481,7 +1481,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -1490,7 +1490,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1498,13 +1498,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1517,7 +1517,7 @@ "w": 12, "x": 12, "y": 9 - }, + }, "id": 78, "legend": { "alignAsTable": true, @@ -1531,7 +1531,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1552,8 +1552,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1563,7 +1563,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1571,7 +1571,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -1580,7 +1580,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1588,13 +1588,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1608,7 +1608,7 @@ "w": 12, "x": 0, "y": 16 - }, + }, "id": 80, "legend": { "alignAsTable": true, @@ -1622,7 +1622,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1643,7 +1643,7 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - }, + }, { "expr": "sum(delta(pd_schedule_operators_count{instance=\"$instance\", event=\"replace\"}[1m])) by (type)", "format": "time_series", @@ -1651,8 +1651,8 @@ "legendFormat": "{{type}}", "refId": "B", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1662,7 +1662,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1670,7 +1670,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -1679,7 +1679,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1687,13 +1687,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1707,7 +1707,7 @@ "w": 12, "x": 12, "y": 16 - }, + }, "id": 47, "legend": { "alignAsTable": true, @@ -1722,7 +1722,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1744,8 +1744,8 @@ "metric": "pd_scheduler_status", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1755,7 +1755,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1763,7 +1763,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -1772,7 +1772,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1780,13 +1780,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1800,7 +1800,7 @@ "w": 12, "x": 0, "y": 23 - }, + }, "id": 67, "legend": { "alignAsTable": true, @@ -1814,7 +1814,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1835,8 +1835,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1846,7 +1846,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1854,7 +1854,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -1863,7 +1863,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1871,13 +1871,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1891,7 +1891,7 @@ "w": 12, "x": 12, "y": 23 - }, + }, "id": 68, "legend": { "alignAsTable": true, @@ -1905,7 +1905,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -1926,8 +1926,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -1937,7 +1937,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -1945,7 +1945,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -1954,7 +1954,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -1962,13 +1962,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -1982,7 +1982,7 @@ "w": 12, "x": 0, "y": 30 - }, + }, "id": 81, "legend": { "alignAsTable": true, @@ -1997,7 +1997,7 @@ "sideWidth": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2017,8 +2017,8 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2028,7 +2028,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2036,7 +2036,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "dtdurations", @@ -2045,7 +2045,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2053,13 +2053,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2073,7 +2073,7 @@ "w": 12, "x": 12, "y": 30 - }, + }, "id": 82, "legend": { "alignAsTable": true, @@ -2087,7 +2087,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2107,8 +2107,8 @@ "intervalFactor": 2, "legendFormat": "{{type}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2118,7 +2118,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2126,7 +2126,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "dtdurations", @@ -2135,7 +2135,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2143,18 +2143,18 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } } - ], + } + ], "repeat": null, "title": "Operator", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -2162,7 +2162,7 @@ "w": 24, "x": 0, "y": 2 - }, + }, "id": 120, "panels": [ { @@ -2178,7 +2178,7 @@ "w": 12, "x": 0, "y": 3 - }, + }, "id": 83, "legend": { "alignAsTable": true, @@ -2195,7 +2195,7 @@ "sortDesc": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2217,8 +2217,8 @@ "intervalFactor": 2, "legendFormat": "{{address}}-store-{{store}}", "refId": "B" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2228,7 +2228,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2236,7 +2236,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -2245,7 +2245,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "percent", "label": null, @@ -2253,13 +2253,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2273,7 +2273,7 @@ "w": 12, "x": 12, "y": 3 - }, + }, "id": 91, "legend": { "alignAsTable": true, @@ -2287,7 +2287,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2307,8 +2307,8 @@ "intervalFactor": 2, "legendFormat": "{{address}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2318,7 +2318,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2326,7 +2326,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -2335,7 +2335,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2343,13 +2343,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2363,7 +2363,7 @@ "w": 12, "x": 0, "y": 9 - }, + }, "id": 90, "legend": { "alignAsTable": true, @@ -2378,7 +2378,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2398,8 +2398,8 @@ "intervalFactor": 2, "legendFormat": "{{address}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2409,7 +2409,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2417,7 +2417,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -2426,7 +2426,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2434,13 +2434,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2454,7 +2454,7 @@ "w": 12, "x": 12, "y": 9 - }, + }, "id": 84, "legend": { "alignAsTable": true, @@ -2468,7 +2468,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2488,8 +2488,8 @@ "intervalFactor": 2, "legendFormat": "{{address}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2499,7 +2499,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2507,7 +2507,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -2516,7 +2516,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2524,13 +2524,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2544,7 +2544,7 @@ "w": 12, "x": 0, "y": 15 - }, + }, "id": 85, "legend": { "alignAsTable": true, @@ -2558,7 +2558,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 3, "links": [], @@ -2579,8 +2579,8 @@ "intervalFactor": 2, "legendFormat": "{{address}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2590,7 +2590,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2598,7 +2598,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -2607,7 +2607,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2615,13 +2615,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2639,7 +2639,7 @@ "w": 12, "x": 12, "y": 15 - }, + }, "id": 41, "legend": { "alignAsTable": true, @@ -2655,7 +2655,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2677,7 +2677,7 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - }, + }, { "expr": "pd_scheduler_op_influence{instance=\"$instance\",scheduler=\"balance-region-scheduler\"}", "format": "time_series", @@ -2685,7 +2685,7 @@ "intervalFactor": 1, "legendFormat": "op-influence-{{store}}-{{type}}", "refId": "C" - }, + }, { "expr": "pd_scheduler_tolerant_resource{instance=\"$instance\",scheduler=\"balance-region-scheduler\"}", "format": "time_series", @@ -2693,8 +2693,8 @@ "intervalFactor": 1, "legendFormat": "tolerant-resource-{{source}}-{{target}}", "refId": "E" - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -2702,8 +2702,8 @@ "line": true, "op": "gt", "value": 1000000000 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -2713,7 +2713,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2721,7 +2721,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -2730,7 +2730,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2738,13 +2738,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2762,7 +2762,7 @@ "w": 12, "x": 0, "y": 21 - }, + }, "id": 40, "legend": { "alignAsTable": true, @@ -2778,7 +2778,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2799,8 +2799,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -2808,8 +2808,8 @@ "line": true, "op": "gt", "value": 1000000000 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -2819,7 +2819,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2827,7 +2827,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -2836,7 +2836,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -2844,13 +2844,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2864,7 +2864,7 @@ "w": 12, "x": 12, "y": 21 - }, + }, "id": 57, "legend": { "alignAsTable": true, @@ -2880,7 +2880,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2901,8 +2901,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2912,7 +2912,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2920,7 +2920,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decmbytes", @@ -2929,7 +2929,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2937,13 +2937,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2957,7 +2957,7 @@ "w": 12, "x": 0, "y": 27 - }, + }, "id": 56, "legend": { "alignAsTable": true, @@ -2973,7 +2973,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -2994,8 +2994,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3005,7 +3005,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3013,7 +3013,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decmbytes", @@ -3022,7 +3022,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3030,13 +3030,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -3050,7 +3050,7 @@ "w": 12, "x": 12, "y": 27 - }, + }, "id": 59, "legend": { "alignAsTable": true, @@ -3066,7 +3066,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3087,8 +3087,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3098,7 +3098,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3106,7 +3106,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3115,7 +3115,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3123,13 +3123,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -3143,7 +3143,7 @@ "w": 12, "x": 0, "y": 33 - }, + }, "id": 58, "legend": { "alignAsTable": true, @@ -3158,7 +3158,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3179,8 +3179,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3190,7 +3190,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3198,7 +3198,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3207,7 +3207,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3215,18 +3215,18 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Statistics - balance", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -3234,7 +3234,7 @@ "w": 24, "x": 0, "y": 3 - }, + }, "id": 121, "panels": [ { @@ -3251,7 +3251,7 @@ "w": 12, "x": 0, "y": 83 - }, + }, "id": 50, "legend": { "alignAsTable": true, @@ -3267,7 +3267,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3288,8 +3288,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3299,7 +3299,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3307,7 +3307,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3316,7 +3316,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3324,9 +3324,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3341,7 +3341,7 @@ "w": 12, "x": 12, "y": 83 - }, + }, "id": 51, "legend": { "alignAsTable": true, @@ -3357,7 +3357,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3378,8 +3378,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3389,7 +3389,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3397,7 +3397,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3406,7 +3406,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3414,9 +3414,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3431,7 +3431,7 @@ "w": 12, "x": 0, "y": 90 - }, + }, "id": 48, "legend": { "alignAsTable": true, @@ -3447,7 +3447,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3469,8 +3469,8 @@ "metric": "pd_hotspot_status", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3480,7 +3480,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3488,7 +3488,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -3497,7 +3497,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3505,9 +3505,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3522,7 +3522,7 @@ "w": 12, "x": 12, "y": 90 - }, + }, "id": 49, "legend": { "alignAsTable": true, @@ -3538,7 +3538,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3559,8 +3559,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3570,7 +3570,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3578,7 +3578,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -3587,7 +3587,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3595,9 +3595,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3612,7 +3612,7 @@ "w": 12, "x": 0, "y": 97 - }, + }, "id": 60, "legend": { "alignAsTable": true, @@ -3628,7 +3628,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3649,8 +3649,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3660,7 +3660,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3668,7 +3668,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3677,7 +3677,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3685,9 +3685,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3701,7 +3701,7 @@ "w": 12, "x": 12, "y": 97 - }, + }, "id": 62, "legend": { "alignAsTable": true, @@ -3717,7 +3717,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3739,8 +3739,8 @@ "metric": "pd_hotspot_status", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3750,7 +3750,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3758,7 +3758,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "decbytes", @@ -3767,7 +3767,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3775,9 +3775,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3791,7 +3791,7 @@ "w": 12, "x": 0, "y": 104 - }, + }, "id": 61, "legend": { "alignAsTable": true, @@ -3807,7 +3807,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3828,8 +3828,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3839,7 +3839,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3847,7 +3847,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "decimals": null, @@ -3857,7 +3857,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3865,9 +3865,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3881,7 +3881,7 @@ "w": 12, "x": 12, "y": 104 - }, + }, "id": 105, "legend": { "alignAsTable": true, @@ -3897,7 +3897,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3918,8 +3918,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3929,7 +3929,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3937,7 +3937,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "Bps", @@ -3946,7 +3946,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3954,9 +3954,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -3970,7 +3970,7 @@ "w": 12, "x": 0, "y": 111 - }, + }, "id": 106, "legend": { "alignAsTable": true, @@ -3986,7 +3986,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4007,8 +4007,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4018,7 +4018,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4026,7 +4026,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "decimals": null, @@ -4036,7 +4036,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4044,9 +4044,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4060,7 +4060,7 @@ "w": 12, "x": 12, "y": 111 - }, + }, "id": 107, "legend": { "alignAsTable": true, @@ -4076,7 +4076,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4097,8 +4097,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4108,7 +4108,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4116,7 +4116,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "decimals": null, @@ -4126,7 +4126,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4134,14 +4134,14 @@ "max": null, "min": null, "show": true - } - ] - } - ], + } + ] + } + ], "repeat": null, "title": "Statistics - hotspot", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -4149,7 +4149,7 @@ "w": 24, "x": 0, "y": 4 - }, + }, "id": 122, "panels": [ { @@ -4165,7 +4165,7 @@ "w": 24, "x": 0, "y": 112 - }, + }, "id": 46, "legend": { "alignAsTable": true, @@ -4179,7 +4179,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": false, "linewidth": 1, "links": [], @@ -4201,8 +4201,8 @@ "metric": "pd_scheduler_status", "refId": "A", "step": 2 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4212,7 +4212,7 @@ "shared": true, "sort": 1, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4220,7 +4220,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4229,7 +4229,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -4237,9 +4237,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4253,7 +4253,7 @@ "w": 12, "x": 0, "y": 120 - }, + }, "id": 87, "legend": { "alignAsTable": true, @@ -4269,7 +4269,7 @@ "sortDesc": true, "total": true, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4289,15 +4289,15 @@ "intervalFactor": 2, "legendFormat": "store-{{store}}", "refId": "A" - }, + }, { "expr": "sum(delta(pd_scheduler_balance_leader{store=~\"$store\", address=~\".*in\",instance=\"$instance\", type=\"move-leader\"}[30s])) by (address, store)", "format": "time_series", "intervalFactor": 2, "legendFormat": "store-{{store}}", "refId": "B" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4307,7 +4307,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4315,7 +4315,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4324,7 +4324,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4332,9 +4332,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4348,7 +4348,7 @@ "w": 12, "x": 12, "y": 120 - }, + }, "hideTimeOverride": false, "id": 86, "legend": { @@ -4365,7 +4365,7 @@ "sortDesc": true, "total": true, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4385,15 +4385,15 @@ "intervalFactor": 2, "legendFormat": "store-{{store}}", "refId": "A" - }, + }, { "expr": "sum(delta(pd_scheduler_balance_region{store=~\"$store\", address=~\".*in\",instance=\"$instance\", type=\"move-peer\"}[1m])) by (address, store)", "format": "time_series", "intervalFactor": 2, "legendFormat": "store-{{store}}", "refId": "B" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4403,7 +4403,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4411,7 +4411,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4420,7 +4420,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4428,9 +4428,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": true, @@ -4444,7 +4444,7 @@ "w": 12, "x": 0, "y": 128 - }, + }, "id": 89, "legend": { "alignAsTable": true, @@ -4458,7 +4458,7 @@ "show": true, "total": true, "values": true - }, + }, "lines": false, "linewidth": 1, "links": [], @@ -4478,8 +4478,8 @@ "intervalFactor": 2, "legendFormat": "{{type}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4489,7 +4489,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4497,7 +4497,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4506,7 +4506,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4514,9 +4514,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": true, @@ -4530,7 +4530,7 @@ "w": 12, "x": 12, "y": 128 - }, + }, "id": 88, "legend": { "alignAsTable": true, @@ -4545,7 +4545,7 @@ "sortDesc": false, "total": true, "values": true - }, + }, "lines": false, "linewidth": 1, "links": [], @@ -4565,8 +4565,8 @@ "intervalFactor": 2, "legendFormat": "{{type}}-store-{{store}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4576,7 +4576,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4584,7 +4584,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4593,7 +4593,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4601,9 +4601,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4617,7 +4617,7 @@ "w": 12, "x": 0, "y": 136 - }, + }, "id": 52, "legend": { "alignAsTable": true, @@ -4633,7 +4633,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -4655,8 +4655,8 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4666,7 +4666,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4674,7 +4674,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -4683,7 +4683,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4691,9 +4691,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4707,7 +4707,7 @@ "w": 12, "x": 12, "y": 136 - }, + }, "id": 53, "legend": { "alignAsTable": true, @@ -4723,7 +4723,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -4745,8 +4745,8 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4756,7 +4756,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4764,7 +4764,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -4773,7 +4773,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4781,9 +4781,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4797,7 +4797,7 @@ "w": 12, "x": 0, "y": 144 - }, + }, "id": 70, "legend": { "alignAsTable": true, @@ -4809,7 +4809,7 @@ "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -4830,8 +4830,8 @@ "legendFormat": "{{name}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -4840,7 +4840,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4848,7 +4848,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4857,7 +4857,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4865,9 +4865,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4881,7 +4881,7 @@ "w": 12, "x": 12, "y": 144 - }, + }, "id": 71, "legend": { "alignAsTable": true, @@ -4893,7 +4893,7 @@ "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -4914,8 +4914,8 @@ "legendFormat": "{{name}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -4924,7 +4924,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4932,7 +4932,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4941,7 +4941,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4949,9 +4949,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -4964,7 +4964,7 @@ "w": 12, "x": 0, "y": 152 - }, + }, "id": 110, "legend": { "alignAsTable": true, @@ -4980,7 +4980,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5002,8 +5002,8 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5012,7 +5012,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5020,7 +5020,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -5029,7 +5029,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5037,9 +5037,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5052,7 +5052,7 @@ "w": 12, "x": 12, "y": 152 - }, + }, "id": 109, "legend": { "alignAsTable": true, @@ -5068,7 +5068,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5090,8 +5090,8 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5100,7 +5100,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5108,7 +5108,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -5117,7 +5117,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5125,9 +5125,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5140,7 +5140,7 @@ "w": 12, "x": 0, "y": 160 - }, + }, "id": 108, "legend": { "alignAsTable": true, @@ -5156,7 +5156,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5178,8 +5178,8 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5188,7 +5188,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5196,7 +5196,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -5205,7 +5205,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5213,9 +5213,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5228,7 +5228,7 @@ "w": 12, "x": 12, "y": 160 - }, + }, "id": 111, "legend": { "alignAsTable": true, @@ -5244,7 +5244,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5266,15 +5266,15 @@ "metric": "pd_scheduler_event_count", "refId": "A", "step": 4 - }, + }, { "expr": "pd_schedule_store_limit{store=~\"$store\", type=\"take\"}", "format": "time_series", "intervalFactor": 2, "legendFormat": "{{store}}-take", "refId": "B" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5283,7 +5283,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5291,7 +5291,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -5300,7 +5300,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5308,14 +5308,14 @@ "max": null, "min": null, "show": true - } - ] - } - ], + } + ] + } + ], "repeat": null, "title": "Scheduler", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -5323,7 +5323,7 @@ "w": 24, "x": 0, "y": 5 - }, + }, "id": 123, "panels": [ { @@ -5343,7 +5343,7 @@ "w": 12, "x": 0, "y": 6 - }, + }, "id": 1, "legend": { "alignAsTable": true, @@ -5358,7 +5358,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5378,8 +5378,8 @@ "legendFormat": "{{grpc_method}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5390,7 +5390,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5398,7 +5398,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -5407,7 +5407,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5415,13 +5415,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5438,7 +5438,7 @@ "w": 12, "x": 12, "y": 6 - }, + }, "id": 2, "legend": { "alignAsTable": true, @@ -5454,7 +5454,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5474,8 +5474,8 @@ "legendFormat": "{{grpc_method}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5486,7 +5486,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5494,7 +5494,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5503,7 +5503,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5511,18 +5511,18 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "gRPC", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -5530,7 +5530,7 @@ "w": 24, "x": 0, "y": 6 - }, + }, "id": 124, "panels": [ { @@ -5549,7 +5549,7 @@ "w": 24, "x": 0, "y": 162 - }, + }, "id": 5, "legend": { "alignAsTable": true, @@ -5562,7 +5562,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5582,8 +5582,8 @@ "legendFormat": "{{instance}} : {{result}}", "refId": "A", "step": 2 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5593,7 +5593,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5601,7 +5601,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -5610,7 +5610,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5618,9 +5618,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5637,7 +5637,7 @@ "w": 12, "x": 0, "y": 170 - }, + }, "id": 6, "legend": { "alignAsTable": true, @@ -5650,7 +5650,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5670,8 +5670,8 @@ "legendFormat": "{{instance}} {{result}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5681,7 +5681,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5689,7 +5689,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5698,7 +5698,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5706,9 +5706,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5725,7 +5725,7 @@ "w": 12, "x": 12, "y": 170 - }, + }, "id": 7, "legend": { "alignAsTable": true, @@ -5740,7 +5740,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5761,8 +5761,8 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5772,7 +5772,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "transparent": false, "type": "graph", "xaxis": { @@ -5781,7 +5781,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5790,7 +5790,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5798,9 +5798,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -5817,7 +5817,7 @@ "w": 12, "x": 0, "y": 178 - }, + }, "id": 34, "legend": { "alignAsTable": true, @@ -5830,7 +5830,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5851,8 +5851,8 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeShift": null, @@ -5862,7 +5862,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "transparent": false, "type": "graph", "xaxis": { @@ -5871,7 +5871,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "alignLevel": null, @@ -5880,7 +5880,7 @@ "logBase": 1, "max": null, "min": null - }, + }, { "format": "short", "label": null, @@ -5888,9 +5888,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "alert": { "conditions": [ @@ -5898,12 +5898,12 @@ "evaluator": { "params": [ 0.1 - ], + ], "type": "lt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "datasourceId": 1, "model": { @@ -5912,20 +5912,20 @@ "legendFormat": "{{instance}} etch disk wal fsync rate", "refId": "A", "step": 4 - }, + }, "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "avg" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "60s", "handler": 1, @@ -5933,7 +5933,7 @@ "name": "etcd disk fsync", "noDataState": "ok", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -5947,7 +5947,7 @@ "w": 12, "x": 12, "y": 178 - }, + }, "id": 44, "legend": { "avg": false, @@ -5957,7 +5957,7 @@ "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5978,8 +5978,8 @@ "legendFormat": "{{instance}} etch disk wal fsync rate", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -5987,8 +5987,8 @@ "line": true, "op": "lt", "value": 0.1 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -5997,7 +5997,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6005,7 +6005,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -6014,7 +6014,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6022,13 +6022,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6042,7 +6042,7 @@ "w": 8, "x": 0, "y": 186 - }, + }, "id": 92, "legend": { "alignAsTable": true, @@ -6056,7 +6056,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6076,8 +6076,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}} - {{job}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6087,7 +6087,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6095,7 +6095,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -6104,7 +6104,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6112,9 +6112,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -6128,7 +6128,7 @@ "w": 8, "x": 8, "y": 186 - }, + }, "id": 93, "legend": { "alignAsTable": true, @@ -6142,7 +6142,7 @@ "rightSide": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6162,8 +6162,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}} - {{job}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6173,7 +6173,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6181,7 +6181,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -6190,7 +6190,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6198,9 +6198,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -6214,7 +6214,7 @@ "w": 8, "x": 16, "y": 186 - }, + }, "id": 94, "legend": { "alignAsTable": true, @@ -6228,7 +6228,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6248,8 +6248,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}} - {{job}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6259,7 +6259,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6267,7 +6267,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -6276,7 +6276,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6284,14 +6284,14 @@ "max": null, "min": null, "show": true - } - ] - } - ], + } + ] + } + ], "repeat": null, "title": "etcd", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -6299,7 +6299,7 @@ "w": 24, "x": 0, "y": 7 - }, + }, "id": 125, "panels": [ { @@ -6318,7 +6318,7 @@ "w": 24, "x": 0, "y": 8 - }, + }, "id": 28, "legend": { "alignAsTable": true, @@ -6331,7 +6331,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6351,8 +6351,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 2 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6363,7 +6363,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6371,7 +6371,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -6380,7 +6380,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6388,13 +6388,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6411,7 +6411,7 @@ "w": 24, "x": 0, "y": 16 - }, + }, "id": 29, "legend": { "alignAsTable": true, @@ -6428,7 +6428,7 @@ "sortDesc": false, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6449,15 +6449,15 @@ "legendFormat": "{{type}} 98th percentile", "refId": "A", "step": 2 - }, + }, { "expr": "avg(rate(pd_client_request_handle_requests_duration_seconds_sum[30s])) by (type) / avg(rate(pd_client_request_handle_requests_duration_seconds_count[30s])) by (type)", "intervalFactor": 2, "legendFormat": "{{type}} average", "refId": "B", "step": 2 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6468,7 +6468,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6476,7 +6476,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -6485,7 +6485,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -6493,18 +6493,18 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "TiDB", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -6512,7 +6512,7 @@ "w": 24, "x": 0, "y": 8 - }, + }, "id": 126, "panels": [ { @@ -6531,7 +6531,7 @@ "w": 12, "x": 0, "y": 9 - }, + }, "id": 74, "legend": { "alignAsTable": true, @@ -6545,7 +6545,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6567,8 +6567,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6579,7 +6579,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6587,7 +6587,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ms", @@ -6596,7 +6596,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "ms", "label": null, @@ -6604,13 +6604,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6627,7 +6627,7 @@ "w": 12, "x": 12, "y": 9 - }, + }, "id": 64, "legend": { "alignAsTable": true, @@ -6641,7 +6641,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6663,8 +6663,8 @@ "legendFormat": "{{address}}-{{status}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6675,7 +6675,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6683,7 +6683,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -6692,7 +6692,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "s", "label": null, @@ -6700,13 +6700,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6723,7 +6723,7 @@ "w": 12, "x": 0, "y": 17 - }, + }, "id": 54, "legend": { "alignAsTable": true, @@ -6737,7 +6737,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6759,8 +6759,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6771,7 +6771,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6779,7 +6779,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -6788,7 +6788,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "s", "label": null, @@ -6796,13 +6796,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6819,7 +6819,7 @@ "w": 12, "x": 12, "y": 17 - }, + }, "id": 78, "legend": { "alignAsTable": true, @@ -6833,7 +6833,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6855,8 +6855,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6867,7 +6867,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6875,7 +6875,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -6884,7 +6884,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "s", "label": null, @@ -6892,13 +6892,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6915,7 +6915,7 @@ "w": 12, "x": 0, "y": 25 - }, + }, "id": 77, "legend": { "alignAsTable": true, @@ -6929,7 +6929,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6951,8 +6951,8 @@ "legendFormat": "{{address}}-store-{{store}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6963,7 +6963,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6971,7 +6971,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "opm", @@ -6980,7 +6980,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "s", "label": null, @@ -6988,18 +6988,18 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Heartbeat", "type": "row" - }, + }, { "collapsed": true, "gridPos": { @@ -7007,7 +7007,7 @@ "w": 24, "x": 0, "y": 9 - }, + }, "id": 127, "panels": [ { @@ -7022,7 +7022,7 @@ "w": 12, "x": 0, "y": 213 - }, + }, "id": 112, "legend": { "alignAsTable": true, @@ -7034,7 +7034,7 @@ "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7054,8 +7054,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7065,7 +7065,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7073,7 +7073,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -7082,7 +7082,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -7090,9 +7090,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -7105,7 +7105,7 @@ "w": 12, "x": 12, "y": 213 - }, + }, "id": 113, "legend": { "alignAsTable": true, @@ -7117,7 +7117,7 @@ "show": true, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7137,8 +7137,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7148,7 +7148,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7156,7 +7156,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -7165,7 +7165,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -7173,15 +7173,15 @@ "max": null, "min": null, "show": true - } - ] - } - ], + } + ] + } + ], "repeat": null, "title": "Region storage", "type": "row" - } - ], + } + ], "refresh": "30s", "schemaVersion": 18, "style": "dark", @@ -7209,7 +7209,7 @@ "tagsQuery": null, "type": "query", "useTags": false - }, + }, { "allValue": ".*", "current": {}, @@ -7231,13 +7231,13 @@ "tagsQuery": "", "type": "query", "useTags": false - } - ] - }, + } + ] + }, "time": { "from": "now-1h", "to": "now" - }, + }, "timepicker": { "refresh_intervals": [ "5s", @@ -7250,7 +7250,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -7261,8 +7261,8 @@ "2d", "7d", "30d" - ] - }, + ] + }, "timezone": "browser", "title": "Test-Cluster-PD", "uid": "Q6RuHYIWk", diff --git a/charts/tikv/dashboards/tikv-raw.json b/charts/tikv/dashboards/tikv-raw.json index b4c89df9..826b3f05 100644 --- a/charts/tikv/dashboards/tikv-raw.json +++ b/charts/tikv/dashboards/tikv-raw.json @@ -12,7 +12,7 @@ "showIn": 0, "tags": [], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -23,17 +23,17 @@ "showIn": 0, "tags": [ "run" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "run" - ], + ], "type": "tags" - }, - "type": "tags" }, + "type": "tags" + }, { "datasource": "-- Grafana --", "enable": false, @@ -44,9 +44,9 @@ "showIn": 0, "tags": [ "exit" - ], + ], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -57,20 +57,20 @@ "showIn": 0, "tags": [ "failure" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "failure" - ], + ], "type": "tags" - }, + }, "type": "tags", "useValueForTime": false - } - ] - }, + } + ] +}, "editable": true, "fiscalYearStartMonth": 0, "gnetId": null, @@ -86,26 +86,26 @@ "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 - }, + }, "id": 2, "panels": [], "repeat": "command", "title": "Read - $command", "type": "row" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -117,23 +117,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -141,23 +141,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ms" + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 1 - }, + }, "id": 4, "links": [], "options": { @@ -166,14 +166,14 @@ "mean", "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -184,34 +184,34 @@ "refId": "A", "target": "select metric", "type": "timeserie" - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_scheduler_command_duration_seconds_bucket{instance=~\"$instance\", type=~\"$command\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 1, "legendFormat": "95%", "refId": "B" - }, + }, { "expr": "sum(rate(tikv_scheduler_command_duration_seconds_sum{instance=~\"$instance\", type=~\"$command\"}[1m])) / sum(rate(tikv_scheduler_command_duration_seconds_count{instance=~\"$instance\", type=~\"$command\"}[1m])) ", "format": "time_series", "intervalFactor": 1, "legendFormat": "avg", "refId": "C" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Command Duration", "type": "timeseries" - }, + }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -223,23 +223,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -247,23 +247,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ms" + } + ] }, - "overrides": [] + "unit": "ms" }, + "overrides": [] + }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 1 - }, + }, "id": 6, "links": [], "options": { @@ -272,14 +272,14 @@ "mean", "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -290,28 +290,28 @@ "refId": "A", "target": "select metric", "type": "timeserie" - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_scheduler_processing_read_duration_seconds_bucket{instance=~\"$instance\", type=~\"$command\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 1, "legendFormat": "95%", "refId": "B" - }, + }, { "expr": "sum(rate(tikv_scheduler_processing_read_duration_seconds_sum{instance=~\"$instance\", type=~\"$command\"}[1m])) / sum(rate(tikv_scheduler_processing_read_duration_seconds_count{instance=~\"$instance\", type=~\"$command\"}[1m]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "avg", "refId": "C" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Read Processing Duration", "type": "timeseries" - } - ], + } + ], "refresh": false, "schemaVersion": 31, "style": "dark", @@ -323,17 +323,17 @@ "current": { "text": [ null - ], + ], "value": [ null - ] - }, + ] + }, "datasource": "${DS_TEST-CLUSTER}", "definition": "label_values(tikv_storage_command_total, type)", "description": null, "error": { "message": "Datasource named ${DS_TEST-CLUSTER} was not found" - }, + }, "hide": 0, "includeAll": true, "label": "command", @@ -349,23 +349,23 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": null, "current": { "text": [ null - ], + ], "value": [ null - ] - }, + ] + }, "datasource": "${DS_TEST-CLUSTER}", "definition": "label_values(tikv_engine_size_bytes, instance)", "description": null, "error": { "message": "Datasource named ${DS_TEST-CLUSTER} was not found" - }, + }, "hide": 0, "includeAll": true, "label": "instance", @@ -381,13 +381,13 @@ "tagsQuery": "", "type": "query", "useTags": false - } - ] - }, + } + ] +}, "time": { "from": "now-5m", "to": "now" - }, +}, "timepicker": { "refresh_intervals": [ "5s", @@ -400,7 +400,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -411,8 +411,8 @@ "2d", "7d", "30d" - ] - }, + ] +}, "timezone": "", "title": "Test-Cluster-TiKV-Raw", "uid": "K0D2tEZZz", diff --git a/charts/tikv/dashboards/tikv-summary.json b/charts/tikv/dashboards/tikv-summary.json index 137dba75..539dbec9 100644 --- a/charts/tikv/dashboards/tikv-summary.json +++ b/charts/tikv/dashboards/tikv-summary.json @@ -12,7 +12,7 @@ "showIn": 0, "tags": [], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -23,17 +23,17 @@ "showIn": 0, "tags": [ "run" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "run" - ], + ], "type": "tags" - }, - "type": "tags" }, + "type": "tags" + }, { "datasource": "-- Grafana --", "enable": false, @@ -44,9 +44,9 @@ "showIn": 0, "tags": [ "exit" - ], + ], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -57,20 +57,20 @@ "showIn": 0, "tags": [ "failure" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "failure" - ], + ], "type": "tags" - }, + }, "type": "tags", "useValueForTime": false - } - ] - }, + } + ] +}, "editable": true, "fiscalYearStartMonth": 0, "gnetId": null, @@ -86,19 +86,19 @@ "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 - }, + }, "id": 2742, "panels": [], "repeat": null, "title": "Cluster", "type": "row" - }, + }, { "datasource": "Prometheus", "description": "The storage size per TiKV instance", @@ -106,7 +106,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -118,23 +118,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -143,37 +143,37 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "decbytes" + } + ] }, - "overrides": [] + "unit": "decbytes" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 8, "x": 0, "y": 1 - }, + }, "id": 56, "links": [], "options": { "legend": { "calcs": [ "lastNotNull" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -185,13 +185,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Store size", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The available capacity size of each TiKV instance", @@ -199,7 +199,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -211,23 +211,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -236,37 +236,37 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "decbytes" + } + ] }, - "overrides": [] + "unit": "decbytes" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 8, "x": 8, "y": 1 - }, + }, "id": 1706, "links": [], "options": { "legend": { "calcs": [ "lastNotNull" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -278,13 +278,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Available size", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The capacity size per TiKV instance", @@ -292,7 +292,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -304,23 +304,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -329,37 +329,37 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "decbytes" + } + ] }, - "overrides": [] + "unit": "decbytes" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 8, "x": 16, "y": 1 - }, + }, "id": 1707, "links": [], "options": { "legend": { "calcs": [ "lastNotNull" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -371,13 +371,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Capacity size", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": " \tThe CPU usage of each TiKV instance", @@ -385,7 +385,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -397,23 +397,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -422,23 +422,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 9 - }, + }, "id": 1708, "links": [], "options": { @@ -446,14 +446,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -465,13 +465,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": " \tThe memory usage of each TiKV instance", @@ -479,7 +479,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -491,23 +491,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -516,23 +516,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "bytes" + } + ] }, - "overrides": [] + "unit": "bytes" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 9 - }, + }, "id": 1709, "links": [], "options": { @@ -540,14 +540,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -559,13 +559,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Memory", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": " \tThe I/O utilization per TiKV instance", @@ -573,7 +573,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -585,23 +585,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -610,23 +610,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 17 - }, + }, "id": 1710, "links": [], "options": { @@ -634,14 +634,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -653,13 +653,13 @@ "legendFormat": "{{instance}} - {{device}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "IO utilization", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The total bytes of read and write in each TiKV instance", @@ -667,7 +667,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -679,23 +679,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -704,23 +704,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "Bps" + } + ] }, - "overrides": [] + "unit": "Bps" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 17 - }, + }, "id": 1711, "links": [], "options": { @@ -728,14 +728,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -748,7 +748,7 @@ "legendFormat": "{{instance}}-write", "refId": "A", "step": 10 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_engine_flow_bytes{instance=~\"$instance\", db=\"kv\", type=~\"bytes_read|iter_bytes_read\"}[1m])) by (instance)", @@ -758,13 +758,13 @@ "intervalFactor": 2, "legendFormat": "{{instance}}-read", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "MBps", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The QPS of different kinds of commands in each TiKV instance", @@ -772,7 +772,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -784,24 +784,24 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, - "mappings": [], + } + }, + "mappings": [], "min": 0, "thresholds": { "mode": "absolute", @@ -809,23 +809,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ops" + } + ] }, - "overrides": [] + "unit": "ops" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 25 - }, + }, "id": 1713, "links": [], "options": { @@ -833,14 +833,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -853,13 +853,13 @@ "legendFormat": "{{instance}} - {{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "QPS", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The total number of the gRPC message failures", @@ -867,7 +867,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -879,23 +879,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -904,23 +904,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ops" + } + ] }, - "overrides": [] + "unit": "ops" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 25 - }, + }, "id": 1712, "links": [], "options": { @@ -928,14 +928,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -948,7 +948,7 @@ "legendFormat": "{{instance}}-grpc-msg-fail", "refId": "A", "step": 10 - }, + }, { "exemplar": true, "expr": "sum(delta(tikv_pd_heartbeat_message_total{instance=~\"$instance\", type=\"noop\"}[1m])) by (instance) < 1", @@ -957,7 +957,7 @@ "intervalFactor": 2, "legendFormat": "{{instance}}-pd-heartbeat", "refId": "B" - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_critical_error_total{instance=~\"$instance\"}[1m])) by (instance, type)", @@ -966,13 +966,13 @@ "intervalFactor": 2, "legendFormat": "{{instance}}-{{type}}", "refId": "C" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Errps", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The number of leaders per TiKV instance", @@ -980,7 +980,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -992,23 +992,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1017,36 +1017,36 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "short" + } + ] }, + "unit": "short" + }, "overrides": [ { "matcher": { "id": "byName", "options": "total" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 33 - }, + }, "id": 1715, "links": [], "options": { @@ -1054,14 +1054,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1074,7 +1074,7 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - }, + }, { "exemplar": true, "expr": "delta(tikv_raftstore_region_count{instance=~\"$instance\", type=\"leader\"}[30s]) < -10", @@ -1084,13 +1084,13 @@ "intervalFactor": 2, "legendFormat": "", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Leader", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": " \tThe number of Regions on each TiKV instance", @@ -1098,7 +1098,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1110,23 +1110,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1134,23 +1134,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "short" + } + ] }, - "overrides": [] + "unit": "short" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 33 - }, + }, "id": 1714, "links": [], "options": { @@ -1158,14 +1158,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1177,32 +1177,32 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Region", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 41 - }, + }, "id": 2743, "panels": [], "repeat": null, "title": "Errors", "type": "row" - }, + }, { "alert": { "conditions": [ @@ -1210,39 +1210,39 @@ "evaluator": { "params": [ 0 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "5m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "avg" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "60s", "handler": 1, "name": "Critical error alert", "noDataState": "no_data", "notifications": [] - }, + }, "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1254,23 +1254,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1279,23 +1279,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 0 - } - ] - }, - "unit": "short" + } + ] }, - "overrides": [] + "unit": "short" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 42 - }, + }, "id": 2741, "links": [], "options": { @@ -1303,11 +1303,11 @@ "calcs": [], "displayMode": "list", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1318,13 +1318,13 @@ "intervalFactor": 2, "legendFormat": "{{instance}}-{{type}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Critical error", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "It contains some kinds of events such as write stall, channel full, scheduler busy, and coprocessor full, which will make the TiKV instance unavailable temporarily.", @@ -1332,7 +1332,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1344,23 +1344,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1369,23 +1369,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "none" + } + ] }, - "overrides": [] + "unit": "none" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 49 - }, + }, "id": 1584, "links": [], "options": { @@ -1393,14 +1393,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1413,7 +1413,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "sum(rate(tikv_channel_full_total{instance=~\"$instance\"}[1m])) by (instance, type)", "format": "time_series", @@ -1422,7 +1422,7 @@ "metric": "", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_coprocessor_request_error{instance=~\"$instance\", type='full'}[1m])) by (instance)", "format": "time_series", @@ -1431,20 +1431,20 @@ "metric": "", "refId": "C", "step": 4 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile99\"}) by (instance)", "format": "time_series", "intervalFactor": 2, "legendFormat": "stall-{{instance}}", "refId": "D" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Server is busy", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -1452,26 +1452,26 @@ "evaluator": { "params": [ 0 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "10s", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "10s", "handler": 1, @@ -1479,14 +1479,14 @@ "name": "server report failures alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The total number of reporting failure messages", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1498,23 +1498,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1523,23 +1523,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 0 - } - ] - }, - "unit": "short" + } + ] }, - "overrides": [] + "unit": "short" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 49 - }, + }, "id": 18, "links": [], "options": { @@ -1547,14 +1547,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1567,13 +1567,13 @@ "metric": "tikv_server_raft_store_msg_total", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Server report failures", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The number of Raftstore errors per type on each TiKV instance", @@ -1581,7 +1581,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1593,23 +1593,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1618,23 +1618,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "none" + } + ] }, - "overrides": [] + "unit": "none" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 56 - }, + }, "id": 1718, "links": [], "options": { @@ -1642,14 +1642,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1662,13 +1662,13 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Raftstore error", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The number of different scheduler errors on each TiKV instance", @@ -1676,7 +1676,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1688,23 +1688,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1713,23 +1713,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "none" + } + ] }, - "overrides": [] + "unit": "none" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 56 - }, + }, "id": 1719, "links": [], "options": { @@ -1737,14 +1737,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1757,13 +1757,13 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Scheduler error", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The number of different coprocessor errors on each TiKV instance", @@ -1771,7 +1771,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1783,23 +1783,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1808,23 +1808,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "none" + } + ] }, - "overrides": [] + "unit": "none" }, + "overrides": [] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 63 - }, + }, "id": 1720, "links": [], "options": { @@ -1832,14 +1832,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1852,13 +1852,13 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Coprocessor error", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The number of different gRPC message errors on each TiKV instance", @@ -1866,7 +1866,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1878,23 +1878,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1903,23 +1903,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "none" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 63 - }, + }, "id": 1721, "links": [], "options": { @@ -1927,14 +1927,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1947,13 +1947,13 @@ "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC message error", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The count of dropped leader in each TiKV instance", @@ -1961,7 +1961,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1973,23 +1973,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1998,36 +1998,36 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "total" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 70 - }, + }, "id": 1722, "links": [], "options": { @@ -2035,14 +2035,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2054,13 +2054,13 @@ "intervalFactor": 2, "legendFormat": "{{instance}}", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Leader drop", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The count of missing leaders per TiKV instance", @@ -2068,7 +2068,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2080,23 +2080,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2105,36 +2105,36 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "total" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 70 - }, + }, "id": 1723, "links": [], "options": { @@ -2142,14 +2142,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2161,32 +2161,32 @@ "intervalFactor": 2, "legendFormat": "{{instance}}", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Leader missing", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 77 - }, + }, "id": 2744, "panels": [], "repeat": null, "title": "Server", "type": "row" - }, + }, { "datasource": "Prometheus", "description": " \tThe total size of each column family", @@ -2194,7 +2194,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2206,23 +2206,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2231,23 +2231,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "decbytes" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 78 - }, + }, "id": 33, "links": [], "options": { @@ -2255,14 +2255,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2274,13 +2274,13 @@ "legendFormat": "{{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "CF size", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The storage size per TiKV instance", @@ -2288,7 +2288,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2300,23 +2300,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 0, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "normal" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2325,23 +2325,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "decbytes" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 78 - }, + }, "id": 1705, "links": [], "options": { @@ -2349,14 +2349,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2368,13 +2368,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Store size", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -2382,12 +2382,12 @@ "evaluator": { "params": [ 0 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "datasourceId": 1, "model": { @@ -2397,20 +2397,20 @@ "metric": "", "refId": "A", "step": 10 - }, + }, "params": [ "A", "10s", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "avg" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "10s", "handler": 1, @@ -2418,14 +2418,14 @@ "name": "TiKV channel full alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The total number of channel full errors on each TiKV instance", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2437,23 +2437,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2462,23 +2462,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 0 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 86 - }, + }, "id": 22, "links": [], "options": { @@ -2486,14 +2486,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2506,13 +2506,13 @@ "metric": "", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Channel full", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -2520,40 +2520,40 @@ "evaluator": { "params": [ 1073741824 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "B", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "avg" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "frequency": "60s", "handler": 1, "name": "approximate region size alert", "noDataState": "no_data", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The approximate Region size", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2565,23 +2565,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2590,23 +2590,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 1073741824 - } - ] - }, + } + ] + }, "unit": "bytes" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 86 - }, + }, "id": 1481, "links": [], "options": { @@ -2614,14 +2614,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2634,7 +2634,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "exemplar": true, "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_region_size_bucket{instance=~\"$instance\"}[1m])) by (le))", @@ -2645,7 +2645,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_raftstore_region_size_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_region_size_count{instance=~\"$instance\"}[1m])) ", @@ -2656,32 +2656,32 @@ "metric": "", "refId": "D", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Approximate Region size", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 94 - }, + }, "id": 2745, "panels": [], "repeat": null, "title": "gRPC", "type": "row" - }, + }, { "datasource": "Prometheus", "description": "The count of different kinds of gRPC message", @@ -2689,7 +2689,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2701,23 +2701,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -2725,23 +2725,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "ops" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 95 - }, + }, "id": 95, "links": [], "options": { @@ -2749,14 +2749,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2769,13 +2769,13 @@ "metric": "tikv_grpc_msg_duration_seconds_bucket", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC message count", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The count of different kinds of gRPC message which is failed", @@ -2783,7 +2783,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2795,23 +2795,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -2819,23 +2819,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "ops" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 95 - }, + }, "id": 107, "links": [], "options": { @@ -2843,14 +2843,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2861,13 +2861,13 @@ "metric": "tikv_grpc_msg_fail_total", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC message failed", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The gRPC message duration per message type (P99)", @@ -2875,7 +2875,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2887,24 +2887,24 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "log": 10, "type": "log" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -2912,23 +2912,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "s" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 103 - }, + }, "id": 98, "links": [], "options": { @@ -2936,14 +2936,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -2954,20 +2954,20 @@ "legendFormat": "{{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "99% gRPC messge duration", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2979,24 +2979,24 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "log": 2, "type": "log" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3004,23 +3004,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "s" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 103 - }, + }, "id": 2532, "links": [], "options": { @@ -3028,14 +3028,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3046,32 +3046,32 @@ "legendFormat": "{{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Average gRPC messge duration", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 111 - }, + }, "id": 2746, "panels": [], "repeat": null, "title": "Thread CPU", "type": "row" - }, + }, { "alert": { "conditions": [ @@ -3079,12 +3079,12 @@ "evaluator": { "params": [ 1.7 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "datasourceId": 1, "model": { @@ -3094,20 +3094,20 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 20 - }, + }, "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "60s", @@ -3116,14 +3116,14 @@ "name": "TiKV raft store CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of raftstore thread", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3135,23 +3135,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3159,23 +3159,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 1.7 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 112 - }, + }, "id": 61, "links": [], "options": { @@ -3183,14 +3183,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3203,13 +3203,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Raft store CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -3217,26 +3217,26 @@ "evaluator": { "params": [ 1.8 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "1m", @@ -3245,14 +3245,14 @@ "name": "TiKV async apply CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of async apply", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3264,23 +3264,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -3289,23 +3289,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 1.8 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 112 - }, + }, "id": 79, "links": [], "options": { @@ -3313,14 +3313,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3333,13 +3333,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Async apply CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -3347,26 +3347,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "1m", @@ -3375,14 +3375,14 @@ "name": "TiKV scheduler worker CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of scheduler worker", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3394,23 +3394,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3418,23 +3418,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 119 - }, + }, "id": 64, "links": [], "options": { @@ -3442,14 +3442,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3462,13 +3462,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Scheduler worker CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -3476,26 +3476,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "1m", @@ -3504,14 +3504,14 @@ "name": "TiKV gRPC poll CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of gRPC", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3523,23 +3523,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3547,23 +3547,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 119 - }, + }, "id": 105, "links": [], "options": { @@ -3571,14 +3571,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3590,13 +3590,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC poll CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -3604,26 +3604,26 @@ "evaluator": { "params": [ 7.2 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -3632,14 +3632,14 @@ "name": "TiKV Coprocessor CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of coprocessor", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3651,23 +3651,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3675,23 +3675,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 7.2 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 126 - }, + }, "id": 78, "links": [], "options": { @@ -3699,14 +3699,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3718,7 +3718,7 @@ "legendFormat": "{{instance}} - normal", "refId": "A", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_high.*\"}[1m])) by (instance)", @@ -3728,7 +3728,7 @@ "legendFormat": "{{instance}} - high", "refId": "B", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_low.*\"}[1m])) by (instance)", @@ -3738,13 +3738,13 @@ "legendFormat": "{{instance}} - low", "refId": "C", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Coprocessor CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -3752,26 +3752,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -3780,14 +3780,14 @@ "name": "TiKV Storage ReadPool CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "The CPU utilization of readpool", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3799,23 +3799,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -3823,23 +3823,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 126 - }, + }, "id": 1908, "links": [], "options": { @@ -3847,14 +3847,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3867,7 +3867,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_high.*\"}[1m])) by (instance)", @@ -3878,7 +3878,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "B", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_low.*\"}[1m])) by (instance)", @@ -3889,13 +3889,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "C", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Storage ReadPool CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": " \tThe CPU utilization of split check", @@ -3903,7 +3903,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -3915,23 +3915,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -3940,23 +3940,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 133 - }, + }, "id": 68, "links": [], "options": { @@ -3964,14 +3964,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -3984,13 +3984,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Split check CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The CPU utilization of RocksDB", @@ -3998,7 +3998,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4010,23 +4010,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4034,27 +4034,27 @@ { "color": "transparent", "value": null - }, + }, { "color": "orange", "value": 1 - }, + }, { "color": "red", "value": 4 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 133 - }, + }, "id": 69, "links": [], "options": { @@ -4062,14 +4062,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4082,20 +4082,20 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "RocksDB CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4107,23 +4107,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4131,23 +4131,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 140 - }, + }, "id": 2531, "links": [], "options": { @@ -4155,14 +4155,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4174,13 +4174,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "GC worker CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The CPU utilization of snapshot worker", @@ -4188,7 +4188,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4200,23 +4200,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4224,23 +4224,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "percentunit" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 140 - }, + }, "id": 67, "links": [], "options": { @@ -4248,14 +4248,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4268,32 +4268,32 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Snapshot worker CPU", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 147 - }, + }, "id": 2747, "panels": [], "repeat": null, "title": "PD", "type": "row" - }, + }, { "datasource": "Prometheus", "description": " \tThe count of requests that TiKV sends to PD", @@ -4301,7 +4301,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4313,23 +4313,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4337,23 +4337,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 148 - }, + }, "id": 1069, "links": [], "options": { @@ -4361,14 +4361,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4377,16 +4377,16 @@ "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{ type }}", + "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "PD requests", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The time consumed by requests that TiKV sends to PD", @@ -4394,7 +4394,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4406,23 +4406,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4430,23 +4430,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "s" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 148 - }, + }, "id": 1070, "links": [], "options": { @@ -4454,14 +4454,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4470,16 +4470,16 @@ "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{ type }}", + "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "PD request duration (average)", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The total number of PD heartbeat messages", @@ -4487,7 +4487,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4499,23 +4499,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4523,23 +4523,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "ops" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 156 - }, + }, "id": 1215, "links": [], "options": { @@ -4547,14 +4547,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4563,16 +4563,16 @@ "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{ type }}", + "legendFormat": "{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "PD heartbeats", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "The total number of peers validated by the PD worker", @@ -4580,7 +4580,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -4592,23 +4592,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -4616,23 +4616,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "ops" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 156 - }, + }, "id": 1396, "links": [], "options": { @@ -4640,14 +4640,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -4656,18 +4656,18 @@ "format": "time_series", "interval": "", "intervalFactor": 2, - "legendFormat": "{{ type }}", + "legendFormat": "{{type}}", "metric": "", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "PD validate peers", "type": "timeseries" - } - ], + } + ], "refresh": "1m", "schemaVersion": 31, "style": "dark", @@ -4681,12 +4681,12 @@ "text": [ "kv", "raft" - ], + ], "value": [ "kv", "raft" - ] - }, + ] + }, "datasource": "Prometheus", "definition": "label_values(tikv_engine_block_cache_size_bytes, db)", "description": null, @@ -4700,7 +4700,7 @@ "query": { "query": "label_values(tikv_engine_block_cache_size_bytes, db)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -4709,18 +4709,18 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": null, "current": { "selected": true, "text": [ "raw_get_key_ttl" - ], + ], "value": [ "raw_get_key_ttl" - ] - }, + ] + }, "datasource": "Prometheus", "definition": "label_values(tikv_storage_command_total, type)", "description": null, @@ -4734,7 +4734,7 @@ "query": { "query": "label_values(tikv_storage_command_total, type)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -4743,14 +4743,14 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": ".*", "current": { "selected": true, "text": "All", "value": "$__all" - }, + }, "datasource": "Prometheus", "definition": "label_values(tikv_engine_size_bytes, instance)", "description": null, @@ -4764,7 +4764,7 @@ "query": { "query": "label_values(tikv_engine_size_bytes, instance)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -4773,13 +4773,13 @@ "tagsQuery": "", "type": "query", "useTags": false - } - ] - }, + } + ] + }, "time": { "from": "now-5m", "to": "now" - }, + }, "timepicker": { "refresh_intervals": [ "5s", @@ -4792,7 +4792,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -4803,8 +4803,8 @@ "2d", "7d", "30d" - ] - }, + ] + }, "timezone": "browser", "title": "TiKV-Summary", "uid": "X7VQmEzZk2", diff --git a/charts/tikv/dashboards/tikv-troubleshooting.json b/charts/tikv/dashboards/tikv-troubleshooting.json index 1f09db8c..dc88e61b 100644 --- a/charts/tikv/dashboards/tikv-troubleshooting.json +++ b/charts/tikv/dashboards/tikv-troubleshooting.json @@ -12,7 +12,7 @@ "showIn": 0, "tags": [], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -23,17 +23,17 @@ "showIn": 0, "tags": [ "run" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "run" - ], + ], "type": "tags" - }, - "type": "tags" }, + "type": "tags" + }, { "datasource": "-- Grafana --", "enable": false, @@ -44,9 +44,9 @@ "showIn": 0, "tags": [ "exit" - ], + ], "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -57,20 +57,20 @@ "showIn": 0, "tags": [ "failure" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "failure" - ], + ], "type": "tags" - }, + }, "type": "tags", "useValueForTime": false - } - ] - }, + } + ] +}, "editable": true, "fiscalYearStartMonth": 0, "gnetId": null, @@ -86,19 +86,19 @@ "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 - }, + }, "id": 2796, "panels": [], "repeat": null, "title": "Hot Read", "type": "row" - }, + }, { "datasource": "Prometheus", "description": "总 CPU 使用率", @@ -106,7 +106,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -118,23 +118,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -143,23 +143,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 1 - }, + }, "id": 1708, "links": [], "options": { @@ -167,14 +167,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -186,13 +186,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "客户端发来的常见请求的 QPS。如果同一类请求在多个机器上分布显著不平均,那么需要考虑热点的问题", @@ -200,7 +200,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -212,23 +212,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -237,23 +237,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ops" + } + ] }, - "overrides": [] + "unit": "ops" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 1 - }, + }, "id": 1713, "links": [], "options": { @@ -261,14 +261,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -281,13 +281,13 @@ "legendFormat": "{{instance}} - {{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "QPS", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -295,26 +295,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -323,14 +323,14 @@ "name": "TiKV Storage ReadPool CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "点查会走 Storage ReadPool", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -342,23 +342,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -366,23 +366,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 9 - }, + }, "id": 1908, "links": [], "options": { @@ -390,14 +390,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -410,7 +410,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_high.*\"}[1m])) by (instance)", @@ -421,7 +421,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "B", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_low.*\"}[1m])) by (instance)", @@ -432,13 +432,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "C", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Storage ReadPool CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -446,26 +446,26 @@ "evaluator": { "params": [ 7.2 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -474,14 +474,14 @@ "name": "TiKV Coprocessor CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "非点查的 SQL 走 Coprocessor Pool", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -493,23 +493,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -517,23 +517,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 7.2 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 9 - }, + }, "id": 78, "links": [], "options": { @@ -541,14 +541,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -560,7 +560,7 @@ "legendFormat": "{{instance}} - normal", "refId": "A", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_high.*\"}[1m])) by (instance)", @@ -570,7 +570,7 @@ "legendFormat": "{{instance}} - high", "refId": "B", "step": 4 - }, + }, { "exemplar": true, "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_low.*\"}[1m])) by (instance)", @@ -580,13 +580,13 @@ "legendFormat": "{{instance}} - low", "refId": "C", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Coprocessor CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -594,26 +594,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -622,14 +622,14 @@ "name": "TiKV gRPC poll CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "gRPC CPU 使用率,如果打满,需要调 TiKV 的 grpc-concurrency 参数", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -641,23 +641,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -665,23 +665,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 17 - }, + }, "id": 105, "links": [], "options": { @@ -689,14 +689,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -708,13 +708,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC poll CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "I/O util 反应磁盘的繁忙程度。接近 100% 意味着磁盘很忙,虽然未必达到了贷款瓶颈,但是延迟可能会受较大影响。", @@ -722,7 +722,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -734,23 +734,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -759,23 +759,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 17 - }, + }, "id": 1710, "links": [], "options": { @@ -783,14 +783,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -800,32 +800,32 @@ "legendFormat": "{{instance}} - {{device}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "IO utilization", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 25 - }, + }, "id": 2797, "panels": [], "repeat": null, "title": "Hot Write", "type": "row" - }, + }, { "datasource": "Prometheus", "description": "", @@ -833,7 +833,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -845,23 +845,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -870,23 +870,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 26 - }, + }, "id": 2763, "links": [], "options": { @@ -894,14 +894,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -913,20 +913,20 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "CPU", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -938,23 +938,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -963,23 +963,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "ops" + } + ] }, - "overrides": [] + "unit": "ops" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 26 - }, + }, "id": 2764, "links": [], "options": { @@ -987,14 +987,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1007,20 +1007,20 @@ "legendFormat": "{{instance}} - {{type}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "QPS", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1032,23 +1032,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1057,23 +1057,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 34 - }, + }, "id": 2765, "links": [], "options": { @@ -1081,14 +1081,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1098,13 +1098,13 @@ "legendFormat": "{{instance}} - {{device}}", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "IO utilization", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -1112,26 +1112,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -1140,13 +1140,13 @@ "name": "TiKV gRPC poll CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1158,23 +1158,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1182,23 +1182,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 34 - }, + }, "id": 2783, "links": [], "options": { @@ -1206,14 +1206,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1225,13 +1225,13 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "gRPC poll CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -1239,26 +1239,26 @@ "evaluator": { "params": [ 1.7 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0", "frequency": "1m", @@ -1267,14 +1267,14 @@ "name": "TiKV raft store CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "Raftstore 线程 CPU 使用率,这个线程池用来写 Raft log。", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1286,23 +1286,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1310,23 +1310,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 1.7 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 42 - }, + }, "id": 61, "links": [], "options": { @@ -1334,14 +1334,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1354,13 +1354,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Raft store CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -1368,26 +1368,26 @@ "evaluator": { "params": [ 1.8 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -1396,14 +1396,14 @@ "name": "TiKV async apply CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "Apply 线程 CPU,这个线程池用来将写入应用到 kv engine 中。", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1415,23 +1415,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1440,23 +1440,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 1.8 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 42 - }, + }, "id": 79, "links": [], "options": { @@ -1464,14 +1464,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1484,13 +1484,13 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Async apply CPU", "type": "timeseries" - }, + }, { "alert": { "conditions": [ @@ -1498,26 +1498,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -1526,14 +1526,14 @@ "name": "TiKV Scheduler Worker CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "datasource": "Prometheus", "description": "Scheduler worker 线程池的 CPU 使用率。事务会在 Scheduler 中排队,这个线程池接近打满意味着 MVCC 的旧版本太多,事务处理过慢。", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1545,23 +1545,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line+area" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1569,23 +1569,23 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 3.6 - } - ] - }, - "unit": "percentunit" + } + ] }, - "overrides": [] + "unit": "percentunit" }, + "overrides": [] + }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 50 - }, + }, "id": 63, "links": [], "options": { @@ -1593,14 +1593,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1613,39 +1613,39 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Scheduler Worker CPU", "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 58 - }, + }, "id": 2798, "panels": [], "repeat": null, "title": "Leader Drop", "type": "row" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1657,23 +1657,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1682,36 +1682,36 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "short" + } + ] }, + "unit": "short" + }, "overrides": [ { "matcher": { "id": "byName", "options": "total" - }, + }, "properties": [ { "id": "custom.lineWidth", "value": 0 - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 59 - }, + }, "id": 34, "links": [], "options": { @@ -1719,14 +1719,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1739,7 +1739,7 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - }, + }, { "exemplar": true, "expr": "delta(tikv_raftstore_region_count{instance=~\"$instance\", type=\"leader\"}[30s]) < -10", @@ -1749,13 +1749,13 @@ "intervalFactor": 2, "legendFormat": "", "refId": "B" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Leader", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "Append log 时间。过长意味着 Raftstore 线程太忙,有可能心跳处理不过来导致上面的 Leader 被切走。", @@ -1763,7 +1763,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1775,23 +1775,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1799,23 +1799,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, - "unit": "s" + } + ] }, + "unit": "s" + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 59 - }, + }, "id": 2786, "links": [], "options": { @@ -1823,14 +1823,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1843,14 +1843,14 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_append_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 1, "legendFormat": "95%", "refId": "B" - }, + }, { "expr": "sum(rate(tikv_raftstore_append_log_duration_seconds_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_append_log_duration_seconds_count{instance=~\"$instance\"}[1m]))", "format": "time_series", @@ -1858,13 +1858,13 @@ "legendFormat": "avg", "refId": "C", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Append log duration", "type": "timeseries" - }, + }, { "datasource": "Prometheus", "description": "Propose 如果在 Raftstore 中等得太久,则说明 Raftstore 线程很忙,或者被卡住了。", @@ -1872,7 +1872,7 @@ "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1884,23 +1884,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "never", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1908,23 +1908,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "s" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 66 - }, + }, "id": 2787, "links": [], "options": { @@ -1932,14 +1932,14 @@ "calcs": [ "lastNotNull", "max" - ], + ], "displayMode": "table", "placement": "right" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -1951,13 +1951,13 @@ "legendFormat": "{{instance}} ", "refId": "A", "step": 4 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Propose 99.9999% wait duration", "type": "timeseries" - }, + }, { "aliasColors": {}, "bars": false, @@ -1972,7 +1972,7 @@ "w": 12, "x": 12, "y": 66 - }, + }, "hiddenSeries": false, "id": 2789, "legend": { @@ -1986,14 +1986,14 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "8.2.2", "pointradius": 5, @@ -2011,7 +2011,7 @@ "legendFormat": "max", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_percentile99\"})", "format": "time_series", @@ -2019,7 +2019,7 @@ "legendFormat": "99%", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_percentile95\"})", "format": "time_series", @@ -2027,7 +2027,7 @@ "legendFormat": "95%", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_average\"})", "format": "time_series", @@ -2035,8 +2035,8 @@ "legendFormat": "avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2046,7 +2046,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2054,7 +2054,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -2063,7 +2063,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2071,13 +2071,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2096,7 +2096,7 @@ "w": 24, "x": 0, "y": 73 - }, + }, "hiddenSeries": false, "id": 2829, "legend": { @@ -2109,14 +2109,14 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true - }, + }, "percentage": false, "pluginVersion": "8.2.2", "pointradius": 5, @@ -2134,8 +2134,8 @@ "legendFormat": "{{instance}}-{{type}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -2144,8 +2144,8 @@ "op": "gt", "value": 100, "yaxis": "left" - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -2155,7 +2155,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2163,7 +2163,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "decimals": null, @@ -2173,7 +2173,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2181,26 +2181,26 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 80 - }, + }, "id": 2799, "panels": [ { @@ -2220,7 +2220,7 @@ "w": 12, "x": 0, "y": 4 - }, + }, "id": 22, "legend": { "alignAsTable": true, @@ -2235,7 +2235,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2257,8 +2257,8 @@ "metric": "", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2269,7 +2269,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2277,7 +2277,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -2286,7 +2286,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -2294,13 +2294,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2315,7 +2315,7 @@ "w": 12, "x": 12, "y": 4 - }, + }, "id": 87, "legend": { "alignAsTable": true, @@ -2329,7 +2329,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2351,7 +2351,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", db=\"raft\", type=\"write_stall_percentile99\"})", "format": "time_series", @@ -2360,7 +2360,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", db=\"raft\", type=\"write_stall_percentile95\"})", "format": "time_series", @@ -2369,7 +2369,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", db=\"raft\", type=\"write_stall_average\"})", "format": "time_series", @@ -2378,8 +2378,8 @@ "metric": "", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2389,7 +2389,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2397,7 +2397,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -2406,7 +2406,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2414,13 +2414,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2436,7 +2436,7 @@ "w": 12, "x": 0, "y": 12 - }, + }, "id": 39, "legend": { "alignAsTable": true, @@ -2448,7 +2448,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2470,7 +2470,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_append_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", @@ -2478,7 +2478,7 @@ "legendFormat": "95%", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_raftstore_append_log_duration_seconds_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_append_log_duration_seconds_count{instance=~\"$instance\"}[1m]))", "format": "time_series", @@ -2486,8 +2486,8 @@ "legendFormat": "avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2498,7 +2498,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2506,7 +2506,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -2515,7 +2515,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2523,13 +2523,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2545,7 +2545,7 @@ "w": 12, "x": 12, "y": 12 - }, + }, "id": 40, "legend": { "alignAsTable": true, @@ -2557,7 +2557,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2578,8 +2578,8 @@ "legendFormat": "{{instance}} ", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2590,7 +2590,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2598,7 +2598,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -2607,7 +2607,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2615,9 +2615,9 @@ "max": null, "min": null, "show": true - } - ] - }, + } + ] + }, { "aliasColors": {}, "bars": false, @@ -2630,7 +2630,7 @@ "w": 12, "x": 0, "y": 67 - }, + }, "id": 2819, "legend": { "alignAsTable": true, @@ -2642,7 +2642,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2662,22 +2662,22 @@ "intervalFactor": 2, "legendFormat": "99%", "refId": "A" - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_commit_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "95%", "refId": "B" - }, + }, { "expr": "sum(rate(tikv_raftstore_commit_log_duration_seconds_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_commit_log_duration_seconds_count{instance=~\"$instance\"}[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "avg", "refId": "C" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2687,7 +2687,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2695,7 +2695,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -2704,7 +2704,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2712,13 +2712,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2731,7 +2731,7 @@ "w": 12, "x": 12, "y": 67 - }, + }, "id": 2821, "legend": { "alignAsTable": true, @@ -2743,7 +2743,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2763,8 +2763,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}} 99%", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2774,7 +2774,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2782,7 +2782,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -2791,7 +2791,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -2799,31 +2799,31 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Channel Full", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 81 - }, + }, "id": 2800, "panels": [ { @@ -2842,7 +2842,7 @@ "w": 12, "x": 0, "y": 5 - }, + }, "id": 2777, "legend": { "alignAsTable": true, @@ -2857,7 +2857,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -2879,7 +2879,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "sum(rate(tikv_channel_full_total{instance=~\"$instance\"}[1m])) by (instance, type)", "format": "time_series", @@ -2888,7 +2888,7 @@ "metric": "", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_coprocessor_request_error{instance=~\"$instance\", type='full'}[1m])) by (instance)", "format": "time_series", @@ -2897,15 +2897,15 @@ "metric": "", "refId": "C", "step": 4 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile99\"}) by (instance)", "format": "time_series", "intervalFactor": 2, "legendFormat": "stall-{{instance}}", "refId": "D" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -2916,7 +2916,7 @@ "shared": true, "sort": 2, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -2924,7 +2924,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "none", @@ -2933,7 +2933,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -2941,13 +2941,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -2964,7 +2964,7 @@ "w": 12, "x": 12, "y": 5 - }, + }, "height": "", "id": 193, "legend": { @@ -2978,7 +2978,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -3001,8 +3001,8 @@ "metric": "", "refId": "A", "step": 40 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3013,7 +3013,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3021,7 +3021,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -3030,7 +3030,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3038,13 +3038,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -3061,7 +3061,7 @@ "w": 12, "x": 0, "y": 13 - }, + }, "id": 2779, "legend": { "alignAsTable": true, @@ -3076,7 +3076,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3098,8 +3098,8 @@ "metric": "", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3110,7 +3110,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3118,7 +3118,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3127,7 +3127,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -3135,13 +3135,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -3155,7 +3155,7 @@ "w": 12, "x": 12, "y": 13 - }, + }, "id": 2785, "legend": { "alignAsTable": true, @@ -3169,7 +3169,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3191,7 +3191,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile99\"}) by (db)", "format": "time_series", @@ -3200,7 +3200,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile95\"}) by (db)", "format": "time_series", @@ -3209,7 +3209,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_average\"}) by (db)", "format": "time_series", @@ -3218,8 +3218,8 @@ "metric": "", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3229,7 +3229,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3237,7 +3237,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -3246,7 +3246,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3254,13 +3254,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -3274,7 +3274,7 @@ "w": 12, "x": 0, "y": 21 - }, + }, "id": 2838, "legend": { "alignAsTable": true, @@ -3286,7 +3286,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3306,8 +3306,8 @@ "intervalFactor": 1, "legendFormat": "{{instance}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3317,7 +3317,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3325,7 +3325,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -3334,7 +3334,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3342,31 +3342,31 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Server Is Busy", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 82 - }, + }, "id": 2801, "panels": [ { @@ -3382,7 +3382,7 @@ "w": 12, "x": 0, "y": 6 - }, + }, "id": 2768, "legend": { "alignAsTable": true, @@ -3399,7 +3399,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3421,8 +3421,8 @@ "legendFormat": "{{type}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -3432,7 +3432,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3440,7 +3440,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -3449,7 +3449,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3457,13 +3457,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "alert": { "conditions": [ @@ -3471,26 +3471,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "1m", @@ -3499,7 +3499,7 @@ "name": "TiKV gRPC poll CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -3512,7 +3512,7 @@ "w": 12, "x": 12, "y": 6 - }, + }, "id": 2782, "legend": { "alignAsTable": true, @@ -3525,7 +3525,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3546,8 +3546,8 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -3555,8 +3555,8 @@ "line": true, "op": "gt", "value": 0.9 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -3565,7 +3565,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3573,7 +3573,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -3582,7 +3582,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3590,13 +3590,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "alert": { "conditions": [ @@ -3604,26 +3604,26 @@ "evaluator": { "params": [ 7.2 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "0m", "frequency": "1m", @@ -3632,7 +3632,7 @@ "name": "Unified read pool CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -3649,7 +3649,7 @@ "w": 12, "x": 0, "y": 13 - }, + }, "id": 2840, "legend": { "alignAsTable": true, @@ -3665,7 +3665,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3687,8 +3687,8 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -3696,8 +3696,8 @@ "line": true, "op": "gt", "value": 7.2 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -3707,7 +3707,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3715,7 +3715,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -3724,7 +3724,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3732,13 +3732,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "alert": { "conditions": [ @@ -3746,26 +3746,26 @@ "evaluator": { "params": [ 3.6 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -3774,7 +3774,7 @@ "name": "TiKV Storage ReadPool CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -3790,7 +3790,7 @@ "w": 12, "x": 12, "y": 13 - }, + }, "id": 2761, "legend": { "alignAsTable": true, @@ -3805,7 +3805,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3827,7 +3827,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - }, + }, { "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_high.*\"}[1m])) by (instance)", "format": "time_series", @@ -3836,7 +3836,7 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"store_read_low.*\"}[1m])) by (instance)", "format": "time_series", @@ -3845,8 +3845,8 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -3854,8 +3854,8 @@ "line": true, "op": "gt", "value": 0.9 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -3865,7 +3865,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -3873,7 +3873,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -3882,7 +3882,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -3890,13 +3890,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "alert": { "conditions": [ @@ -3904,26 +3904,26 @@ "evaluator": { "params": [ 7.2 - ], + ], "type": "gt" - }, + }, "operator": { "type": "and" - }, + }, "query": { "params": [ "A", "1m", "now" - ] - }, + ] + }, "reducer": { "params": [], "type": "max" - }, + }, "type": "query" - } - ], + } + ], "executionErrorState": "alerting", "for": "", "frequency": "1m", @@ -3932,7 +3932,7 @@ "name": "TiKV Coprocessor CPU alert", "noDataState": "ok", "notifications": [] - }, + }, "aliasColors": {}, "bars": false, "dashLength": 10, @@ -3948,7 +3948,7 @@ "w": 12, "x": 0, "y": 20 - }, + }, "id": 2762, "legend": { "alignAsTable": true, @@ -3962,7 +3962,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -3984,7 +3984,7 @@ "legendFormat": "{{instance}} - normal", "refId": "A", "step": 4 - }, + }, { "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_high.*\"}[1m])) by (instance)", "format": "time_series", @@ -3993,7 +3993,7 @@ "legendFormat": "{{instance}} - high", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_thread_cpu_seconds_total{instance=~\"$instance\", name=~\"cop_low.*\"}[1m])) by (instance)", "format": "time_series", @@ -4002,8 +4002,8 @@ "legendFormat": "{{instance}} - low", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", @@ -4011,8 +4011,8 @@ "line": true, "op": "gt", "value": 0.9 - } - ], + } + ], "timeFrom": null, "timeRegions": [], "timeShift": null, @@ -4022,7 +4022,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4030,7 +4030,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -4039,7 +4039,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4047,13 +4047,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4070,7 +4070,7 @@ "w": 12, "x": 12, "y": 20 - }, + }, "id": 111, "legend": { "alignAsTable": true, @@ -4084,7 +4084,7 @@ "sortDesc": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4104,7 +4104,7 @@ "intervalFactor": 2, "legendFormat": "{{req}}-99.99%", "refId": "D" - }, + }, { "expr": "histogram_quantile(0.99, sum(rate(tikv_coprocessor_request_wait_seconds_bucket{instance=~\"$instance\"}[1m])) by (le,req))", "format": "time_series", @@ -4112,7 +4112,7 @@ "legendFormat": "{{req}}-99%", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_coprocessor_request_wait_seconds_bucket{instance=~\"$instance\"}[1m])) by (le,req))", "format": "time_series", @@ -4120,7 +4120,7 @@ "legendFormat": "{{req}}-95%", "refId": "B", "step": 4 - }, + }, { "expr": " sum(rate(tikv_coprocessor_request_wait_seconds_sum{instance=~\"$instance\"}[1m])) by (req) / sum(rate(tikv_coprocessor_request_wait_seconds_count{instance=~\"$instance\"}[1m])) by (req)", "format": "time_series", @@ -4128,8 +4128,8 @@ "legendFormat": "{{req}}-avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4140,7 +4140,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4148,7 +4148,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -4157,7 +4157,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4165,13 +4165,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4188,7 +4188,7 @@ "w": 12, "x": 0, "y": 27 - }, + }, "id": 16, "legend": { "alignAsTable": true, @@ -4202,7 +4202,7 @@ "sortDesc": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4222,7 +4222,7 @@ "intervalFactor": 2, "legendFormat": "{{req}}-99.99%", "refId": "E" - }, + }, { "expr": "histogram_quantile(0.99, sum(rate(tikv_coprocessor_request_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le,req))", "format": "time_series", @@ -4230,7 +4230,7 @@ "legendFormat": "{{req}}-99%", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_coprocessor_request_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le,req))", "format": "time_series", @@ -4238,7 +4238,7 @@ "legendFormat": "{{req}}-95%", "refId": "B", "step": 4 - }, + }, { "expr": " sum(rate(tikv_coprocessor_request_duration_seconds_sum{instance=~\"$instance\"}[1m])) by (req) / sum(rate(tikv_coprocessor_request_duration_seconds_count{instance=~\"$instance\"}[1m])) by (req)", "format": "time_series", @@ -4246,8 +4246,8 @@ "legendFormat": "{{req}}-avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4258,7 +4258,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4266,7 +4266,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -4275,7 +4275,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4283,13 +4283,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4306,7 +4306,7 @@ "w": 12, "x": 12, "y": 27 - }, + }, "id": 116, "legend": { "alignAsTable": true, @@ -4320,7 +4320,7 @@ "sortDesc": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4341,8 +4341,8 @@ "legendFormat": "{{instance}}-{{req}}", "refId": "B", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4353,7 +4353,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4361,7 +4361,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -4370,7 +4370,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4378,13 +4378,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4401,7 +4401,7 @@ "w": 12, "x": 0, "y": 34 - }, + }, "id": 52, "legend": { "alignAsTable": true, @@ -4414,7 +4414,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4434,7 +4434,7 @@ "intervalFactor": 2, "legendFormat": "{{req}}-99.99%", "refId": "D" - }, + }, { "expr": "histogram_quantile(0.99, avg(rate(tikv_coprocessor_scan_keys_bucket{instance=~\"$instance\"}[1m])) by (le, req)) ", "format": "time_series", @@ -4444,7 +4444,7 @@ "metric": "tikv_coprocessor_scan_keys_bucket", "refId": "A", "step": 10 - }, + }, { "expr": "histogram_quantile(0.95, avg(rate(tikv_coprocessor_scan_keys_bucket{instance=~\"$instance\"}[1m])) by (le, req)) ", "format": "time_series", @@ -4453,7 +4453,7 @@ "metric": "tikv_coprocessor_scan_keys_bucket", "refId": "B", "step": 10 - }, + }, { "expr": "histogram_quantile(0.90, avg(rate(tikv_coprocessor_scan_keys_bucket{instance=~\"$instance\"}[1m])) by (le, req)) ", "format": "time_series", @@ -4462,8 +4462,8 @@ "metric": "tikv_coprocessor_scan_keys_bucket", "refId": "C", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4474,7 +4474,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4482,7 +4482,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -4491,7 +4491,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4499,13 +4499,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4519,7 +4519,7 @@ "w": 12, "x": 12, "y": 34 - }, + }, "id": 82, "legend": { "alignAsTable": true, @@ -4532,7 +4532,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4553,7 +4553,7 @@ "legendFormat": "max", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_get_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"get_percentile99\"})", "format": "time_series", @@ -4561,7 +4561,7 @@ "legendFormat": "99%", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_get_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"get_percentile95\"})", "format": "time_series", @@ -4569,7 +4569,7 @@ "legendFormat": "95%", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_get_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"get_average\"})", "format": "time_series", @@ -4577,8 +4577,8 @@ "legendFormat": "avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4588,7 +4588,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4596,7 +4596,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -4605,7 +4605,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4613,13 +4613,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4637,7 +4637,7 @@ "w": 12, "x": 0, "y": 41 - }, + }, "id": 2828, "legend": { "alignAsTable": true, @@ -4651,7 +4651,7 @@ "sortDesc": null, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4672,15 +4672,15 @@ "legendFormat": "99.9999%", "refId": "B", "step": 4 - }, + }, { "expr": "sum(rate(tikv_storage_engine_async_request_duration_seconds_sum{instance=~\"$instance\", type=\"snapshot\"}[1m])) / sum(rate(tikv_storage_engine_async_request_duration_seconds_count{instance=~\"$instance\", type=\"snapshot\"}[1m]))", "format": "time_series", "intervalFactor": 1, "legendFormat": "average", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4691,7 +4691,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4699,7 +4699,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -4708,7 +4708,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4716,13 +4716,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4736,7 +4736,7 @@ "w": 12, "x": 12, "y": 41 - }, + }, "id": 125, "legend": { "alignAsTable": true, @@ -4749,7 +4749,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4770,7 +4770,7 @@ "legendFormat": "max", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_seek_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"seek_percentile99\"})", "format": "time_series", @@ -4778,7 +4778,7 @@ "legendFormat": "99%", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_seek_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"seek_percentile95\"})", "format": "time_series", @@ -4786,7 +4786,7 @@ "legendFormat": "95%", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_seek_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"seek_average\"})", "format": "time_series", @@ -4794,8 +4794,8 @@ "legendFormat": "avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4805,7 +4805,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4813,7 +4813,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -4822,7 +4822,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -4830,13 +4830,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4851,7 +4851,7 @@ "w": 24, "x": 0, "y": 48 - }, + }, "id": 2821, "legend": { "alignAsTable": true, @@ -4863,7 +4863,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4881,10 +4881,10 @@ "expr": "(rate(node_disk_read_time_seconds_total[5m])/ rate(node_disk_reads_completed_total[5m])) > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{instance}}: [{{ device }}]", + "legendFormat": "{{instance}}: [{{device}}]", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4894,7 +4894,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4902,7 +4902,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -4911,7 +4911,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "none", "label": null, @@ -4919,13 +4919,13 @@ "max": null, "min": "0", "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -4940,7 +4940,7 @@ "w": 24, "x": 0, "y": 52 - }, + }, "id": 2822, "legend": { "alignAsTable": true, @@ -4952,7 +4952,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -4970,10 +4970,10 @@ "expr": "irate(node_disk_read_bytes_total[5m]) + irate(node_disk_written_bytes_total[5m]) > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{instance}}: [{{ device }}]", + "legendFormat": "{{instance}}: [{{device}}]", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -4983,7 +4983,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -4991,7 +4991,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -5000,7 +5000,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "none", "label": null, @@ -5008,31 +5008,31 @@ "max": null, "min": "0", "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Read Too Slow", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 83 - }, + }, "id": 2802, "panels": [ { @@ -5048,7 +5048,7 @@ "w": 12, "x": 0, "y": 7 - }, + }, "id": 2781, "legend": { "alignAsTable": true, @@ -5065,7 +5065,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5087,8 +5087,8 @@ "legendFormat": "{{instance}} {{type}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5098,7 +5098,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5106,7 +5106,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5115,7 +5115,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5123,13 +5123,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5146,7 +5146,7 @@ "w": 12, "x": 12, "y": 7 - }, + }, "id": 109, "legend": { "alignAsTable": true, @@ -5160,7 +5160,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5182,7 +5182,7 @@ "legendFormat": "{{instance}} 99%", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_storage_engine_async_request_duration_seconds_bucket{instance=~\"$instance\", type=\"write\"}[1m])) by (le, instance))", "format": "time_series", @@ -5191,7 +5191,7 @@ "legendFormat": "{{instance}} 95%", "refId": "B", "step": 4 - }, + }, { "expr": "rate(tikv_storage_engine_async_request_duration_seconds_sum{instance=~\"$instance\", type=\"write\"}[1m]) / rate(tikv_storage_engine_async_request_duration_seconds_count{instance=~\"$instance\", type=\"write\"}[1m])", "format": "time_series", @@ -5199,8 +5199,8 @@ "legendFormat": "{{instance}} avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5211,7 +5211,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5219,7 +5219,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5228,7 +5228,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5236,13 +5236,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5259,7 +5259,7 @@ "w": 12, "x": 0, "y": 14 - }, + }, "id": 2753, "legend": { "alignAsTable": true, @@ -5274,7 +5274,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5296,7 +5296,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_scheduler_latch_wait_duration_seconds_bucket{instance=~\"$instance\", type=\"prewrite\"}[1m])) by (le, instance))", "format": "time_series", @@ -5305,7 +5305,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "rate(tikv_scheduler_latch_wait_duration_seconds_sum{instance=~\"$instance\", type=\"prewrite\"}[1m]) / rate(tikv_scheduler_latch_wait_duration_seconds_count{instance=~\"$instance\", type=\"prewrite\"}[1m])", "format": "time_series", @@ -5314,8 +5314,8 @@ "metric": "", "refId": "C", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5326,7 +5326,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5334,7 +5334,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5343,7 +5343,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5351,13 +5351,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5374,7 +5374,7 @@ "w": 12, "x": 12, "y": 14 - }, + }, "id": 2774, "legend": { "alignAsTable": true, @@ -5389,7 +5389,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 2, "links": [], @@ -5411,7 +5411,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_scheduler_latch_wait_duration_seconds_bucket{instance=~\"$instance\", type=\"commit\"}[1m])) by (le, instance))", "format": "time_series", @@ -5420,7 +5420,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "rate(tikv_scheduler_latch_wait_duration_seconds_sum{instance=~\"$instance\", type=\"commit\"}[1m]) / rate(tikv_scheduler_latch_wait_duration_seconds_count{instance=~\"$instance\", type=\"commit\"}[1m])", "format": "time_series", @@ -5429,8 +5429,8 @@ "metric": "", "refId": "C", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5441,7 +5441,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5449,7 +5449,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5458,7 +5458,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5466,13 +5466,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5488,7 +5488,7 @@ "w": 12, "x": 0, "y": 21 - }, + }, "id": 2788, "legend": { "alignAsTable": true, @@ -5500,7 +5500,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5522,7 +5522,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_append_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le, instance))", "format": "time_series", @@ -5530,7 +5530,7 @@ "legendFormat": "{{instance}} 95%", "refId": "B", "step": 4 - }, + }, { "expr": "rate(tikv_raftstore_append_log_duration_seconds_sum{instance=~\"$instance\"}[1m]) / rate(tikv_raftstore_append_log_duration_seconds_count{instance=~\"$instance\"}[1m])", "format": "time_series", @@ -5538,8 +5538,8 @@ "legendFormat": "{{instance}} avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5550,7 +5550,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5558,7 +5558,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5567,7 +5567,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5575,13 +5575,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5597,7 +5597,7 @@ "w": 12, "x": 12, "y": 21 - }, + }, "id": 2790, "legend": { "alignAsTable": true, @@ -5609,7 +5609,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5630,8 +5630,8 @@ "legendFormat": "{{instance}} 99%", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5642,7 +5642,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5650,7 +5650,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5659,7 +5659,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5667,13 +5667,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, - "alignLevel": null - } - }, + "alignLevel": null + } + }, { "aliasColors": {}, "bars": false, @@ -5686,7 +5686,7 @@ "w": 12, "x": 0, "y": 28 - }, + }, "id": 2830, "legend": { "alignAsTable": true, @@ -5698,7 +5698,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5718,22 +5718,22 @@ "intervalFactor": 2, "legendFormat": "99%", "refId": "A" - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_commit_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "95%", "refId": "B" - }, + }, { "expr": "sum(rate(tikv_raftstore_commit_log_duration_seconds_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_commit_log_duration_seconds_count{instance=~\"$instance\"}[1m]))", "format": "time_series", "intervalFactor": 2, "legendFormat": "avg", "refId": "C" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5743,7 +5743,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5751,7 +5751,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5760,7 +5760,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5768,13 +5768,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5787,7 +5787,7 @@ "w": 12, "x": 12, "y": 28 - }, + }, "id": 2831, "legend": { "alignAsTable": true, @@ -5799,7 +5799,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5819,8 +5819,8 @@ "intervalFactor": 2, "legendFormat": "{{instance}} 99%", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5830,7 +5830,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5838,7 +5838,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5847,7 +5847,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5855,13 +5855,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5877,7 +5877,7 @@ "w": 12, "x": 0, "y": 35 - }, + }, "id": 31, "legend": { "alignAsTable": true, @@ -5889,7 +5889,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -5911,7 +5911,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_apply_log_duration_seconds_bucket{instance=~\"$instance\"}[1m])) by (le, instance))", "format": "time_series", @@ -5919,7 +5919,7 @@ "legendFormat": "{{instance}} 95%", "refId": "B", "step": 4 - }, + }, { "expr": "rate(tikv_raftstore_apply_log_duration_seconds_sum{instance=~\"$instance\"}[1m]) / rate(tikv_raftstore_apply_log_duration_seconds_count{instance=~\"$instance\"}[1m])", "format": "time_series", @@ -5927,8 +5927,8 @@ "legendFormat": "{{instance}} avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -5939,7 +5939,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -5947,7 +5947,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -5956,7 +5956,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -5964,13 +5964,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -5986,7 +5986,7 @@ "w": 12, "x": 12, "y": 35 - }, + }, "id": 32, "legend": { "alignAsTable": true, @@ -5998,7 +5998,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6019,8 +6019,8 @@ "legendFormat": "{{instance}} 99%", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6031,7 +6031,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6039,7 +6039,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -6048,7 +6048,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6056,13 +6056,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6078,7 +6078,7 @@ "w": 12, "x": 0, "y": 42 - }, + }, "id": 2794, "legend": { "alignAsTable": true, @@ -6090,7 +6090,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6112,7 +6112,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_request_wait_time_duration_secs_bucket{instance=~\"$instance\"}[1m])) by (le, instance))", "format": "time_series", @@ -6120,7 +6120,7 @@ "legendFormat": "{{instance}} 95%", "refId": "B", "step": 4 - }, + }, { "expr": "rate(tikv_raftstore_request_wait_time_duration_secs_sum{instance=~\"$instance\"}[1m]) / rate(tikv_raftstore_request_wait_time_duration_secs_count{instance=~\"$instance\"}[1m])", "format": "time_series", @@ -6128,8 +6128,8 @@ "legendFormat": "{{instance}} avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6140,7 +6140,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6148,7 +6148,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -6157,7 +6157,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6165,13 +6165,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6187,7 +6187,7 @@ "w": 12, "x": 12, "y": 42 - }, + }, "id": 2795, "legend": { "alignAsTable": true, @@ -6199,7 +6199,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6221,7 +6221,7 @@ "metric": "", "refId": "A", "step": 4 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_apply_wait_time_duration_secs_bucket{instance=~\"$instance\"}[1m])) by (le, instance))", "format": "time_series", @@ -6229,7 +6229,7 @@ "legendFormat": "{{instance}} 95%", "refId": "B", "step": 4 - }, + }, { "expr": "rate(tikv_raftstore_apply_wait_time_duration_secs_sum{instance=~\"$instance\"}[1m]) / rate(tikv_raftstore_apply_wait_time_duration_secs_count{instance=~\"$instance\"}[1m]) ", "format": "time_series", @@ -6237,8 +6237,8 @@ "legendFormat": "{{instance}} avg", "refId": "C", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6249,7 +6249,7 @@ "shared": true, "sort": 0, "value_type": "cumulative" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6257,7 +6257,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -6266,7 +6266,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6274,13 +6274,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6294,7 +6294,7 @@ "w": 12, "x": 0, "y": 49 - }, + }, "id": 126, "legend": { "alignAsTable": true, @@ -6307,7 +6307,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6328,7 +6328,7 @@ "legendFormat": "{{instance}} max", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"write_percentile99\"}) by (instance)", "format": "time_series", @@ -6336,7 +6336,7 @@ "legendFormat": "{{instance}} 99%", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"write_percentile95\"}) by (instance)", "format": "time_series", @@ -6344,7 +6344,7 @@ "legendFormat": "{{instance}} 95%", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"kv\",type=\"write_average\"}) by (instance)", "format": "time_series", @@ -6352,8 +6352,8 @@ "legendFormat": "{{instance}} avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6363,7 +6363,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6371,7 +6371,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -6380,7 +6380,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6388,13 +6388,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6408,7 +6408,7 @@ "w": 12, "x": 12, "y": 49 - }, + }, "id": 2776, "legend": { "alignAsTable": true, @@ -6421,7 +6421,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6442,7 +6442,7 @@ "legendFormat": "{{instance}} max", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_percentile99\"}) by (instance)", "format": "time_series", @@ -6450,7 +6450,7 @@ "legendFormat": "{{instance}} 99%", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_percentile95\"}) by (instance)", "format": "time_series", @@ -6458,7 +6458,7 @@ "legendFormat": "{{instance}} 95%", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"write_average\"}) by (instance)", "format": "time_series", @@ -6466,8 +6466,8 @@ "legendFormat": "{{instance}} avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6477,7 +6477,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6485,7 +6485,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -6494,7 +6494,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6502,13 +6502,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6522,7 +6522,7 @@ "w": 12, "x": 0, "y": 56 - }, + }, "id": 137, "legend": { "alignAsTable": true, @@ -6535,7 +6535,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6557,8 +6557,8 @@ "metric": "", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6568,7 +6568,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6576,7 +6576,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "ops", @@ -6585,7 +6585,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6593,13 +6593,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6613,7 +6613,7 @@ "w": 12, "x": 12, "y": 56 - }, + }, "id": 135, "legend": { "alignAsTable": true, @@ -6626,7 +6626,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6648,7 +6648,7 @@ "legendFormat": "{{instance}} max", "refId": "A", "step": 10 - }, + }, { "expr": "tikv_engine_wal_file_sync_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"wal_file_sync_percentile99\"}", "format": "time_series", @@ -6656,7 +6656,7 @@ "legendFormat": "{{instance}} 99%", "refId": "B", "step": 10 - }, + }, { "expr": "tikv_engine_wal_file_sync_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"wal_file_sync_percentile95\"}", "format": "time_series", @@ -6664,7 +6664,7 @@ "legendFormat": "{{instance}} 95%", "refId": "C", "step": 10 - }, + }, { "expr": "tikv_engine_wal_file_sync_micro_seconds{instance=~\"$instance\", db=\"raft\",type=\"wal_file_sync_average\"}", "format": "time_series", @@ -6672,8 +6672,8 @@ "legendFormat": "{{instance}} avg", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6683,7 +6683,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6691,7 +6691,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -6700,7 +6700,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -6708,13 +6708,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6728,7 +6728,7 @@ "w": 12, "x": 0, "y": 63 - }, + }, "id": 2793, "legend": { "alignAsTable": true, @@ -6742,7 +6742,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6764,7 +6764,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile99\"}) by (db)", "format": "time_series", @@ -6773,7 +6773,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile95\"}) by (db)", "format": "time_series", @@ -6782,7 +6782,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_average\"}) by (db)", "format": "time_series", @@ -6791,8 +6791,8 @@ "metric": "", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6802,7 +6802,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6810,7 +6810,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -6819,7 +6819,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -6827,13 +6827,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6850,7 +6850,7 @@ "w": 24, "x": 0, "y": 70 - }, + }, "id": 2791, "legend": { "alignAsTable": true, @@ -6865,7 +6865,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6886,8 +6886,8 @@ "legendFormat": "{{instance}} - {{device}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6898,7 +6898,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6906,7 +6906,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -6915,7 +6915,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -6923,13 +6923,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -6942,7 +6942,7 @@ "w": 24, "x": 0, "y": 74 - }, + }, "id": 2818, "legend": { "alignAsTable": true, @@ -6954,7 +6954,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -6974,8 +6974,8 @@ "intervalFactor": 1, "legendFormat": "{{instance}} IOPs", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -6985,7 +6985,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -6993,7 +6993,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -7002,7 +7002,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -7010,13 +7010,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7030,7 +7030,7 @@ "w": 24, "x": 0, "y": 78 - }, + }, "id": 2820, "legend": { "alignAsTable": true, @@ -7042,7 +7042,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7060,10 +7060,10 @@ "expr": "(rate(node_disk_write_time_seconds_total[5m])/ rate(node_disk_writes_completed_total[5m])) > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{instance}}: [{{ device }}]", + "legendFormat": "{{instance}}: [{{device}}]", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7073,7 +7073,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7081,7 +7081,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "s", @@ -7090,7 +7090,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -7098,13 +7098,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7119,7 +7119,7 @@ "w": 24, "x": 0, "y": 82 - }, + }, "id": 2819, "legend": { "alignAsTable": true, @@ -7131,7 +7131,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7149,10 +7149,10 @@ "expr": "irate(node_disk_read_bytes_total[5m]) + irate(node_disk_written_bytes_total[5m]) > 0", "format": "time_series", "intervalFactor": 1, - "legendFormat": "{{instance}}: [{{ device }}]", + "legendFormat": "{{instance}}: [{{device}}]", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7162,7 +7162,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7170,7 +7170,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -7179,7 +7179,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "none", "label": null, @@ -7187,31 +7187,31 @@ "max": null, "min": "0", "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Write Too Slow", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 84 - }, + }, "id": 2806, "panels": [ { @@ -7227,7 +7227,7 @@ "w": 12, "x": 0, "y": 8 - }, + }, "id": 2810, "legend": { "alignAsTable": true, @@ -7240,7 +7240,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7260,8 +7260,8 @@ "intervalFactor": 1, "legendFormat": "{{instance}} {{cf}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7271,7 +7271,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7279,7 +7279,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -7288,7 +7288,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -7296,13 +7296,13 @@ "max": null, "min": "0", "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7316,7 +7316,7 @@ "w": 12, "x": 12, "y": 8 - }, + }, "id": 2811, "legend": { "alignAsTable": true, @@ -7329,7 +7329,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7349,8 +7349,8 @@ "intervalFactor": 1, "legendFormat": "{{instance}} {{cf}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7360,7 +7360,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7368,7 +7368,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "short", @@ -7377,7 +7377,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -7385,13 +7385,13 @@ "max": null, "min": "0", "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7405,7 +7405,7 @@ "w": 12, "x": 0, "y": 15 - }, + }, "id": 2808, "legend": { "alignAsTable": true, @@ -7418,7 +7418,7 @@ "sideWidth": 300, "total": false, "values": false - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7439,8 +7439,8 @@ "intervalFactor": 1, "legendFormat": "{{instance}} {{cf}}", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7450,7 +7450,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7458,7 +7458,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -7467,7 +7467,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "bytes", "label": null, @@ -7475,13 +7475,13 @@ "max": null, "min": "0", "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7495,7 +7495,7 @@ "w": 12, "x": 12, "y": 15 - }, + }, "id": 2812, "legend": { "alignAsTable": true, @@ -7509,7 +7509,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7531,7 +7531,7 @@ "metric": "", "refId": "A", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile99\", db=\"$db\"}) by (instance)", "format": "time_series", @@ -7540,7 +7540,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_percentile95\", db=\"$db\"}) by (instance)", "format": "time_series", @@ -7549,7 +7549,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "expr": "avg(tikv_engine_write_stall{instance=~\"$instance\", type=\"write_stall_average\", db=\"$db\"}) by (instance)", "format": "time_series", @@ -7558,8 +7558,8 @@ "metric": "", "refId": "D", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7569,7 +7569,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7577,7 +7577,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "µs", @@ -7586,7 +7586,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -7594,31 +7594,31 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": "db", "title": "Write Stall - $db", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 85 - }, + }, "id": 2803, "panels": [ { @@ -7634,7 +7634,7 @@ "w": 12, "x": 0, "y": 10 - }, + }, "id": 102, "legend": { "alignAsTable": true, @@ -7647,7 +7647,7 @@ "sideWidth": 300, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7668,8 +7668,8 @@ "legendFormat": "{{cf}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7679,7 +7679,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7687,7 +7687,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -7696,7 +7696,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -7704,13 +7704,13 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7727,7 +7727,7 @@ "w": 12, "x": 12, "y": 10 - }, + }, "id": 2770, "legend": { "alignAsTable": true, @@ -7742,7 +7742,7 @@ "sortDesc": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7763,8 +7763,8 @@ "legendFormat": "{{instance}}", "refId": "A", "step": 10 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7775,7 +7775,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7783,7 +7783,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -7792,7 +7792,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -7800,31 +7800,31 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "OOM", "type": "row" - }, + }, { "collapsed": true, "datasource": null, "fieldConfig": { "defaults": {}, "overrides": [] - }, + }, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 86 - }, + }, "id": 2804, "panels": [ { @@ -7843,7 +7843,7 @@ "w": 12, "x": 0, "y": 11 - }, + }, "id": 1481, "legend": { "alignAsTable": true, @@ -7857,7 +7857,7 @@ "sideWidth": 250, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7879,7 +7879,7 @@ "metric": "", "refId": "B", "step": 10 - }, + }, { "expr": "histogram_quantile(0.95, sum(rate(tikv_raftstore_region_size_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", @@ -7888,7 +7888,7 @@ "metric": "", "refId": "C", "step": 10 - }, + }, { "expr": "sum(rate(tikv_raftstore_region_size_sum{instance=~\"$instance\"}[1m])) / sum(rate(tikv_raftstore_region_size_count{instance=~\"$instance\"}[1m])) ", "format": "time_series", @@ -7897,15 +7897,15 @@ "metric": "", "refId": "D", "step": 10 - }, + }, { "expr": "histogram_quantile(0.999999, sum(rate(tikv_raftstore_region_size_bucket{instance=~\"$instance\"}[1m])) by (le))", "format": "time_series", "intervalFactor": 2, "legendFormat": "99.9999%", "refId": "A" - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -7916,7 +7916,7 @@ "shared": true, "sort": 2, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -7924,7 +7924,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "bytes", @@ -7933,7 +7933,7 @@ "max": null, "min": "0", "show": true - }, + }, { "format": "short", "label": null, @@ -7941,13 +7941,13 @@ "max": null, "min": null, "show": false - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - }, + } + }, { "aliasColors": {}, "bars": false, @@ -7963,7 +7963,7 @@ "w": 12, "x": 12, "y": 11 - }, + }, "id": 2792, "legend": { "alignAsTable": true, @@ -7975,7 +7975,7 @@ "show": true, "total": false, "values": true - }, + }, "lines": true, "linewidth": 1, "links": [], @@ -7997,8 +7997,8 @@ "metric": "tikv_thread_cpu_seconds_total", "refId": "A", "step": 4 - } - ], + } + ], "thresholds": [], "timeFrom": null, "timeRegions": [], @@ -8009,7 +8009,7 @@ "shared": true, "sort": 0, "value_type": "individual" - }, + }, "type": "graph", "xaxis": { "buckets": null, @@ -8017,7 +8017,7 @@ "name": null, "show": true, "values": [] - }, + }, "yaxes": [ { "format": "percentunit", @@ -8026,7 +8026,7 @@ "max": null, "min": null, "show": true - }, + }, { "format": "short", "label": null, @@ -8034,19 +8034,19 @@ "max": null, "min": null, "show": true - } - ], + } + ], "yaxis": { "align": false, "alignLevel": null - } - } - ], + } + } + ], "repeat": null, "title": "Huge Region", "type": "row" - } - ], + } + ], "refresh": "1m", "schemaVersion": 31, "style": "dark", @@ -8059,7 +8059,7 @@ "selected": false, "text": "All", "value": "$__all" - }, + }, "datasource": "Prometheus", "definition": "label_values(tikv_engine_block_cache_size_bytes, db)", "description": null, @@ -8073,7 +8073,7 @@ "query": { "query": "label_values(tikv_engine_block_cache_size_bytes, db)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -8082,14 +8082,14 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": null, "current": { "selected": false, "text": "All", "value": "$__all" - }, + }, "datasource": "Prometheus", "definition": "label_values(tikv_storage_command_total, type)", "description": null, @@ -8103,7 +8103,7 @@ "query": { "query": "label_values(tikv_storage_command_total, type)", "refId": "StandardVariableQuery" - }, + }, "refresh": 1, "regex": "", "skipUrlSync": false, @@ -8112,14 +8112,14 @@ "tagsQuery": "", "type": "query", "useTags": false - }, + }, { "allValue": ".*", "current": { "selected": false, "text": "All", "value": "$__all" - }, + }, "datasource": "Prometheus", "definition": "label_values(tikv_engine_size_bytes, instance)", "description": null, @@ -8133,7 +8133,7 @@ "query": { "query": "label_values(tikv_engine_size_bytes, instance)", "refId": "StandardVariableQuery" - }, + }, "refresh": 2, "regex": "", "skipUrlSync": false, @@ -8142,13 +8142,13 @@ "tagsQuery": "", "type": "query", "useTags": false - } - ] - }, + } + ] + }, "time": { "from": "now-3h", "to": "now" - }, + }, "timepicker": { "refresh_intervals": [ "5s", @@ -8161,7 +8161,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -8172,8 +8172,8 @@ "2d", "7d", "30d" - ] - }, + ] + }, "timezone": "browser", "title": "TiKV-Troubleshooting", "uid": "Lg4wiEkZz", diff --git a/charts/tikv/plans/README.md b/charts/tikv/plans/README.md new file mode 100644 index 00000000..577cd466 --- /dev/null +++ b/charts/tikv/plans/README.md @@ -0,0 +1,17 @@ +# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. +# Thus, to keep the database size consistent, we apply the following sequence: +# +# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. +# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. +# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. +# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. +# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. +# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results +# of the following workload. +# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. +# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. +# This workload inserts records, increasing the size of the database. +# +# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. \ No newline at end of file diff --git a/charts/tikv/plans/plan.baseline.yml b/charts/tikv/plans/plan.baseline.yml index 07642ac3..1a66672b 100644 --- a/charts/tikv/plans/plan.baseline.yml +++ b/charts/tikv/plans/plan.baseline.yml @@ -1,27 +1,11 @@ -# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. -# Thus, to keep the database size consistent, we apply the following sequence: -# -# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. -# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. -# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. -# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. -# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. -# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results -# of the following workload. -# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. -# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# -# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: tikv-baseline spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker"] ingress: host: platform.science-hangar.eu @@ -34,109 +18,105 @@ spec: fromTemplate: templateRef: tikv/placementDriver inputs: - - { cpu: "4", memory: "8Gi" } + - {cpu: "4", memory: "8Gi"} - action: Cluster - depends: { running: [ master ] } + depends: {running: [master]} name: workers cluster: templateRef: tikv/worker instances: 3 inputs: - - { placementDriver: .service.master.any, cpu: "8", memory: "32Gi" } - + - {placementDriver: .service.master.any, cpu: "8", memory: "32Gi"} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { running: [ workers ] } + depends: {running:[workers]} name: loader service: fromTemplate: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, workload: workloada, recordcount: "10000000", threads: "400" } + - {server: .service.master.any, workload: workloada, recordcount: "10000000", threads: "400"} # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: {success: [loader]} name: workload-a service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: {success: [workload-a]} name: workload-b service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadb, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } + - {server: .service.master.any, workload: workloadb, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: {success: [workload-b]} name: workload-c service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadc, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } + - {server: .service.master.any, workload: workloadc, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: {success: [workload-c]} name: workload-f service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadf, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } + - {server: .service.master.any, workload: workloadf, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: {success: [workload-f]} name: workload-d service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadd, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } + - {server: .service.master.any, workload: workloadd, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} # Step 7,8: Reload the data with parameters of workload E. # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: {success: [workload-d]} name: reloader service: fromTemplate: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "400" } - + - {server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", + threads: "400"} # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: {success: [reloader]} name: workload-e service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloade, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "400" } - - + - {server: .service.master.any, workload: workloade, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "400"} diff --git a/charts/tikv/plans/plan.elasticity.yml b/charts/tikv/plans/plan.elasticity.yml index 36ca2ff1..0212d1f7 100644 --- a/charts/tikv/plans/plan.elasticity.yml +++ b/charts/tikv/plans/plan.elasticity.yml @@ -1,10 +1,11 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: tikv-elasticity spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker"] ingress: host: platform.science-hangar.eu @@ -17,85 +18,83 @@ spec: fromTemplate: templateRef: tikv/placementDriver inputs: - - { cpu: "4", memory: "8Gi" } + - {cpu: "4", memory: "8Gi"} # add a cluster of 3 TiKV instances - action: Cluster - depends: { running: [ master ] } + depends: {running: [master]} name: workers cluster: templateRef: tikv/worker instances: 3 inputs: - - { placementDriver: .service.master.any } + - {placementDriver: .service.master.any} # Step 1: populate the cluster with keys # We use no throttling to maximize this step and complete it soon. - action: Cluster name: loaders - depends: { running: [ master, workers ] } + depends: {running: [master, workers]} cluster: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, recordcount: "1000000", offset: "0", threads: "400" } - + - {server: .service.master.any, recordcount: "1000000", offset: "0", threads: "400"} # Step 2: gradually increase the number of TiKV servers # We use no throttling to maximize this step and complete it soon. - action: Cluster - depends: { running: [ master ], success: [ loaders ] } + depends: {running: [master], success: [loaders]} name: moreWorkers cluster: templateRef: tikv/worker instances: 5 inputs: - - { placementDriver: .service.master.any } + - {placementDriver: .service.master.any} tolerate: failedServices: 5 schedule: cron: "@every 1m" - # Step 3: gradually decrease the number of TiKV servers - action: Chaos name: killer1 - depends: { running: [ workers, moreWorkers ] } + depends: {running: [workers, moreWorkers]} chaos: type: kill kill: - selector: { macro: .cluster.moreWorkers.any } + selector: {macro: .cluster.moreWorkers.any} - action: Chaos name: killer2 - depends: { running: [ workers, moreWorkers, killer1 ] } + depends: {running: [workers, moreWorkers, killer1]} chaos: type: kill kill: - selector: { macro: .cluster.moreWorkers.any } + selector: {macro: .cluster.moreWorkers.any} - action: Chaos name: killer3 - depends: { running: [ workers, moreWorkers, killer2 ] } + depends: {running: [workers, moreWorkers, killer2]} chaos: type: kill kill: - selector: { macro: .cluster.moreWorkers.any } + selector: {macro: .cluster.moreWorkers.any} - action: Chaos name: killer4 - depends: { running: [ workers, moreWorkers, killer3 ] } + depends: {running: [workers, moreWorkers, killer3]} chaos: type: kill kill: - selector: { macro: .cluster.moreWorkers.any } + selector: {macro: .cluster.moreWorkers.any} - action: Chaos name: killer5 - depends: { running: [ workers, moreWorkers, killer4 ] } + depends: {running: [workers, moreWorkers, killer4]} chaos: type: kill kill: - selector: { macro: .cluster.moreWorkers.any } \ No newline at end of file + selector: {macro: .cluster.moreWorkers.any} diff --git a/charts/tikv/plans/plan.localhost.yml b/charts/tikv/plans/plan.localhost.yml index 1e371cb1..17589da2 100644 --- a/charts/tikv/plans/plan.localhost.yml +++ b/charts/tikv/plans/plan.localhost.yml @@ -1,27 +1,11 @@ -# All six workloads have a data set which is similar. Workloads D and E insert records during the test run. -# Thus, to keep the database size consistent, we apply the following sequence: -# -# 1) Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client. -# 2) Run workload A (using workloads/workloada and "-t") for a variety of throughputs. -# 3) Run workload B (using workloads/workloadb and "-t") for a variety of throughputs. -# 4) Run workload C (using workloads/workloadc and "-t") for a variety of throughputs. -# 5) Run workload F (using workloads/workloadf and "-t") for a variety of throughputs. -# 6) Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# 7) Delete the data in the database. Otherwise, the remaining data of the cluster might affect the results -# of the following workload. -# 8) Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client. -# 9) Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. -# This workload inserts records, increasing the size of the database. -# -# For the deletion, instead of destroying the cluster, we destroy and recreate the cluster. +--- apiVersion: frisbee.io/v1alpha1 kind: Workflow metadata: name: tikv-baseline spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker"] ingress: host: localhost @@ -35,101 +19,98 @@ spec: templateRef: tikv/placementDriver - action: Cluster - depends: { running: [ master ] } + depends: {running: [master]} name: workers cluster: templateRef: tikv/worker instances: 3 inputs: - - { placementDriver: .service.master.any } + - {placementDriver: .service.master.any} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { running: [ workers ] } + depends: {running: [workers]} name: loader service: fromTemplate: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, workload: workloada, recordcount: "10000000", threads: "40" } + - {server: .service.master.any, workload: workloada, recordcount: "10000000", threads: "40"} # Step 2: Run workload A - action: Service - depends: { success: [ loader ] } + depends: {success: [loader]} name: workload-a service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Step 3: Run workload B - action: Service - depends: { success: [ workload-a ] } + depends: {success: [workload-a]} name: workload-b service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadb, operationcount: "1000000", threads: "40" } + - {server: .service.master.any, workload: workloadb, operationcount: "1000000", threads: "40"} # Step 4: Run workload C - action: Service - depends: { success: [ workload-b ] } + depends: {success: [workload-b]} name: workload-c service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadc, operationcount: "1000000", threads: "40" } + - {server: .service.master.any, workload: workloadc, operationcount: "1000000", threads: "40"} # Step 5: Run workload F - action: Service - depends: { success: [ workload-c ] } + depends: {success: [workload-c]} name: workload-f service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadf, operationcount: "1000000", threads: "40" } + - {server: .service.master.any, workload: workloadf, operationcount: "1000000", threads: "40"} # Step 6: Run workload D. - action: Service - depends: { success: [ workload-f ] } + depends: {success: [workload-f]} name: workload-d service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloadd, operationcount: "1000000", threads: "40" } + - {server: .service.master.any, workload: workloadd, operationcount: "1000000", threads: "40"} # Step 7,8: Reload the data with parameters of workload E. # We use the dropdata field to remove all data before test. - action: Service - depends: { success: [ workload-d ] } + depends: {success: [workload-d]} name: reloader service: fromTemplate: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", - threads: "40" } - + - {server: .service.master.any, workload: workloade, dropdata: "true", recordcount: "1000000", + threads: "40"} # Step 9:Run workload E - action: Service - depends: { success: [ reloader ] } + depends: {success: [reloader]} name: workload-e service: fromTemplate: templateRef: ycsb-tikv/runner inputs: - - { server: .service.master.any, workload: workloade, operationcount: "1000000", threads: "40" } - - + - {server: .service.master.any, workload: workloade, operationcount: "1000000", threads: "40"} diff --git a/charts/tikv/plans/plan.saturation.yml b/charts/tikv/plans/plan.saturation.yml index 436e0dc2..1435baf1 100644 --- a/charts/tikv/plans/plan.saturation.yml +++ b/charts/tikv/plans/plan.saturation.yml @@ -1,3 +1,4 @@ +--- # This workflow mimic the official TikV evaluation workflow. # All the performance parameters (threads, hardware configuration) are copied from: # https://tikv.org/docs/5.1/deploy/performance/instructions/ @@ -9,7 +10,7 @@ metadata: name: tikv-saturation spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker"] ingress: host: platform.science-hangar.eu @@ -22,172 +23,170 @@ spec: fromTemplate: templateRef: tikv/placementDriver inputs: - - { cpu: "4", memory: "8Gi" } - + - {cpu: "4", memory: "8Gi"} - action: Cluster - depends: { running: [ master ] } + depends: {running: [master]} name: workers cluster: templateRef: tikv/worker instances: 3 inputs: - - { placementDriver: .service.master.any, cpu: "8", memory: "32Gi" } - + - {placementDriver: .service.master.any, cpu: "8", memory: "32Gi"} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Service - depends: { running: [ workers ] } + depends: {running: [workers]} name: loader service: fromTemplate: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "40" } + - {server: .service.master.any, workload: workloada, recordcount: "1000000", threads: "40"} # Step 2: Run workload A, for various number of non-overlapping clients. # Run workload A, for 1 client - action: Cluster - depends: { success: [ loaderssfs ] } + depends: {success: [loaderssfs]} name: client-1 cluster: templateRef: ycsb-tikv/runner instances: 1 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 2 client - action: Cluster - depends: { success: [ client-1 ] } + depends: {success: [client-1]} name: client-2 cluster: templateRef: ycsb-tikv/runner instances: 2 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 3 client - action: Cluster - depends: { success: [ client-2 ] } + depends: {success: [client-2]} name: client-3 cluster: templateRef: ycsb-tikv/runner instances: 3 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 4 client - action: Cluster - depends: { success: [ client-3 ] } + depends: {success: [client-3]} name: client-4 cluster: templateRef: ycsb-tikv/runner instances: 4 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 5 client - action: Cluster - depends: { success: [ client-4 ] } + depends: {success: [client-4]} name: client-5 cluster: templateRef: ycsb-tikv/runner instances: 5 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 6 client - action: Cluster - depends: { success: [ client-5 ] } + depends: {success: [client-5]} name: client-6 cluster: templateRef: ycsb-tikv/runner instances: 6 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 7 client - action: Cluster - depends: { success: [ client-6 ] } + depends: {success: [client-6]} name: client-7 cluster: templateRef: ycsb-tikv/runner instances: 7 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 8 client - action: Cluster - depends: { success: [ client-7 ] } + depends: {success: [client-7]} name: client-8 cluster: templateRef: ycsb-tikv/runner instances: 8 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 9 client - action: Cluster - depends: { success: [ client-8 ] } + depends: {success: [client-8]} name: client-9 cluster: templateRef: ycsb-tikv/runner instances: 9 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 10 client - action: Cluster - depends: { success: [ client-9 ] } + depends: {success: [client-9]} name: client-10 cluster: templateRef: ycsb-tikv/runner instances: 10 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 11 client - action: Cluster - depends: { success: [ client-10 ] } + depends: {success: [client-10]} name: client-11 cluster: templateRef: ycsb-tikv/runner instances: 11 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} # Run workload A, for 12 client - action: Cluster - depends: { success: [ client-11 ] } + depends: {success: [client-11]} name: client-12 cluster: templateRef: ycsb-tikv/runner instances: 12 inputs: - - { server: .service.master.any, workload: workloada, operationcount: "1000000", - cpu: "8", memory: "8Gi", threads: "40" } \ No newline at end of file + - {server: .service.master.any, workload: workloada, operationcount: "1000000", + cpu: "8", memory: "8Gi", threads: "40"} diff --git a/charts/tikv/plans/plan.scaleout.yml b/charts/tikv/plans/plan.scaleout.yml index e618d1d7..6ac17631 100644 --- a/charts/tikv/plans/plan.scaleout.yml +++ b/charts/tikv/plans/plan.scaleout.yml @@ -1,3 +1,4 @@ +--- # This experiment runs a given load for various numbers of TikV instance. # This goal is to find the maximum number of TikV servers after which the overall performance does not increase further. apiVersion: frisbee.io/v1alpha1 @@ -6,7 +7,7 @@ metadata: name: tikv-scaleout spec: withTelemetry: - importMonitors: [ "sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker" ] + importMonitors: ["sysmon/container", "ycsbmon/client", "tikvmon/pd", "tikvmon/worker"] ingress: host: platform.science-hangar.eu @@ -19,23 +20,22 @@ spec: fromTemplate: templateRef: tikv/placementDriver - - action: Cluster - depends: { running: [ master ] } + depends: {running: [master]} name: workers cluster: templateRef: tikv/worker instances: 256 inputs: - - { placementDriver: .service.master.any } + - {placementDriver: .service.master.any} # Step 1: Load a new dataset, using the parameters of workload A. # We use no throttling to maximize this step and complete it soon. - action: Cluster name: loaders - depends: { running: [ master, workers ] } + depends: {running: [master, workers]} cluster: templateRef: ycsb-tikv/loader inputs: - - { server: .service.master.any, recordcount: "100000000000", offset: "0", threads: "32" } \ No newline at end of file + - {server: .service.master.any, recordcount: "100000000000", offset: "0", threads: "32"} diff --git a/charts/tikv/templates/database.yml b/charts/tikv/templates/database.yml index 4a8e18e7..9ea0ee7a 100644 --- a/charts/tikv/templates/database.yml +++ b/charts/tikv/templates/database.yml @@ -1,15 +1,16 @@ # In some situations such as in the Docker or NAT network environment, if the other nodes (peers) cannot access - # the PD node through the default peer URLs listened to by this PD node, you must manually set the advertise peer URLs. +# the PD node through the default peer URLs listened to by this PD node, you must manually set the advertise peer URLs. --- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: tikv labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: - "placementDriver": # Placement Driver + # Placement Driver + "placementDriver": inputs: parameters: cpu: "" @@ -29,7 +30,7 @@ spec: emptyDir: medium: Memory agents: # Agents - telemetry: [ sysmon/container, tikvmon/pd ] + telemetry: [sysmon/container, tikvmon/pd] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -65,7 +66,8 @@ spec: --advertise-peer-urls=http://$${HOSTNAME}:2380 \ --data-dir=/store/$${HOSTNAME}/pd - "worker": # Service node + # Service node + "worker": inputs: parameters: placementDriver: "localhost" @@ -86,7 +88,7 @@ spec: emptyDir: medium: Memory agents: # Agents - telemetry: [ sysmon/container, tikvmon/worker ] + telemetry: [sysmon/container, tikvmon/worker] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -129,4 +131,4 @@ spec: data-dir = "/store/$${HOSTNAME}/data" EOF - /tikv-server --config=config.toml \ No newline at end of file + /tikv-server --config=config.toml diff --git a/charts/tikv/templates/ycsb-client.yml b/charts/tikv/templates/ycsb-client.yml index 03d25b42..d4755c9d 100644 --- a/charts/tikv/templates/ycsb-client.yml +++ b/charts/tikv/templates/ycsb-client.yml @@ -1,9 +1,10 @@ +--- apiVersion: frisbee.io/v1alpha1 kind: Template metadata: name: ycsb-tikv labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: # Loader injecting keys into a single server @@ -21,7 +22,7 @@ spec: dropdata: "false" spec: | agents: # Agents - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -63,7 +64,7 @@ spec: threads: "" spec: | agents: # Agents - telemetry: [ sysmon/container, ycsbmon/client ] + telemetry: [sysmon/container, ycsbmon/client] resources: # Resources cpu: {{"{{.Inputs.Parameters.cpu}}"}} memory: {{"{{.Inputs.Parameters.memory}}"}} @@ -87,4 +88,4 @@ spec: -p threadcount={{"{{.Inputs.Parameters.threads}}"}} \ -p tikv.pd=${addr} \ -p tikv.type="raw" \ - >> /dev/shm/pipe \ No newline at end of file + >> /dev/shm/pipe diff --git a/charts/tikv/templates/ycsb-dashboards.yml b/charts/tikv/templates/ycsb-dashboards.yml index 065e4310..3e23be4f 100644 --- a/charts/tikv/templates/ycsb-dashboards.yml +++ b/charts/tikv/templates/ycsb-dashboards.yml @@ -4,10 +4,10 @@ kind: ConfigMap metadata: name: grafana-tikv-summary labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: tikv specificTo: worker -data: {{ (.Files.Glob "dashboards/tikv-summary.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/tikv-summary.json").AsConfig | nindent 2}} --- @@ -16,10 +16,10 @@ kind: ConfigMap metadata: name: grafana-tikv-pd labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: tikv specificTo: pd -data: {{ (.Files.Glob "dashboards/tikv-pd.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/tikv-pd.json").AsConfig | nindent 2}} --- @@ -28,10 +28,10 @@ kind: ConfigMap metadata: name: grafana-tikv-raw labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: tikv specificTo: worker -data: {{ (.Files.Glob "dashboards/tikv-raw.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/tikv-raw.json").AsConfig | nindent 2}} --- @@ -40,7 +40,7 @@ kind: ConfigMap metadata: name: grafana-tikv-troubleshooting labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: tikv specificTo: worker -data: {{ (.Files.Glob "dashboards/tikv-troubleshooting.json").AsConfig | nindent 2 }} +data: {{(.Files.Glob "dashboards/tikv-troubleshooting.json").AsConfig | nindent 2}} diff --git a/charts/tikv/templates/ycsb-telemetry.yml b/charts/tikv/templates/ycsb-telemetry.yml index b902ee99..67968670 100644 --- a/charts/tikv/templates/ycsb-telemetry.yml +++ b/charts/tikv/templates/ycsb-telemetry.yml @@ -2,12 +2,12 @@ apiVersion: frisbee.io/v1alpha1 kind: Template metadata: - name: tikvmon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} + name: tikvmon spec: entries: - "pd": + pd: spec: | agent: container: @@ -30,7 +30,7 @@ spec: ## An array of urls to scrape metrics from. urls = [ "http://localhost:2379/metrics" - ] + ] metric_version = 2 @@ -44,7 +44,7 @@ spec: telegraf --config /tmp/prometheus.conf & # When the stop file is added by the container, the process stop - while [ ! -f "/dev/shm/stop" ]; + while [! -f "/dev/shm/stop"]; do sleep 10 done @@ -53,10 +53,8 @@ spec: matchlabels: dashboard: tikv specificTo: pd - - - "worker": - spec: | + worker: + spec: |- agent: container: name: tikv-worker @@ -78,7 +76,7 @@ spec: ## An array of urls to scrape metrics from. urls = [ "http://localhost:20180/metrics" - ] + ] metric_version = 2 @@ -92,7 +90,7 @@ spec: telegraf --config /tmp/prometheus.conf & # When the stop file is added by the container, the process stop - while [ ! -f "/dev/shm/stop" ]; + while [! -f "/dev/shm/stop"]; do sleep 10 done @@ -100,4 +98,4 @@ spec: dashboards: matchlabels: dashboard: tikv - specificTo: worker \ No newline at end of file + specificTo: worker diff --git a/charts/ycsbmon/Chart.yaml b/charts/ycsbmon/Chart.yaml index 5fdcd383..d8c63d65 100644 --- a/charts/ycsbmon/Chart.yaml +++ b/charts/ycsbmon/Chart.yaml @@ -1,8 +1,8 @@ +--- apiVersion: v2 name: ycsbmon description: ycsbmon parses ycsb output and integrates into the observability stack of Frisbee. - # A chart can be either an 'application' or a 'library' chart. # # Application charts are a collection of templates that can be packaged into versioned archives @@ -13,13 +13,13 @@ description: ycsbmon parses ycsb output and integrates into the observability st # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.0 - # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "1.16.0" \ No newline at end of file +appVersion: "1.16.0" + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.0.0 diff --git a/charts/ycsbmon/dashboards/ycsb.json b/charts/ycsbmon/dashboards/ycsb.json index 4953e8d4..6c64bcad 100644 --- a/charts/ycsbmon/dashboards/ycsb.json +++ b/charts/ycsbmon/dashboards/ycsb.json @@ -15,9 +15,9 @@ "matchAny": false, "tags": [], "type": "dashboard" - }, + }, "type": "dashboard" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -28,17 +28,17 @@ "showIn": 0, "tags": [ "run" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "run" - ], + ], "type": "tags" - }, + }, "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -49,17 +49,17 @@ "showIn": 0, "tags": [ "exit" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "exit" - ], + ], "type": "tags" - }, + }, "type": "tags" - }, + }, { "datasource": "-- Grafana --", "enable": true, @@ -70,19 +70,19 @@ "showIn": 0, "tags": [ "failure" - ], + ], "target": { "limit": 100, "matchAny": false, "tags": [ "failure" - ], + ], "type": "tags" - }, + }, "type": "tags" - } - ] - }, + } + ] + }, "editable": true, "fiscalYearStartMonth": 0, "gnetId": null, @@ -99,19 +99,19 @@ "w": 24, "x": 0, "y": 0 - }, + }, "id": 82, "panels": [], "title": "Cluster Overview", "type": "row" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" - }, + }, "mappings": [], "min": 0, "thresholds": { @@ -120,31 +120,31 @@ { "color": "blue", "value": null - }, + }, { "color": "green", "value": 30 - }, + }, { "color": "#EAB839", "value": 60 - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 8, "w": 16, "x": 0, "y": 1 - }, + }, "id": 28, "links": [], "options": { @@ -153,13 +153,13 @@ "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "showUnfilled": true, "text": {} - }, + }, "pluginVersion": "8.2.2", "targets": [ { @@ -170,8 +170,8 @@ "interval": "", "legendFormat": "{{instance}}", "refId": "C" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Real-time Clients (Total Ops)", @@ -183,137 +183,137 @@ "includeTimeField": true, "mode": "reduceFields", "reducers": [] - } - } - ], + } + } + ], "transparent": true, "type": "bargauge" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false - } - }, + } + }, "mappings": [], "min": 0, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#1F78C1", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Chunks to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#508642", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#052B51", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#3F6833", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "To persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#9AC48A", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 4, "x": 16, "y": 1 - }, + }, "id": 93, "links": [], "options": { "displayLabels": [ "name", "percent" - ], + ], "legend": { "displayMode": "hidden", "placement": "right" - }, + }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -324,139 +324,139 @@ "interval": "", "legendFormat": "{{operation}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Real-Time Operations", "transformations": [], "type": "piechart" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false - } - }, + } + }, "mappings": [], "min": 0, "unit": "short" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#1F78C1", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Chunks to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#508642", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#052B51", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#3F6833", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "To persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#9AC48A", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 4, "x": 20, "y": 1 - }, + }, "id": 103, "links": [], "options": { "displayLabels": [ "name", "percent" - ], + ], "legend": { "displayMode": "hidden", "placement": "right" - }, + }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" - ], + ], "fields": "", "values": false - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -467,21 +467,21 @@ "interval": "", "legendFormat": "{{operation}}", "refId": "A" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Historical Operations", "transformations": [], "type": "piechart" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -493,23 +493,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -518,45 +518,45 @@ { "color": "blue", "value": null - }, + }, { "color": "green", "value": 30 - }, + }, { "color": "#EAB839", "value": 60 - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "short" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 9 - }, + }, "id": 102, "links": [], "options": { "legend": { "calcs": [ "lastNotNull" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -568,8 +568,8 @@ "intervalFactor": 4, "legendFormat": "{{instance}}", "refId": "C" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Total Operations (by Client)", @@ -581,19 +581,19 @@ "includeTimeField": true, "mode": "reduceFields", "reducers": [] - } - } - ], + } + } + ], "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -605,23 +605,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -629,43 +629,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "reqps" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 16 - }, + }, "id": 86, "links": [], "options": { @@ -674,14 +674,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -693,22 +693,22 @@ "intervalFactor": 4, "legendFormat": "Average", "refId": "Average" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Total Throughput", "transformations": [], "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -720,23 +720,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -744,23 +744,23 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [] - }, + }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 23 - }, + }, "id": 96, "links": [], "options": { @@ -768,11 +768,11 @@ "calcs": [], "displayMode": "list", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.2.2", "targets": [ { @@ -786,7 +786,7 @@ "metric": "prometheus_local_storage_memory_series", "refId": "A", "step": 10 - }, + }, { "exemplar": true, "expr": "max(max(ycsb_99th) by (instance))", @@ -795,7 +795,7 @@ "intervalFactor": 4, "legendFormat": "99th ", "refId": "B" - }, + }, { "exemplar": true, "expr": "max(max(ycsb_999th) by (instance))", @@ -804,7 +804,7 @@ "intervalFactor": 4, "legendFormat": "99.9th ", "refId": "C" - }, + }, { "exemplar": true, "expr": "max(max(ycsb_9999th) by (instance))", @@ -813,14 +813,14 @@ "intervalFactor": 4, "legendFormat": "99.99th ", "refId": "D" - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Max Latency", "transparent": true, "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, @@ -829,19 +829,19 @@ "w": 24, "x": 0, "y": 30 - }, + }, "id": 78, "panels": [], "title": "Historical Clients Overview", "type": "row" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -853,23 +853,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -877,43 +877,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "reqps" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 16, "x": 0, "y": 31 - }, + }, "id": 97, "links": [], "options": { @@ -922,14 +922,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -940,25 +940,25 @@ "instant": false, "interval": "", "intervalFactor": 4, - "legendFormat": "{{ instance }}", + "legendFormat": "{{instance}}", "refId": "QPS", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Throughput (Queries Per Second)", "transformations": [], "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -970,23 +970,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -995,84 +995,84 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#1F78C1", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Chunks to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#508642", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#052B51", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#3F6833", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 8, "x": 16, "y": 31 - }, + }, "id": 98, "links": [], "options": { @@ -1081,14 +1081,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1097,25 +1097,25 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ instance }}", + "legendFormat": "{{instance}}", "metric": "prometheus_local_storage_memory_series", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Average Latency", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1127,23 +1127,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 3, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1152,43 +1152,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 0, "y": 39 - }, + }, "id": 26, "links": [], "options": { @@ -1197,14 +1197,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1213,25 +1213,25 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ instance }}", + "legendFormat": "{{instance}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99)", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1243,23 +1243,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 3, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1268,43 +1268,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 8, "y": 39 - }, + }, "id": 94, "links": [], "options": { @@ -1313,14 +1313,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1330,25 +1330,25 @@ "hide": false, "interval": "", "intervalFactor": 4, - "legendFormat": "{{ instance }}", + "legendFormat": "{{instance}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99.9)", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1360,23 +1360,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 3, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1385,43 +1385,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 16, "y": 39 - }, + }, "id": 95, "links": [], "options": { @@ -1430,14 +1430,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1447,18 +1447,18 @@ "instant": false, "interval": "", "intervalFactor": 4, - "legendFormat": "{{ instance }}", + "legendFormat": "{{instance}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99.99)", "transparent": true, "type": "timeseries" - }, + }, { "collapsed": false, "datasource": null, @@ -1467,19 +1467,19 @@ "w": 24, "x": 0, "y": 46 - }, + }, "id": 80, "panels": [], "title": "Historical Operations Overview", "type": "row" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1491,23 +1491,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "line" - } - }, + } + }, "mappings": [], "thresholds": { "mode": "absolute", @@ -1515,43 +1515,43 @@ { "color": "transparent", "value": null - }, + }, { "color": "red", "value": 20 - } - ] - }, + } + ] + }, "unit": "reqps" - }, + }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "Average" - }, + }, "properties": [ { "id": "custom.spanNulls", "value": true - }, + }, { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 15, "x": 0, "y": 47 - }, + }, "id": 74, "links": [], "options": { @@ -1560,14 +1560,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1578,33 +1578,33 @@ "instant": false, "interval": "", "intervalFactor": 4, - "legendFormat": "{{ operation }}", + "legendFormat": "{{operation}}", "refId": "QPS", "step": 10 - } - ], + } + ], "thresholds": [ { "colorMode": "critical", "op": "gt", "value": 10, "visible": false - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Average Throughput", "transformations": [], "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1616,23 +1616,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": true, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1641,84 +1641,84 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#1F78C1", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Chunks to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#508642", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max chunks" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#052B51", "mode": "fixed" - } - } - ] - }, + } + } + ] + }, { "matcher": { "id": "byName", "options": "Max to persist" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "#3F6833", "mode": "fixed" - } - } - ] - } - ] - }, + } + } + ] + } + ] + }, "gridPos": { "h": 8, "w": 9, "x": 15, "y": 47 - }, + }, "id": 87, "links": [], "options": { @@ -1727,14 +1727,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1743,25 +1743,25 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ operation }}", + "legendFormat": "{{operation}}", "metric": "prometheus_local_storage_memory_series", "refId": "A", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Average Latency", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1773,23 +1773,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1798,43 +1798,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 0, "y": 55 - }, + }, "id": 88, "links": [], "options": { @@ -1843,14 +1843,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1859,25 +1859,25 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ operation}}", + "legendFormat": "{{operation}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99)", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -1889,23 +1889,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -1914,43 +1914,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 8, "y": 55 - }, + }, "id": 89, "links": [], "options": { @@ -1959,14 +1959,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -1975,25 +1975,25 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ operation }}", + "legendFormat": "{{operation}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99.9)", "transparent": true, "type": "timeseries" - }, + }, { "datasource": "Prometheus", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" - }, + }, "custom": { "axisLabel": "", "axisPlacement": "auto", @@ -2005,23 +2005,23 @@ "legend": false, "tooltip": false, "viz": false - }, + }, "lineInterpolation": "smooth", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" - }, + }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "none" - }, + }, "thresholdsStyle": { "mode": "off" - } - }, + } + }, "mappings": [], "min": 0, "thresholds": { @@ -2030,43 +2030,43 @@ { "color": "green", "value": null - }, + }, { "color": "red", "value": 80 - } - ] - }, + } + ] + }, "unit": "µs" - }, + }, "overrides": [ { "matcher": { "id": "byName", "options": "Average" - }, + }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" - } - }, + } + }, { "id": "custom.spanNulls", "value": true - } - ] - } - ] - }, + } + ] + } + ] + }, "gridPos": { "h": 7, "w": 8, "x": 16, "y": 55 - }, + }, "id": 92, "links": [], "options": { @@ -2075,14 +2075,14 @@ "mean", "max", "min" - ], + ], "displayMode": "table", "placement": "bottom" - }, + }, "tooltip": { "mode": "single" - } - }, + } + }, "pluginVersion": "8.1.3", "targets": [ { @@ -2091,32 +2091,32 @@ "format": "time_series", "interval": "", "intervalFactor": 4, - "legendFormat": "{{ operation }}", + "legendFormat": "{{operation}}", "metric": "prometheus_local_storage_ingested_samples_total", "refId": "99Latency", "step": 10 - } - ], + } + ], "timeFrom": null, "timeShift": null, "title": "Tail Latency (99.99)", "transparent": true, "type": "timeseries" - } - ], + } + ], "refresh": "30s", "schemaVersion": 31, "style": "dark", "tags": [ "ycsb" - ], + ], "templating": { "list": [] - }, + }, "time": { "from": "now-1h", "to": "now" - }, + }, "timepicker": { "refresh_intervals": [ "5s", @@ -2129,7 +2129,7 @@ "1h", "2h", "1d" - ], + ], "time_options": [ "5m", "15m", @@ -2140,8 +2140,8 @@ "2d", "7d", "30d" - ] - }, + ] + }, "timezone": "browser", "title": "YCSB Services", "uid": "A2EjFbsMk", diff --git a/charts/ycsbmon/templates/telemetry.yml b/charts/ycsbmon/templates/telemetry.yml index 03fefe42..1de1e321 100644 --- a/charts/ycsbmon/templates/telemetry.yml +++ b/charts/ycsbmon/templates/telemetry.yml @@ -4,7 +4,7 @@ kind: Template metadata: name: ycsbmon labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} spec: entries: "client": @@ -29,7 +29,7 @@ spec: data_format = "grok" # Example Line # INSERT - Takes(s): 60.0, Count: 732548, OPS: 12209.4, Avg(us): 62, Min(us): 23, Max(us): 11668, 99th(us): 1000, 99.9th(us): 1000, 99.99th(us): 3000 - grok_patterns = [ "^%{WORD:operation} %{SPACE}- Take.*: %{NUMBER:timestamp}, Count: %{NUMBER:count:int}, OPS: %{NUMBER:ops:float}, Avg.*: %{NUMBER:avg:float}, Min.*: %{NUMBER:min:float}, Max.*: %{NUMBER:max:float}, 99th.*: %{NUMBER:99th:float}, 99.9th.*: %{NUMBER:999th:float}, 99.99th.*: %{NUMBER:9999th:float}$" ] + grok_patterns = ["^%{WORD:operation} %{SPACE}- Take.*: %{NUMBER:timestamp}, Count: %{NUMBER:count:int}, OPS: %{NUMBER:ops:float}, Avg.*: %{NUMBER:avg:float}, Min.*: %{NUMBER:min:float}, Max.*: %{NUMBER:max:float}, 99th.*: %{NUMBER:99th:float}, 99.9th.*: %{NUMBER:999th:float}, 99.99th.*: %{NUMBER:9999th:float}$"] [[outputs.prometheus_client]] listen = ":9443" metric_version = 2 @@ -37,7 +37,7 @@ spec: collectors_exclude = ["gocollector","process"] EOF telegraf --config /tmp/prometheus.conf & - while [ ! -f "/dev/shm/stop" ]; + while [! -f "/dev/shm/stop"]; do sleep 10 done @@ -52,7 +52,6 @@ kind: ConfigMap metadata: name: ycsb-dashboard labels: - app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/managed-by: {{.Release.Service | quote}} dashboard: ycsb -data: {{ (.Files.Glob "dashboards/ycsb.json").AsConfig | nindent 2 }} - +data: {{(.Files.Glob "dashboards/ycsb.json").AsConfig | nindent 2}} diff --git a/charts/ycsbmon/values.yaml b/charts/ycsbmon/values.yaml index a62d453a..e69de29b 100644 --- a/charts/ycsbmon/values.yaml +++ b/charts/ycsbmon/values.yaml @@ -1,79 +0,0 @@ -# Default values for ycsb. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: nginx - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -imagePullSecrets: [ ] -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: { } - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: { } - -podSecurityContext: { } -# fsGroup: 2000 - -securityContext: { } -# capabilities: -# drop: -# - ALL -# readOnlyRootFilesystem: true -# runAsNonRoot: true -# runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - annotations: { } - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: [ ] - tls: [ ] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: { } - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# limits: -# cpu: 100m -# memory: 128Mi -# requests: -# cpu: 100m -# memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: { } - -tolerations: [ ] - -affinity: { } diff --git a/docs/developers.md b/docs/developers.md new file mode 100644 index 00000000..3f8e08b0 --- /dev/null +++ b/docs/developers.md @@ -0,0 +1,9 @@ +#### Lint Charts + +```bash +yamllint ./platform/Chart.yaml +``` + +``` +docker run quay.io/helmpack/chart-testing:lates ct lint --target-branch=main --check-version-increment=false +``` diff --git a/docs/faq.md b/docs/faq.md index 90a1ec2f..4d4c8141 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -37,6 +37,6 @@ https://github.com/kubernetes/kubernetes/issues/89953 Note: this is supposedly fixed by changing the domain abstraction from NodeName to NodeSelector -### +### ## \ No newline at end of file diff --git a/docs/installation.md b/docs/installation.md index f54ec95d..91954eee 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -130,21 +130,13 @@ https://medium.com/@maanadev/how-set-up-a-helm-chart-repository-using-apache-web Deploy as helm chart helm repo index ./ --url https://carv-ics-forth.github.io/frisbee - - - - ## Deploy a new Version - - ```bash >> make release >> git push --set-upstream origin $(git branch --show-current) && git push --tags ``` - - 1. Go to GitHub and create a pull request 2. Merge pull request @@ -153,16 +145,6 @@ Deploy as helm chart helm repo index ./ --url https://carv-ics-forth.github.io/f 4. Go to [GitHub Tags](https://github.com/CARV-ICS-FORTH/frisbee/tags ) and create a new release for the latest tag - - - - - - - - - - # Run Frisbee Locally ## Before Starting @@ -342,9 +324,6 @@ kubectl port-forward -n chaos-testing svc/chaos-dashboard 2333:2333 http://127.0.0.1:2333/dashboard ``` - - - # Run Frisbee on a Remote Kubernetes Cluster ## Before Starting diff --git a/docs/readings/grafana.md b/docs/readings/grafana.md index b154cfbb..d2bf3039 100644 --- a/docs/readings/grafana.md +++ b/docs/readings/grafana.md @@ -12,7 +12,7 @@ Briefly, > node grafana_pdf.js "http://grafana.localhost/d/A2EjFbsMk/ycsb-services?viewPanel=74" "":"" output.pdf -###### +###### ###### Permissions