普罗米修斯

Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易。 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息。 我们还可以通过Prometheus和Grafana仪表板使仪器可见。

进行此扩展的原因是我们希望对Porcupine线程池的检测进行简单的集成(即插入)。 Grafana允许创建和共享仪表板,这些仪表板可以通过度量变量动态地进行自我配置。 目标是创建类似于以下内容的仪表板,而无需进行大量手动配置:

为了实现这一点,您需要执行以下操作:

  • 公开Java EE豪猪统计信息,例如Prometheus格式
  • 在Prometheus实例中刮取Prometheus指标
  • 在Grafana仪表板中查询并显示Prometheus指标

要通过Prometheus公开Porcupine的统计信息,您可以采用多种方法以Prometheus格式发出指标。 我正在使用MicroProfile Metrics,为此我创建了一个小的扩展,可以将其添加到项目中:

<dependency><groupId>com.sebastian-daschner</groupId><artifactId>porcupine-metrics</artifactId><version>1.0</version>
</dependency>

该扩展公开了PorcupineMetrics bean,该bean每次应更新指标时都需要通过其updateMetrics()方法进行调用。 我们可以使用类似于以下内容的计时器:

@Singleton
@Startup
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class ExecutorStatisticsUpdater {@InjectPorcupineMetrics porcupineMetrics;@ResourceManagedScheduledExecutorService scheduler;@PostConstructpublic void init() {scheduler.scheduleAtFixedRate(porcupineMetrics::updateMetrics,0, 5, TimeUnit.SECONDS);}}

这将每5秒更新一次指标。 由于Porcupine的统计信息内部,当前需要例如通过计时器明确触发更新机制。 这将在Metrics端点中包括以下管道指标:

vendor:porcupine_pipelines_<pipeline-name>_active_thread_count 2
vendor:porcupine_pipelines_<pipeline-name>_core_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_current_thread_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_largest_thread_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_maximum_pool_size 8
vendor:porcupine_pipelines_<pipeline-name>_min_queue_capacity 60
vendor:porcupine_pipelines_<pipeline-name>_remaining_queue_capacity 100
vendor:porcupine_pipelines_<pipeline-name>_tasks_completed 3034
vendor:porcupine_pipelines_<pipeline-name>_tasks_rejected 30
vendor:porcupine_pipelines_<pipeline-name>_tasks_total 3036

除了使用MicroProfile指标或这个扩展,你可以同样通过其他机制使用普罗米修斯的Java API作为解释暴露的指标,例如这里。

之后,我们通过Prometheus抓取暴露的指标,并创建Grafana仪表板,以通过变量为每个管道动态查询和显示统计信息。

首先,我已经共享了豪猪仪表板,类似于您在连接至Prometheus数据源的Grafana.com上的屏幕快照中看到的内容。

您可以看一下使用Porcupine Metrics的instrument-craft-shop项目。

如果您想知道为什么我使用豪猪而不是MicroProfile Fault Tolerance隔板,请观看以下有关隔板和Java EE反压的视频。

发现帖子有用吗? 订阅我的时事通讯,获取有关IT和Java的更多免费内容,技巧和窍门:

成功! 现在检查您的电子邮件以确认您的订阅。

翻译自: https://www.javacodegeeks.com/2018/10/instrumenting-porcupine-prometheus-grafana.html

普罗米修斯

普罗米修斯_用普罗米修斯和格拉法纳仪来豪猪相关推荐

  1. 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪

    普罗米修斯使用es数据库 Adam Bien的Porcupine库使配置充当应用程序隔板的专用执行程序服务变得容易. 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息. ...

  2. 惠普800g1支持什么内存_惠普黑白激光打印机哪种好 惠普黑白激光打印机推荐【图文详解】...

    打印机的出现让我们在生活和日常工作中变得越来越方便,不过随着科技的发展,打印机的类型也变得非常多,其中就有黑白激光打印机,而黑白激光打印机的品牌也有很多,比如我们的惠普黑白激光打印机,今天小编就给大家 ...

  3. 惠普战66prog2拆机_惠普战66G2开箱

    商务笔记本的极致之选---惠普战 66Pro13 G2 开箱评测 如今轻薄型笔记本的种类繁多并且基本上都具备了轻薄的设计,如何在外观设计.配置与价 格之间取得一个平衡也是消费者所看重的点,接下来笔者将 ...

  4. 米家对讲机_回归正确方向-----米家对讲机2

    本帖最后由 newsfantk 于 2019-5-10 01:06 编辑 前言 自从小米米家对讲机1代推出以来,凭借简约漂亮的外观,方便的USB接口充电功能,在本已沉寂很久的业余无线电对讲机里掀起一阵 ...

  5. metrics类型 普罗米修斯_使用普罗米修斯和Grafana监控Flink运行状态

    Pushgateway pushgateway 是一个Prometheus 生态中重要工具,因为Prometheus采用Pull模式,可能由于一些原因,Prometheus无法直接拉取各个target ...

  6. 用普罗米修斯和格拉法纳乐器来刺豪猪

    Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易. 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息. 我们还可以通过Prome ...

  7. 惠普主板f1怎么关闭_惠普主机怎样把f1取消 惠普笔记本

    惠普台式机开机按F1怎样去除? 1.启动电脑,然后按[Del]键进入BIOS设置主界面: 2.选择"AdvancedBIOSFeatures"设置项,按回车键进入: 3.将&quo ...

  8. 惠普打印机只打印一半_惠普打印机如何安装 惠普打印机加墨方法【介绍】

    对于多数上班族和学生党来说,平时办公和学习不仅仅离不开 电脑 ,与此同时还需要 打印机 起到辅助作用.目前市场上的打印机品牌较多,惠普就是其中知名度较高的一个牌子,拥有大批的消费群体.但是有些人在将打 ...

  9. 惠普电脑怎么截屏_惠普(HP)暗影精灵6游戏台式电脑主机怎么样?配置和使用体验测评-最新资讯...

    这款惠普(HP)暗影精灵6游戏台式电脑主机是惠普旗下热销一款电竞主机,看网上很多电脑大神推荐的,分享使用一段日子感受,入手价格和配置情况,供需要的朋友参考下. 一.惠普暗影精灵6游戏主机体验感受: 1 ...

最新文章

  1. 一道简单的面试题:竟然有90%的程序员不能把这个算法完全写正确。。。
  2. Codeforces Round #247 (Div. 2)C. k-Tree(动态规划)
  3. apache lucene_Apache Lucene基础教程
  4. 深度学习(11)-- GAN
  5. php接收vue请求数据axios,详解vue axios用post提交的数据格式
  6. 使用注解配置spring如@Compnent、@Service、@Consroller、@scope和@value的使用
  7. Understanding ES6 -- 深入理解ES6书籍
  8. layer 子页面提交 刷新父页面 table
  9. 终极免费云盘同步攻略
  10. 【科研学习】Demo3D2015安装包以及图文安装步骤
  11. powerdesign新手入门详细教程
  12. 凝视联通4G和4G+战略落地半年报,从数据亮点中找出路
  13. 跨域 CORS policy
  14. 计算机网络——tcpdump/Wireshark抓包实战
  15. 从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一
  16. CSDN有哪些值得学习的专栏?
  17. 国产DSP/ARM+复旦微ZYNQ/A7/K7 FPGA系列解决方案
  18. Difficulties vanish when faced boldly.
  19. Spring 01 初识 Spring
  20. 首期百辨太魔人完美收官,内附干货音频等你解锁!

热门文章

  1. Excel自动化办公的实现
  2. 用lingo排版课程表 求大佬指点
  3. 如何在unity中制作塔防游戏
  4. 泛指通过锁定和市场适应性来兴起新公司
  5. SOLIDWORKS软件装配设计配合技巧
  6. 求2+22+222+2222+22222+...+2...2的和,数字的数量由控制台输入
  7. Nginx下配置codeigniter框架方法
  8. java 2048游戏_JAVA2048游戏 本课程设计是基于java语言的2048小游戏设计 联合开发网 - pudn.com...
  9. LTE学习笔记六:MIMO多天线技术
  10. Ad Hoc Networks TOPIC TWO <Wireless Network>【Personal Notes】