From f53e13b8b9e25341fadc4157931c5000d4f3d4f1 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 5 Jun 2023 15:06:56 +0800 Subject: [PATCH 1/5] perf: update to our forked prometheus deps it's based on v4.10.0 of upstream, and patched this PR: https://github.com/emqx/prometheus.erl/pull/5 --- apps/emqx_prometheus/rebar.config | 2 +- apps/emqx_prometheus/src/emqx_prometheus_schema.erl | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/emqx_prometheus/rebar.config b/apps/emqx_prometheus/rebar.config index 7b9a6cc48..ea0bd57a6 100644 --- a/apps/emqx_prometheus/rebar.config +++ b/apps/emqx_prometheus/rebar.config @@ -3,7 +3,7 @@ {deps, [ {emqx, {path, "../emqx"}}, {emqx_utils, {path, "../emqx_utils"}}, - {prometheus, {git, "https://github.com/deadtrickster/prometheus.erl", {tag, "v4.8.1"}}} + {prometheus, {git, "https://github.com/emqx/prometheus.erl", {branch, "enhance-sample-perf"}}} ]}. {edoc_opts, [{preprocess, true}]}. diff --git a/apps/emqx_prometheus/src/emqx_prometheus_schema.erl b/apps/emqx_prometheus/src/emqx_prometheus_schema.erl index a33eaa5e7..d657e0772 100644 --- a/apps/emqx_prometheus/src/emqx_prometheus_schema.erl +++ b/apps/emqx_prometheus/src/emqx_prometheus_schema.erl @@ -170,4 +170,7 @@ validate_push_gateway_server(Url) -> %% for CI test, CI don't load the whole emqx_conf_schema. translation(Name) -> + %% translate 'vm_dist_collector', 'mnesia_collector', 'vm_statistics_collector', + %% 'vm_system_info_collector', 'vm_memory_collector', 'vm_msacc_collector' + %% to prometheus envrionments emqx_conf_schema:translation(Name). From cdd8645215348dde60c3570c41bddb8d1390c952 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 5 Jun 2023 15:20:38 +0800 Subject: [PATCH 2/5] chore: update changes --- changes/ce/perf-10941.en.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changes/ce/perf-10941.en.md diff --git a/changes/ce/perf-10941.en.md b/changes/ce/perf-10941.en.md new file mode 100644 index 000000000..18b94a9ce --- /dev/null +++ b/changes/ce/perf-10941.en.md @@ -0,0 +1,3 @@ +Improve the collection speed of Prometheus metrics when setting +`prometheus.vm_dist_collector=disabled` and +rename `erlang_vm_statistics_run_queues_length_total` to `erlang_vm_statistics_run_queues_length` From e0ec050e34a59f6c0c0f01f1f90bc52edd43a4f1 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Tue, 6 Jun 2023 10:36:31 +0800 Subject: [PATCH 3/5] chore: update prometheus vsn --- apps/emqx_prometheus/rebar.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_prometheus/rebar.config b/apps/emqx_prometheus/rebar.config index ea0bd57a6..c2ef78eca 100644 --- a/apps/emqx_prometheus/rebar.config +++ b/apps/emqx_prometheus/rebar.config @@ -3,7 +3,7 @@ {deps, [ {emqx, {path, "../emqx"}}, {emqx_utils, {path, "../emqx_utils"}}, - {prometheus, {git, "https://github.com/emqx/prometheus.erl", {branch, "enhance-sample-perf"}}} + {prometheus, {git, "https://github.com/emqx/prometheus.erl", {tag, "v4.10.0-emqx-1"}}} ]}. {edoc_opts, [{preprocess, true}]}. From 88aab507ff4478cb9fb7c2d6f9d389c3590e7b5c Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 8 Jun 2023 14:27:12 +0800 Subject: [PATCH 4/5] chore: update changes/ce/perf-10941.en.md Co-authored-by: Zaiming (Stone) Shi --- changes/ce/perf-10941.en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changes/ce/perf-10941.en.md b/changes/ce/perf-10941.en.md index 18b94a9ce..01e65f4c6 100644 --- a/changes/ce/perf-10941.en.md +++ b/changes/ce/perf-10941.en.md @@ -1,3 +1,3 @@ Improve the collection speed of Prometheus metrics when setting `prometheus.vm_dist_collector=disabled` and -rename `erlang_vm_statistics_run_queues_length_total` to `erlang_vm_statistics_run_queues_length` +metric `erlang_vm_statistics_run_queues_length_total` is renamed to `erlang_vm_statistics_run_queues_length` From dc01b7109e191843effa4120216d861433fceef4 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 8 Jun 2023 14:28:41 +0800 Subject: [PATCH 5/5] chore: update prometheus vsn and grafana template --- apps/emqx_prometheus/grafana_template/ErlangVM.json | 2 +- apps/emqx_prometheus/rebar.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/emqx_prometheus/grafana_template/ErlangVM.json b/apps/emqx_prometheus/grafana_template/ErlangVM.json index 6e443d3fc..5d9a715bc 100644 --- a/apps/emqx_prometheus/grafana_template/ErlangVM.json +++ b/apps/emqx_prometheus/grafana_template/ErlangVM.json @@ -1207,7 +1207,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "erlang_vm_statistics_run_queues_length_total{job=~\"$job\", instance=\"$instance\"}", + "expr": "erlang_vm_statistics_run_queues_length{job=~\"$job\", instance=\"$instance\"}", "format": "time_series", "intervalFactor": 2, "legendFormat": "Run queue length", diff --git a/apps/emqx_prometheus/rebar.config b/apps/emqx_prometheus/rebar.config index c2ef78eca..12aa9060b 100644 --- a/apps/emqx_prometheus/rebar.config +++ b/apps/emqx_prometheus/rebar.config @@ -3,7 +3,7 @@ {deps, [ {emqx, {path, "../emqx"}}, {emqx_utils, {path, "../emqx_utils"}}, - {prometheus, {git, "https://github.com/emqx/prometheus.erl", {tag, "v4.10.0-emqx-1"}}} + {prometheus, {git, "https://github.com/emqx/prometheus.erl", {tag, "v4.10.0.1"}}} ]}. {edoc_opts, [{preprocess, true}]}.