問題タブ [spring-micrometer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
232 参照

servlet-filters - Spring RestController 応答と PrometheusMeterRegistry エラー メッセージが混在

Env: Springboot-2.0.7.RELEASE (埋め込み tomcat-8.5.35)、JDK-1.8.0_181、micrometer-registry-prometheus-1.0.8

説明: @Timedon controller メソッドとWebMvcMetricsFiltercustomを使用しますWebMvcTagsProvider

デモプロジェクト: https://github.com/kenix/resp-mix

タグのセットを持つメーターを既に作成している場合PrometheusMeterRegistry、同じ名前で異なるタグのセットを持つ別のメーターは作成されません。IllegalArgumentException前述の理由でスローします。これは、正常に処理されたリクエストの正常な処理の後に発生します (レスポンスには変換された JSON が含まれるようになりました)。例外はSpringではキャッチされませんWebMvcMetricsFilter(つまり、catch-clauseで例外をキャッチします。ところで、役に立ちControllerAdviceません)が、TomcatのによってキャッチされStandardHostValve、独自のエラーメッセージ(この例外がどこから来たのかを知ることができません)を応答にレンダリングしますそれも。これにより、レンダリングされた結果として不正な JSON が生成されます。

質問 1:WebMvcMetricsFilterによってスローされたこの例外をキャッチして処理し、PrometheusMeterRegistryそれ以上スローしないようにする必要がありますか?

質問 2: 実際の処理に入る前にフィルター チェーンで例外が想定どおりに処理されることを確認しました。実際の処理が成功した後の例外はどうですか? 参照はありますか?

このケースをトリガーするには:

  1. curl -i localhost:8080/hi/foo/there
  2. curl -i localhost:8080/hi/blah/there
0 投票する
1 に答える
1061 参照

java - MicroMeter Timer がゼロを返すのはなぜですか?

次のコードを検討してください。

出力は両方の出力でゼロですが、もちろん正の数であることが期待されます。

を使用してglobalRegistryいますが、違いはないと思います。

0 投票する
1 に答える
141 参照

java - CloudWatchConfig インターフェイスがステップ期間の文字列を期待するのはなぜですか

Gradleに組み込まれたMicrometer Cloudwatch 1.1.3を使用していますcompile 'io.micrometer:micrometer-registry-cloudwatch:1.1.3'

Java ではCloudWatchConfig、次のようにしてを作成できます。

Kotlinで同等のものは、次のようにする必要があると思います:

Koltin コンパイラはこれに失敗し、ブロックの最後の行を指摘します: fun batchSize() = CloudWatchConfig.MAX_BATCH_SIZEString? 型の値が必要だと言っています。

多くのデバッグの後、ステップ関数の toString を返すことでこれを修正できました。Duration によって生成されたかのように解析されるため、文字列を渡すことはできません。私の Kotlin コードが機能するようになり、次のようになります。

CloudWatchConfig、StepRegisteryConfig、および MeterRegistryConfig インターフェースを調べた後、なぜそうなのかわかりません。Koltin がこれを行うのはなぜですか? また、なぜ Duration の toString を期待しているのですか?

0 投票する
1 に答える
1855 参照

java - /スプリング ブート アクチュエータの Beans にアクセスできません

アクチュエータに依存する単純なスプリング ブート アプリケーションを試しましたが、http://localhost:8080/actuator/beansにアクセスできませんでした

次の出力でhttp://localhost:8080/actuatorにアクセスできます。

また、主に次の URL にはアクセスできません。ここからリストされています。