音声認識を行う 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
問題は、ヒストグラム メトリック タイプを使用しようとしたのですが、update メソッドで値int
または値のみを受け入れることです。long
RatioGauge も使用しようとしましたが、「更新」メソッドがありません。値を更新するたびに登録を解除して登録する必要があるため、履歴が失われます。
では、どうすればこの 10 進数値を公開できますか?
metricRegistry.histogram("AvgRecognizedPackets").update( ??? );