• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

OpenTelemetryメトリック:ベストプラクティス

OpenTelemetryメトリクスは、New Relicのディメンションメトリクスとほぼ互換性があります。OpenTelemetry メトリクス v0.10 をサポートしています。サポートしているすべてのメトリクスタイプには、独立した関連属性(名前と値のペア)のセットが含まれており、クエリ時にメトリクスデータのファセットやフィルタリングに使用できるディメンションに直接マッピングされます。OpenTelemetryメトリクスには、 リソース 属性のセットが付属しています。この属性は、メトリクスを生成したオリジネーターを識別し、ファセット化やフィルタリングのためのディメンションにマッピングされます。

メトリクスの OpenTelemetry データ モデルは、合計、ゲージ、ヒストグラム、サマリーなど、さまざまなメトリクス タイプを定義します。

和の指標

OpenTelemetry の合計は、特定の時間枠におけるすべてのデータ ポイントの合計であるスカラー メトリックです。合計には、報告された値に以前の測定値が組み込まれているか (累積的な一時性)、含まれていないか (デルタ一時性) を示す一時性の概念があります。

また、和は単調なもの(上にしか行かない、下にしか行かない)と、非単調なもの(上にも下にも行く)があります。

デルタ・サムズ

デルタ和は、単調であるか非単調であるかによって、異なる方法で処理されます。

積算金額

累積和は、単調か非単調かによって処理が異なります。

  • 非単調累積合計は、 ゲージメトリック タイプにマップされます。

  • 単調累積和のマッピングは、次のものに依存します。

    • 累積カウント メトリック タイプにアクセスできる場合は、これが使用されます。変換プロセスの詳細については、累積指標を参照してください。
    • cumulativeCountにアクセスできない場合は、 gaugeタイプにマップされます。

サムの構成例

集約のテンポラリティを構成する方法を理解するには、 JavaおよびGoOpenTelemetrySDKを使用したこれらの例を参照してください。

ゲージ・メトリクス

OpenTelemetry ゲージ メトリック データ ポイントは、特定の時間にサンプリングされた値を表します。これらの値は、New Relic ゲージメトリック タイプに変換されます。OpenTelemetry ゲージには集計の一時性はありませんが、サンプリングされた値はクエリ時に集計できます。

ヒストグラム・メトリクス

OpenTelemetry ヒストグラム 記録された値の集団を、合計数や合計値とともにコンパクトに表現します。オプションとして、ヒストグラムには、明確な境界線を持つ一連のバケットと、そのバケットの人口に対するカウント値を含めることができます。

すべての OpenTelemetry ヒストグラムは、New Relic の ディストリビューションメトリック タイプに変換されます。これは、スケーリングされた指数ベース 2 ヒストグラムによってサポートされます (詳細な説明については、 NrSketchを参照してください)。

デルタ・ヒストグラム

指数ヒストグラムの場合、NrSketch に直接変換できます。

明示的な境界ヒストグラムの場合、線形補間を使用して、OpenTelemetry ヒストグラム バケットからのカウントが New Relic の分布メトリック バケットに割り当てられます。また、OpenTelemetry には、New Relic で幅ゼロのバケットとして表される負および正の無限バウンド バケットがあります。これを行うのは、負の無限大と正の無限大の表現がないためです。たとえば、境界が\[-∞, 10)の OpenTelemetry バケットは、幅がゼロの\[10,10) New Relic バケットで表されます。この変換により、ディストリビューションのエンドポイントで誇張されたバケット数が表示される場合があります。

累積ヒストグラム

cumulativeCountにアクセスできる場合、累積ヒストグラムはデルタ ヒストグラムに変換されます。翻訳プロセスの詳細については、累積指標を参照してください。

サマリー・メトリクス

OpenTelemetry サマリー メトリック データ ポイントは、変位値のサマリー (P99 レイテンシなど) を表すために使用されます。これらは New Relic のサマリー メトリクス タイプに直接マッピングされますが、維持する唯一の分位数は、最小値と最大値の 0.0 と 1.0 の分位数です。パーセンタイルを取得したい場合は、 ヒストグラム メトリックを優先します。

サマリーメトリクスのデータポイントには、カウント、サム、および分位値があり、0.0が最小、1.0が最大となります。OpenTelemetryでは、他のフォーマットとの互換性のために、サマリーメトリックを提供しています。

開始時間

OpenTelemetryの仕様によれば、 startTimeUnixNanoフィールドはオプションです。このフィールドを指定すると、結果のNew Relicメトリックのタイムスタンプに使用され、 durationtimeUnixNano - startTimeUnixNanoとして計算されます。 durationフィールドは、New Relicメトリックのクエリ可能なendTimeStamp属性を計算するために使用されますが、他のセマンティック目的には役立ちません。

startTimeUnixNanoが指定されていない場合、結果のNew RelicメトリックのタイムスタンプフィールドにtimeUnixNanoが使用され、durationフィールドはゼロに設定されます。

属性の配列値

OpenTelemetryメトリックおよびその他の信号には、プリミティブ型の同種の配列で構成される属性が含まれる場合があります。 New Relicは、65要素未満のネストされていない同種配列をサポートします。

模範例

OpenTelemetry では、トレースのような他のシグナルをメトリックイベントに接続してコンテキストを提供するための模範的な値を定義しています。New Relic ではエグザンプルはサポートされていません。

メトリクスの照会方法

New RelicでメトリックなNRQLクエリを構築するためのヒントを考えてみましょう。

CumulativeCounts として格納された累積合計をクエリします

データをクエリする方法は次のとおりです。

ゲージに格納された累積値の照会

累積和がゲージに変換されるので、データを照会する方法を紹介します。

クエリ・ゲージ・メトリクス

New Relicが累積合計をゲージに変換する場合、 latest()またはderivative() NRQL関数を使用してそれらをクエリできます。選択する関数は、生の値を表示するか、変化率を計算するかによって異なります。

クエリ・ヒストグラム・メトリクス

OpenTelemetry メトリクスから変換された New Relic ヒストグラムには、他の New Relic ヒストグラムと同じクエリ セマンティクスがあります。つまり、 histogram() NRQL 関数を使用して、構成可能なバケット数とバケット幅でヒストグラムを表すことができます。累積ヒストグラムはデルタ ヒストグラムに変換されるため、デルタ ヒストグラムがクエリされるのと同じ方法でクエリが実行されます。明示的な境界ヒストグラムについては、エンドポイント バケットでより大きなバケット数が表示される場合があることに注意してください。これは、負と正の無限にバインドされた OpenTelemetry バケットを幅ゼロの New Relic バケットに追加しているためです。

重要

TIMESERIESキーワードは、 percentiles()をチャリングしない限り、New Relic ヒストグラムではサポートされていません。

Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.