GraphQL for Nest.js
Adds instrumentation for GraphQL. (default)
Import name: Sentry.graphqlIntegration
This integration is enabled by default when performance monitoring is enabled. If you'd like to modify your default integrations, read this.
The graphqlIntegration adds instrumentation for the graphql library to capture spans using @opentelemetry/instrumentation-graphql.
Sentry.init({
integrations: [Sentry.graphqlIntegration()],
});
Sentry.init({
integrations: [Sentry.graphqlIntegration()],
});
graphql:>=14.0.0 <17
Type: boolean
If spans for resolver functions should not be created. Default is true.
Type: boolean
If spans for the execution of the default resolver on object properties should not be created. Default is true.
When a resolver function is not defined on the schema for a field, GraphQL will use the default resolver which just looks for a property with that name on the object. If the property is not a function, it's not very interesting to trace. This option can reduce noise and number of spans created.
Type: boolean
By default, this option is true. When enabled, it records GraphQL operations on the enclosing root span in the sentry.graphql.operation attribute. Its effect on the root span name depends on the tracing mode:
In streaming mode, the root span name stays unchanged. Set the option to
falseto skip addingsentry.graphql.operationto the root span.In static mode, with
traceLifecycle: "static", enabling this option also appends operation names to thehttp.serverroot span name. For example,POST /graphqlbecomesPOST /graphql (query MyQuery). Requests containing multiple operations include each operation name, such asPOST /graphql (query Query1, query Query2). Set the option tofalseto skip the root span attribute and preserve the original root span name.
In both modes, the GraphQL span records graphql.operation.name and graphql.operation.type when available, regardless of this option.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").