Docs » Splunk Observability Cloud のメトリクス » Histogram metrics in Splunk Observability Cloud

Histogram metrics in Splunk Observability Cloud 🔗

Splunk Observability Cloud はヒストグラムデータをサポートしています。インストルメンテーションされたアプリケーションやサービスから Splunk Observability Cloud に送信したヒストグラムメトリクスデータを使用して、グラフやディテクターなどを作成できます。

ヒストグラムを理解する 🔗

ヒストグラムはオブザベーションの分布を表します。ヒストグラムには数値の連続値が必要です。連続値の例としては、時間、サイズ、温度などがあります。次のグラフは、応答時間をミリ秒単位で表したヒストグラムの視覚的表現です:

5つの間隔がある応答時間のヒストグラムのサンプル。

ヒストグラムは、数値の境界を持つ隣接する区間であるバケットにデータを格納します。前のヒストグラムのバケットまたはバーは、100ミリ秒にわたります。各バーのサイズは、各区間内のオブザベーションの数によって決まります。バーが高いほど、その区間内にあるデータポイントが多くなります。

すべてのヒストグラムで、オブザベーションの総数、最小値と最大値、すべての値の合計、平均値、離散パーセンタイル値を計算できます。Splunk Observability Cloud はヒストグラム用の SignalFlow 関数を提供しており、これを使用してヒストグラムをカスタマイズしたり、データに対して計算を実行したりできます。

ヒストグラムは、異なるデータセットを一目で比較したり、他の方法では検出しにくいデータの傾向を特定したりするのに便利です。例えば、ヒストグラムは、」昨日のデータベースの応答時間の90パーセンタイルは?」といった質問に答えることができます。

When to use histogram metrics 🔗

ヒストグラムは、他のメトリクスでは再現が難しい方法でデータを要約することができます。ヒストグラムバケットを使えば、データセット全体を分析してすべてのデータポイントを見る必要なしに、連続データの時間的な分布を調べることができます。ヒストグラムは、バケットとともに、summinmaxcount のように、複数の統計量を1つのデータポイントにまとめることができます。

サービスレベル目標(SLO) 🔗

ヒストグラムは特に、パフォーマンスと可用性のサービスレベル目標(SLO)を表すのに適しています。可用性 SLO の例としては、全リクエストのパーセンタイル n が特定の時間未満で処理されるかどうかや、アプリの画面のパーセンタイル n が正常にロードされるかどうかをチェックすることがあります。

単一のパーセンタイルまたは分位をカバーするメトリクスとは異なり、ヒストグラムには、追跡する必要のあるパーセンタイルまたは分位が単一のメトリクスに含まれています。これにより、最初の検出後にデータを深く調査することが容易になります。例えば、応答時間の99パーセンタイルのアラートを受け取った場合、ヒストグラムを使用すると、他のパーセンタイルを探索できます。

詳細は Splunk Observability Cloudにおけるサービスレベル目標(SLO)管理の概要 を参照してください。

計算されたメトリクスの代わりのヒストグラム 🔗

ヒストグラムには、インフラストラクチャを使用して計算する代わりに、Splunk Observability Cloud でパーセンタイルやその他の統計情報を計算するために使用できるデータが含まれています。また、ヒストグラムを送信すると、送信される MTS の数が少なくなり、サブスクリプションの使用量が減ります。

たとえば、service.response_time.upper_90service.response_time.upper_95 メトリクスを送信して、インフラストラクチャの主要サービスのレスポンスタイムを90パーセンタイルと95パーセンタイルで追跡する場合、レスポンスタイムの分布全体のヒストグラムデータを送信できるため、2つの別々の MTS を送信する必要がなくなります。

明示的バケットヒストグラム 🔗

明示的バケットヒストグラムは、あらかじめ定義されたバケット境界を持つヒストグラムです。バケットの境界を自分で定義することの利点は、自分の状況で意味のある制限を使えることです。

例えば、以下の Java コードは、バケットの境界を明示した OpenTelemetry ヒストグラムを作成します:

void exampleWithCustomBuckets(Meter meter) {
   DoubleHistogramBuilder originalBuilder = meter.histogramBuilder("people.ages");
   ExtendedLongHistogramBuilder builder = (ExtendedLongHistogramBuilder) originalBuilder.ofLongs();
   List<Long> bucketBoundaries = Arrays.asList(0L, 5L, 12L, 18L, 24L, 40L, 50L, 80L, 115L);
   LongHistogram histogram =
      builder
            .setAdvice(advice -> advice.setExplicitBucketBoundaries(bucketBoundaries))
            .setDescription("A distribution of people's ages")
            .setUnit("years")
            .build();
   addDataToHistogram(histogram);
}

注釈

現在、Splunk Observability Cloud は明示的なバケットヒストグラムのみをサポートしています。

Get histogram data into Splunk Observability Cloud 🔗

ヒストグラムデータを Splunk Observability Cloud に取り込む方法と、既存のレポート要素を移行する方法については、Get histogram data into Splunk Observability Cloud を参照してください。

このページは 2024年05月10日 に最終更新されました。