1

我正在开发一个进行音频识别的 java 应用程序。我需要知道识别数据包的平均数量,但在应用程序范围内,而不是在进程范围内。识别过程结束后,它会返回给我应用程序接收的数据包数量和识别的数据包数量(应用程序实际处理的数据包)。

final int receivedPackets = stats.getReceivedPacketsCount();
final int recognizedPackets = stats.getRecognizedPacketsCount();

考虑这个例子: Process 1 Received packets - 10 Recognized packets - 4 Avg Recog packets - 0,4 (recognized / received) Process 2 Received packets - 10 Recognized packets - 6 Avg Recog packets - 0,6 Total avg recog packets = avg(0,4 + 0,6) = 0,5

问题是,我试图使用直方图度量类型,但它只接受intlong更新方法中的值。我也尝试过使用 RatioGauge,但它没有“更新”方法,每次要更新值时都需要注销并注册它,从而丢失历史记录。

那么,我怎样才能公开这个十进制值呢?

metricRegistry.histogram("AvgRecognizedPackets").update( ??? );
4

0 回答 0