Skip to main content
テレメトリは、アプリケーションが自身の動作について送信する構造化された証拠です。ログは報告されたイベントを記録します。トレースは処理どうしを結び付けます。メトリクスは値を測定します。課題は障害をまとめます。アクションはプロダクト上のアクティビティを記録します。 プロジェクト、サービス、環境、リリース、時刻のフィールドが、各結果の範囲を決めます。SDK が取得するシグナルについては、SDK 連携を読んでください。

シグナルを選ぶ

障害の調査は、課題かログから始めます。1回の実行を調べるには、利用できるトレースを使います。より長い期間を調べるには、メトリクスの推移を使います。アクティビティと再訪については、プロダクト分析を読んでください。 調査に必要なフィールドだけを取得します。サービス名、処理名、メトリクス名は変わらないものを使います。認証情報、決済データ、リクエストの生のボディは送信しないでください。そのための設定は取得するデータを管理するにあります。

ログ

ログは、ある時点でアプリケーションが残したレコードです。役に立つログには、次の情報があります。
  • イベントが発生した時刻。
  • 正規の重大度。
  • プロジェクトとサービスの範囲。
  • 環境とリリース。
  • ログにアクティブなトレースコンテキストがある場合は、トレースとスパンの識別子。
  • イベントのコンテキストを表す、小さく名前の付いた属性。
ログのレスポンスでは、これらの値は occurred_at、severity、project_id、service_name、environment、release、trace_id、span_id、attributes に入ります。コンテキストは、メッセージのテキストではなく名前付きの属性に入れてください。 複数のサービスのログが1つのビューに並んでいても、トレース上の関係はありません。その関係を作るのはトレースコンテキストだけです。

トレース

トレースは、1件のリクエストや処理のスパンを含みます。ルートスパンには親がありません。子スパンは自身の親を示します。トレース内のスパンはすべて同じトレース ID を持ち、スパン ID はそれぞれ異なります。分散トレーシングを参照してください。 アクティブなトレースコンテキストなしで送信されたログ、課題、アクション、メトリクスには、取得用のトレースが付きます。このトレースには取得用のスパンしか含まれません。リクエストの経路は示しません。取得用のスパンを参照してください。

メトリクス

メトリクスは、時間の経過に沿った測定値を記録します。各メトリクスは、名前、単位、ディメンション、プロジェクト、期間、間隔と合わせて読んでください。LogBrew は、メトリクスの kind と temporality に応じて、各ポイントの value を決めます。 たとえば、1つの間隔に値が 2、3、5 のデルタカウンターのサンプルが3件あれば、ポイントの value は 10、sample_count は 3 になります。同じ値の gauge のサンプルが同じ順序で3件あれば、ポイントの value は 5 になります。p95 の値は平均ではありません。記録された観測値の約95%が、その値以下です。 status: "ready" の場合は、導出された集計を利用できます。status: "limited" の場合は、aggregation.limitation を読み、生の値だけを使ってください。gauge や cumulative のストリームを合計しないでください。ポイントのない間隔は、測定されたゼロではありません。クエリのフィールドについては、クエリフィルターを読んでください。 GET /api/telemetry/metrics/series はこれらのポイントを返します。project_id、name、since が必須です。各系列には、kind、unit、temporality を持つ identity が1つあります。identity が異なる系列は別々のままです。各ポイントには、次のフィールドが含まれることもあります。 series_limit によって量の少ない系列が省略された場合、coverage.truncated は true になります。メトリクスの期間を、同じ長さの直前の期間と比較するには、次を実行します。

課題

課題は、繰り返し発生する障害を安定したフィンガープリントでまとめます。課題には、重大度、ステータス、発生事象の件数、初回確認の時刻、最終確認の時刻があります。課題の詳細には、例外チェーン、スタックフレーム、直前の手順、関連するログ、トレースとの関係が加わることがあります。 last_seen_at は、グループ内で最も新しい発生事象です。選択した発生事象は、それより古い場合があります。両方の時刻を読んでください。 課題の status は unresolved、resolved、archived のいずれかです。API のレスポンスのバージョン1では、archived は ignored と表示されます。レスポンスのバージョン2と3では、priority(high、medium、low)と priority_source が加わります。バージョン3では assignee も加わります。ステータスの値と優先度を参照してください。

アクション

アクションは、プロダクト上のアクティビティを記録します。対応している分類により、アクションはページビュー、スクリーンビュー、インタラクションのいずれかになります。イベント名だけでは分類は決まりません。このコンテキストを追加するには、プロダクトイベントの取得を使います。 セッションはユーザーではありません。匿名サブジェクトは識別済みユーザーではありません。

共通のフィールド

重大度の値

LogBrew は、入力の別名を大文字と小文字を区別せずに受け付けます。API、CLI、ライブイベントは正規の値を使います。不明な重大度の値は拒否されます。重大度は記録された緊急度です。ビジネスへの影響や根本原因を示すものではありません。 ユーザーは、課題やログに表示される重大度を変更できます。その場合、レスポンスには effective_severity を含む triage オブジェクトが入ります。severity フィールドは、取得したときの値のままです。

ライブの読み取りとスナップショットの読み取り

logbrew read は、選択したプロジェクト、期間、フィルターのスナップショットを返します。新しいイベントを読むには、もう一度実行します。logbrew watch は、接続している間、新しいログ、課題、アクションをストリーミングします。トレースやメトリクスはストリーミングしません。接続に失敗しても、プロジェクトが空であることにはなりません。

証拠の状態

レスポンスでは、取得済み、未取得、秘匿済み、一部省略、利用不可の状態を区別します。トレースの証拠には、available、not_linked、not_found、unavailable の4つの状態があります。それぞれの意味は概要を、カバレッジのフィールドは証拠の限界を参照してください。新しい SDK は、以前に送信したイベントにフィールドを追加しません。

1つのプロジェクトを調査する

1

未解決の課題を見つける

2

1件の課題を読む

保持されている課題の履歴を読みます。一覧で使った --since フィルターは適用されません。
3

利用できるトレースを開く

トレース ID は、選択した発生事象がそれを返す場合にだけ使います。
4

関連する証拠を読む

ログ、アクション、メトリクスを、同じプロジェクト、サービス、環境、リリースで絞り込みます。時刻だけでシグナルを結び付けないでください。
レスポンスのフィールドについては、テレメトリ API とレスポンス形式を読んでください。