日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

螺旋测微器 flash_使用测微计收集应用程序指标

發(fā)布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 螺旋测微器 flash_使用测微计收集应用程序指标 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

螺旋測微器 flash

什么是Micrometer?

Micrometer是一個簡單的外觀,用于以供應(yīng)商中立的方式收集Java應(yīng)用程序中的指標(biāo)。 您可以考慮使用SLF4J作為指標(biāo)。 Micrometer內(nèi)置了對許多不同指標(biāo)后端的內(nèi)置支持,包括Atlas,Datadog,Elastic,JMX等。 在本文中,我們將看到如何在Java應(yīng)用程序中使用Micrometer收集指標(biāo)。

Micrometer依賴性

首先,我們需要將Micrometer依賴性添加到我們的項目中。 請注意,您需要根據(jù)要使用的指標(biāo)后端選擇正確的依賴關(guān)系。

在這里,我們選擇JMX,因此我們需要micrometer-registry-jmx工件。

< dependency > < groupId >io.micrometer</ groupId > < artifactId >micrometer-registry-jmx</ artifactId > < version >1.2.0</ version > </ dependency >

例如:如果要使用Elasticsearch而不是JMX,則需要添加micrometer-registry-elastic。

創(chuàng)建一個MeterRegistry

在開始收集指標(biāo)之前,我們需要創(chuàng)建一個MeterRegistry。 MeterRegistry用于創(chuàng)建儀表,然后收集實(shí)際指標(biāo)。

根據(jù)您要使用的指標(biāo)后端,MeterRegistry是一個具有不同實(shí)現(xiàn)的界面。 最簡單的MeterRegistry實(shí)現(xiàn)是SimpleMeterRegistry,它不會在任何地方導(dǎo)出數(shù)據(jù)。 它只是在內(nèi)存中保存每個儀表的最新值。

MeterRegistry registry = new SimpleMeterRegistry();

如果我們想將度量標(biāo)準(zhǔn)數(shù)據(jù)導(dǎo)出到JMX,則需要創(chuàng)建一個JmxMeterRegistry。

MeterRegistry registry = new JmxMeterRegistry( new JmxConfig() { @Override public String get(String s) { return null ; } }, Clock.SYSTEM);

傳遞的JmxConfig實(shí)例的get()方法可用于提供其他配置值。 在我們的簡單示例中,我們不需要此功能,因此我們只返回null。

如果要將指標(biāo)導(dǎo)出到多個監(jiān)視后端,則可以使用CompositeMeterRegistry。 CompositeMeterRegistry將數(shù)據(jù)傳遞給一個或多個其他注冊表,使您可以將指標(biāo)發(fā)布到多個指標(biāo)后端。

例如:

CompositeMeterRegistry registry = new CompositeMeterRegistry(); registry.add( new JmxMeterRegistry(..)); registry.add( new ElasticMeterRegistry(..));

儀表

儀表是用于收集指標(biāo)的Micrometer接口。 儀表的示例實(shí)現(xiàn)是計數(shù)器,計時器和儀表。

創(chuàng)建一個柜臺

我們可以使用一個簡單的構(gòu)建器API創(chuàng)建一個Counter:

Counter counter = Counter .builder( "my.counter" ) .description( "counts something important" ) .tag( "environment" , "test" ) .tag( "region" , "us-east" ) .register(registry);

這將創(chuàng)建一個名為my.counter的計數(shù)器,并將其添加到名為Registry的MeterRegistry中。 我們還可以向我們的計數(shù)器添加一個或多個標(biāo)簽和可選說明。 儀表通常創(chuàng)建一次,然后多次使用。

為了增加計數(shù)器的值,我們可以調(diào)用crement()方法:

counter.increment(); // increment by one counter.increment( 2.5 );

創(chuàng)建一個計時器

可以通過類似的方式創(chuàng)建計時器:

Timer timer = Timer.builder( "my.timer" ).register(registry);

在這里,我們跳過了可選參數(shù),例如標(biāo)記或說明。

現(xiàn)在,我們可以使用record()方法將計時指標(biāo)添加到計時器中:

// recording execution time of code timer.record(() -> { // do something }); // record a precomputed value timer.record(Duration.ofMillis( 123 ));

在JConsole中查看結(jié)果

由于我們使用的是JmxMeterRegistry,因此可以通過JMX訪問我們的指標(biāo)信息。 為此,我們可以使用JConsole ,可以通過在您的<jdk> / bin目錄中執(zhí)行jconsole來啟動它。 連接到Java應(yīng)用程序過程后,您可以在MBeans選項卡中找到當(dāng)前的應(yīng)用程序指標(biāo):

當(dāng)然,如果使用其他MetricsRegistry,則必須使用其他工具來查看指標(biāo)。 例如,如果您使用的是ElasticMeterRegistry,則可以使用Kibana。

摘要

Micrometer提供了易于使用的外觀,可在Java應(yīng)用程序中使用該外觀來收集應(yīng)用程序指標(biāo)。 然后可以將這些指標(biāo)信息導(dǎo)出到許多不同的后端技術(shù)(包括Elasticsearch和JMX)。 您可以在GitHub上找到示例的源代碼。

翻譯自: https://www.javacodegeeks.com/2019/12/collecting-application-metrics-with-micrometer.html

螺旋測微器 flash

總結(jié)

以上是生活随笔為你收集整理的螺旋测微器 flash_使用测微计收集应用程序指标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。