この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/graphql/graphql-spans/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

GraphQLサーバースパンに関するセマンティック規約

ステータス: Development

Status: Development

このスパンは、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:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
graphql.operation.nameDevelopmentRecommendedstring実行される操作の名前。findBookById
graphql.operation.typeDevelopmentRecommendedstring実行される操作の種別。query; mutation; subscription
graphql.documentDevelopmentOpt-Instring実行されるGraphQLドキュメント。[1]query findBookById { bookById(id: ?) { name } }

[1] graphql.document: 計装が機密情報を確実に識別・削除できる場合は、そうすべきです(SHOULD)。


graphql.operation.typeには、次のよく知られた値の一覧があります。これらのいずれかが該当する場合は、対応する値を使用しなければなりません(MUST)。そうでない場合は、独自の値を使用してもかまいません(MAY)。

ValueDescriptionStability
mutationGraphQL mutationDevelopment
queryGraphQL queryDevelopment
subscriptionGraphQL subscriptionDevelopment