open-telemetry/opentelemetry-ruby-contrib

Follow semantic conventions for naming graphql spans

Open

#560 opened on Jul 13, 2023

View on GitHub
 (4 comments) (0 reactions) (1 assignee)Ruby (252 forks)auto 404
good first issuehelp wantedinstrumentation-graphqlkeep

Repository metrics

Stars
 (135 stars)
PR merge metrics
 (PR metrics pending)

Description

The current graphql instrumentation does not follow span naming conventions detailed here. The documentation states the following: The span name MUST be of the format <graphql.operation.type> <graphql.operation.name> provided that graphql.operation.type and graphql.operation.name are available. If graphql.operation.name is not available, the span SHOULD be named <graphql.operation.type>. When <graphql.operation.type> is not available, GraphQL Operation MAY be used as span name.

The relevant code looks to be here, where graphql.operation.type and graphql.operation.name are added as span attributes but the span is then named graphql.execute_query.

This change would also align with other libraries that already follow this convention, such as nodejs's instrumentation for graphql seen here.

Contributor guide