Execution options are provided when a schema is made executable. The options range from allowing a maximum execution timeout to providing a maximum execution complexity.
We have built in some options that limit the execution engine in order to protect the overall performance of your GraphQL Server.
|EnableTracing||bool||Enables tracing for performance measurement of query requests. *|
|ExecutionTimeout||TimeSpan||The maximum allowed execution time of a query.|
|IncludeExceptionDetails||bool||Includes exception details into the GraphQL errors. **|
|MaxExecutionDepth||int?||The maximum allowed query depth of a query.|
|QueryCacheSize||int||The amount of queries that can be cached for faster execution.|
|MaxOperationComplexity||int?||null||The allowed complexity of queries.|
|UseComplexityMultipliers||bool?||null||Specifies if multiplier arguments are used to calculate the query complexity.|
|ForceSerialExecution||bool?||null||Used for EntityFramework to have request be done in one thread.|
* Performance tracing is based on Apollo Tracing. The specification can be found here.
** The exception details that are included into GraphQL errors can also be modified by implementing an
IErrorFilter. See more about that here.