New Relic の NerdGraph GraphiQL エクスプローラー を使って、 分散型トレーシング のデータを照会することができます。本ドキュメントで説明します。
- NerdGraphでしか得られないトレースメタデータ
- トレースデータのクエリ例
トレースメタデータ
スパンイベントとトランザクションイベントデータ に加えて、トレースとそのスパン関係に関する追加のメタデータを計算する。このメタデータを照会するには、 api.newrelic.com/graphiql にある NerdGraph GraphiQL エクスプローラーにアクセスします。
トレースレベルの追加データ
トレースレベルのメタデータ | 説明 |
---|
duration Ms
| このトレースの継続時間をミリ秒単位で指定します。 |
エンティティ
| このトレースの一部であるすべての エンティティ 。 |
エンティティカウント
| このトレースの一部であるエンティティの数です。 |
spanConnections
| このトレース内のすべてのスパンの関係を表す親子のID。 |
タイムスタンプ
| Unixエポックからのミリ秒単位でのトレースの開始時間](https://currentmillis.com/)。 |
スパンレベルの追加データ
スパンレベルのメタデータ | 説明 |
---|
クライアントタイプ
| クライアント・スパンの場合は、 DATASTORE または EXTERNAL と呼ばれるエンティティのタイプを示します。 |
entityGuid
| スパンを送信したエンティティの New Relic の識別子。 |
プロセスバウンダリ
| プロセス間の境界に対するスパンの位置: ENTRY , EXIT , または IN_PROCESS 。 |
spanAnomalies
| あるスパンで検出された異常は、そのスパンが発生する前の数時間に発生した類似のスパンと比較されます。異常なスパンは、 トレース UI に表示されます。 |
トレース構造とスパンの関係については、 トレース構造 を参照してください。
トレースデータの問い合わせ例
以下は、分散型トレースデータのNerdGraphクエリの例です。
この NerdGraph クエリの例では、トレースの traceId
を使って、トレースのすべてのデータを返す方法を示しています。なお、 属性
は、 Span
イベント属性 を返すために使用されます。
{
actor {
distributedTracing {
trace(traceId: "YOUR_TRACE_ID") {
spans {
attributes
clientType
durationMs
entityGuid
id
name
parentId
processBoundary
timestamp
traceId
spanAnomalies {
anomalousValue
anomalyType
averageMeasure
}
}
}
}
}
}
トレース構造とスパンの関係については、 トレース構造 を参照してください。
このNerdGraphクエリの例では、スパン間の関係に関するトレースレベルのメタデータを返す方法を示しています。
{
actor {
distributedTracing {
trace(traceId: "YOUR_TRACE_ID") {
id
timestamp
durationMs
spanConnections {
parent
child
}
}
}
}
}
トレース構造とスパンの関係については、 トレース構造 を参照してください。
このNerdGraphクエリの例では、 エンティティ に関連するトレースと、そのエンティティに関するいくつかのデータを返します。
{
actor {
distributedTracing {
trace(traceId: "YOUR_TRACE_ID") {
entities {
name
tags {
key
}
account {
name
}
}
}
}
}
}