Grafana 仪表板将执行程序池的 "boundedElastic" 与 "parallel" 分开
Grafana dashboard separating "boundedElastic" vs "parallel" for executor pool
关于如何构建将“boundedElastic”与“parallel”分开的 Grafana 仪表板的小问题。
目前使用 Spring Webflux 应用程序,我开箱即用,对 Reactor Core 非常有用的指标。
executor_pool_size_threads
executor_pool_core_threads
executor_pool_max_threads
etc
Reactor 团队甚至提供了默认仪表板,因此我们可以看到状态:
https://github.com/reactor/reactor-monitoring-demo
不幸的是,当前的仪表板混合了“boundedElastic”和“parallel”,我正在尝试构建相同的仪表板,但“boundedElastic”和“parallel”是分开的。
我试过了:
sum(executor_pool_size_threads{_ws_="my_workspace"}) by (reactor_scheduler_id, boundedElastic)
但到目前为止运气不好。
请问正确的做法是什么?
谢谢
在演示项目中,指标存储在 Prometheus 中,并使用 PromQL 进行查询。每个指标可以有多个标签,每个标签可以有多个值。指标可以通过标签和值来选择,例如my_metric{first_label="first_value", second_label="another_value"}
选择 my_metric
,其中两个标签都匹配相应的值。
因此在您的示例中,指标 executor_pool_size_threads
具有标签 reactor_scheduler_id
。但是,这些值包含调度程序名称以外的更多信息。在我的机器上(由于默认池大小),值是:parallel(8,"parallel")
和 boundedElastic("boundedElastic",maxThreads=80,maxTaskQueuedPerThread=100000,ttl=60s)
。因此,正则表达式匹配在这里对于使用 =~
运算符匹配值很有用。
PromQL 查询仅针对 parallel
:
sum (executor_pool_size_threads{reactor_scheduler_id=~"parallel.*"}) by (reactor_scheduler_id)
PromQL 仅查询 boundedElastic
:
sum (executor_pool_size_threads{reactor_scheduler_id=~"boundedElastic.*"}) by (reactor_scheduler_id)
关于如何构建将“boundedElastic”与“parallel”分开的 Grafana 仪表板的小问题。
目前使用 Spring Webflux 应用程序,我开箱即用,对 Reactor Core 非常有用的指标。
executor_pool_size_threads
executor_pool_core_threads
executor_pool_max_threads
etc
Reactor 团队甚至提供了默认仪表板,因此我们可以看到状态:
https://github.com/reactor/reactor-monitoring-demo
不幸的是,当前的仪表板混合了“boundedElastic”和“parallel”,我正在尝试构建相同的仪表板,但“boundedElastic”和“parallel”是分开的。
我试过了:
sum(executor_pool_size_threads{_ws_="my_workspace"}) by (reactor_scheduler_id, boundedElastic)
但到目前为止运气不好。 请问正确的做法是什么? 谢谢
在演示项目中,指标存储在 Prometheus 中,并使用 PromQL 进行查询。每个指标可以有多个标签,每个标签可以有多个值。指标可以通过标签和值来选择,例如my_metric{first_label="first_value", second_label="another_value"}
选择 my_metric
,其中两个标签都匹配相应的值。
因此在您的示例中,指标 executor_pool_size_threads
具有标签 reactor_scheduler_id
。但是,这些值包含调度程序名称以外的更多信息。在我的机器上(由于默认池大小),值是:parallel(8,"parallel")
和 boundedElastic("boundedElastic",maxThreads=80,maxTaskQueuedPerThread=100000,ttl=60s)
。因此,正则表达式匹配在这里对于使用 =~
运算符匹配值很有用。
PromQL 查询仅针对 parallel
:
sum (executor_pool_size_threads{reactor_scheduler_id=~"parallel.*"}) by (reactor_scheduler_id)
PromQL 仅查询 boundedElastic
:
sum (executor_pool_size_threads{reactor_scheduler_id=~"boundedElastic.*"}) by (reactor_scheduler_id)