この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/graphql/graphql-spans/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
GraphQLサーバースパンに関するセマンティック規約
ステータス: Development
Status:
このスパンは、GraphQLサーバー実装への受信操作を表します。
graphql.operation.typeが利用可能な場合、スパン名は{graphql.operation.type}という形式であるべきです(SHOULD)。graphql.operation.typeが利用できない場合、スパンはGraphQL Operationと名付けられるべきです(SHOULD)。
[!WARNING]
graphql.operation.nameの値はクライアントによって提供され、高いカーディナリティを持つ場合があります。これを(デフォルトで)GraphQLサーバースパン名に使うことは推奨されません(NOT RECOMMENDED)。
graphql.operation.nameが利用可能な場合に、{graphql.operation.type} {graphql.operation.name}という形式でより説明的なスパン名を有効にする設定オプションを、計装は提供してもかまいません(MAY)。
スパン種別はSERVERであるべきです(SHOULD)。
スパンステータスはエラーの記録文書に従うべきです(SHOULD)。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
graphql.operation.name | Recommended | string | 実行される操作の名前。 | findBookById | |
graphql.operation.type | Recommended | string | 実行される操作の種別。 | query; mutation; subscription | |
graphql.document | Opt-In | string | 実行されるGraphQLドキュメント。[1] | query findBookById { bookById(id: ?) { name } } |
[1] graphql.document: 計装が機密情報を確実に識別・削除できる場合は、そうすべきです(SHOULD)。
graphql.operation.typeには、次のよく知られた値の一覧があります。これらのいずれかが該当する場合は、対応する値を使用しなければなりません(MUST)。そうでない場合は、独自の値を使用してもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
mutation | GraphQL mutation | |
query | GraphQL query | |
subscription | GraphQL subscription |