春ブーツREST APIのメトリックコレクション

ラーフル・グプタ:

私は私の春ブーツ(2.1.0.RELEASE)アプリケーションの収集メトリックにしようとしています。具体的には、私が知りたいです

  1. 回の個々のRESTエンドポイントは呼び出されたん。
  2. 時間は、要求を処理するために、これらのエンドポイントのそれぞれで撮影しました。
  3. 私の要求が処理されているかで/エラー状態の平均レート。

アクチュエータの/actuator/metricsエンドポイントは、情報の多くを与えるが、私はそれらのいずれかが私の場合のために役立つかどうかを確認していません。場合にも、缶誰かが教えてくれ@Timed(またはその他のアウトオブボックスの注釈)は、これらの統計を達成するために使用することができるか、私はすべてのコントローラメソッドに以下のようなものを使用する必要があります:

  Timer timer = new SimpleMeterRegistry().timer("timer.name");
timer.record(() -> {
    // all logic here
});

私は私のコントローラメソッドに@Timedを使用してみましたが、それはへの新たな対応追加していない/actuator/metricsエンドポイントを。

パテルROMIL:

あなたは春のブートを使用することができ/actuator/metrics/http.server.requests、次のようになど、その数、例外、結果、ステータス、合計時間、で実行されているすべてのエンドポイントを取得します。

あなたが特定のエンドポイントの詳細を見たいなら、あなたは次のようにリクエストを呼び出すことによってそれを行うことができます

localhost:8889/actuator/metrics/http.server.requests?tag=uri:<endPoint>
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets&tag=status:200
  • あなたはなりますCOUNTと呼ばれた回数を特定のエンドポイントとして、
  • あなたは取得しますCOUNTされた回数を特定のエンドポイントと
    してと呼ばれる特定のステータス
  • エンドポイントを実行するための平均時間を取得するには、行うことができTOTAL_TIME/COUNT、アプリケーション全体のためだけでなく、特定のエンドポイントのために

ローカルホスト:8889 /アクチュエータ/メトリック/ http.server.requests

{
    "name": "http.server.requests",
    "description": null,
    "baseUnit": "seconds",
    "measurements": [
        {
            "statistic": "COUNT",
            "value": 3
        },
        {
            "statistic": "TOTAL_TIME",
            "value": 0.21817219999999998
        },
        {
            "statistic": "MAX",
            "value": 0.1379249
        }
    ],
    "availableTags": [
        {
            "tag": "exception",
            "values": [
                "MethodArgumentTypeMismatchException",
                "None"
            ]
        },
        {
            "tag": "method",
            "values": [
                "GET"
            ]
        },
        {
            "tag": "uri",
            "values": [
                "/{id}.*",
                "/user/asset/getAsset/{assetId}",
                "/user/asset/getAllAssets"
            ]
        },
        {
            "tag": "outcome",
            "values": [
                "CLIENT_ERROR",
                "SUCCESS"
            ]
        },
        {
            "tag": "status",
            "values": [
                "400",
                "404",
                "200"
            ]
        }
    ]
}

localhost:8889 /アクチュエータ/メトリクス/ http.server.requestsタグ= URI:/ユーザ/資産/ getAllAssets

{
    "name": "http.server.requests",
    "description": null,
    "baseUnit": "seconds",
    "measurements": [
        {
            "statistic": "COUNT",
            "value": 1
        },
        {
            "statistic": "TOTAL_TIME",
            "value": 0.1379249
        },
        {
            "statistic": "MAX",
            "value": 0
        }
    ],
    "availableTags": [
        {
            "tag": "exception",
            "values": [
                "None"
            ]
        },
        {
            "tag": "method",
            "values": [
                "GET"
            ]
        },
        {
            "tag": "outcome",
            "values": [
                "SUCCESS"
            ]
        },
        {
            "tag": "status",
            "values": [
                "200"
            ]
        }
    ]
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=226764&siteId=1