Class ChainedInstrumentation
- java.lang.Object
-
- graphql.execution.instrumentation.ChainedInstrumentation
-
- All Implemented Interfaces:
Instrumentation
- Direct Known Subclasses:
NoContextChainedInstrumentation
@PublicApi public class ChainedInstrumentation extends java.lang.Object implements Instrumentation
This allows you to chain together a number ofInstrumentation
implementations and run them in sequence. The list order of instrumentation objects is always guaranteed to be followed and theInstrumentationState
objects they create will be passed back to the originating implementation.- See Also:
Instrumentation
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.common.collect.ImmutableList<Instrumentation>
instrumentations
-
Constructor Summary
Constructors Constructor Description ChainedInstrumentation(Instrumentation... instrumentations)
ChainedInstrumentation(java.util.List<Instrumentation> instrumentations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull InstrumentationContext<ExecutionResult>
beginExecuteOperation(InstrumentationExecuteOperationParameters parameters)
This is called just before the execution of the query operation is started.InstrumentationContext<ExecutionResult>
beginExecuteOperation(InstrumentationExecuteOperationParameters parameters, InstrumentationState state)
This is called just before the execution of the query operation is started.@NotNull InstrumentationContext<ExecutionResult>
beginExecution(InstrumentationExecutionParameters parameters)
This is called right at the start of query execution, and it's the first step in the instrumentation chain.InstrumentationContext<ExecutionResult>
beginExecution(InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called right at the start of query execution, and it's the first step in the instrumentation chain.@NotNull ExecutionStrategyInstrumentationContext
beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters)
This is called each time anExecutionStrategy
is invoked, which may be multiple times per query as the engine recursively descends down over the query.ExecutionStrategyInstrumentationContext
beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState state)
This is called each time anExecutionStrategy
is invoked, which may be multiple times per query as the engine recursively descends down over the query.@NotNull InstrumentationContext<ExecutionResult>
beginField(InstrumentationFieldParameters parameters)
This is called just before a field is resolved into a value.InstrumentationContext<ExecutionResult>
beginField(InstrumentationFieldParameters parameters, InstrumentationState state)
This is called just before a field is resolved into a value.@NotNull InstrumentationContext<ExecutionResult>
beginFieldComplete(InstrumentationFieldCompleteParameters parameters)
This is called just before the complete field is started.InstrumentationContext<ExecutionResult>
beginFieldComplete(InstrumentationFieldCompleteParameters parameters, InstrumentationState state)
This is called just before the complete field is started.@NotNull InstrumentationContext<java.lang.Object>
beginFieldFetch(InstrumentationFieldFetchParameters parameters)
This is called just before a fieldDataFetcher
is invoked.InstrumentationContext<java.lang.Object>
beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState state)
This is called just before a fieldDataFetcher
is invoked.@NotNull InstrumentationContext<ExecutionResult>
beginFieldListComplete(InstrumentationFieldCompleteParameters parameters)
This is called just before the complete field list is started.InstrumentationContext<ExecutionResult>
beginFieldListComplete(InstrumentationFieldCompleteParameters parameters, InstrumentationState state)
This is called just before the complete field list is started.@NotNull InstrumentationContext<Document>
beginParse(InstrumentationExecutionParameters parameters)
This is called just before a query is parsed.InstrumentationContext<Document>
beginParse(InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called just before a query is parsed.@NotNull InstrumentationContext<ExecutionResult>
beginSubscribedFieldEvent(InstrumentationFieldParameters parameters)
This is called each time a subscription field produces a new reactive stream event value and it needs to be mapped over via the graphql field subselection.InstrumentationContext<ExecutionResult>
beginSubscribedFieldEvent(InstrumentationFieldParameters parameters, InstrumentationState state)
This is called each time a subscription field produces a new reactive stream event value and it needs to be mapped over via the graphql field subselection.@NotNull InstrumentationContext<java.util.List<ValidationError>>
beginValidation(InstrumentationValidationParameters parameters)
This is called just before the parsed query document is validated.InstrumentationContext<java.util.List<ValidationError>>
beginValidation(InstrumentationValidationParameters parameters, InstrumentationState state)
This is called just before the parsed query document is validated.InstrumentationState
createState(InstrumentationCreateStateParameters parameters)
This will be called just before execution to create an object that is given back to all instrumentation methods to allow them to have per execution request statejava.util.List<Instrumentation>
getInstrumentations()
protected InstrumentationState
getSpecificState(Instrumentation instrumentation, InstrumentationState parametersInstrumentationState)
@NotNull DataFetcher<?>
instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters)
This is called to instrument aDataFetcher
just before it is used to fetch a field, allowing you to adjust what information is passed back or record information about specific data fetches.@NotNull DataFetcher<?>
instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state)
This is called to instrument aDataFetcher
just before it is used to fetch a field, allowing you to adjust what information is passed back or record information about specific data fetches.@NotNull DocumentAndVariables
instrumentDocumentAndVariables(DocumentAndVariables documentAndVariables, InstrumentationExecutionParameters parameters)
This is called to instrument aDocument
and variables before it is used allowing you to adjust the query AST if you so desire@NotNull DocumentAndVariables
instrumentDocumentAndVariables(DocumentAndVariables documentAndVariables, InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called to instrument aDocument
and variables before it is used allowing you to adjust the query AST if you so desire@NotNull ExecutionContext
instrumentExecutionContext(ExecutionContext executionContext, InstrumentationExecutionParameters parameters)
This is called to instrument aExecutionContext
before it is used to execute a query, allowing you to adjust the base data used.@NotNull ExecutionContext
instrumentExecutionContext(ExecutionContext executionContext, InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called to instrument aExecutionContext
before it is used to execute a query, allowing you to adjust the base data used.@NotNull ExecutionInput
instrumentExecutionInput(ExecutionInput executionInput, InstrumentationExecutionParameters parameters)
This is called to instrument aExecutionInput
before it is used to parse, validate and execute a query, allowing you to adjust what query input parameters are used@NotNull ExecutionInput
instrumentExecutionInput(ExecutionInput executionInput, InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called to instrument aExecutionInput
before it is used to parse, validate and execute a query, allowing you to adjust what query input parameters are used@NotNull java.util.concurrent.CompletableFuture<ExecutionResult>
instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters)
This is called to allow instrumentation to instrument the execution result in some way@NotNull java.util.concurrent.CompletableFuture<ExecutionResult>
instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called to allow instrumentation to instrument the execution result in some way@NotNull GraphQLSchema
instrumentSchema(GraphQLSchema schema, InstrumentationExecutionParameters parameters)
This is called to instrument aGraphQLSchema
before it is used to parse, validate and execute a query, allowing you to adjust what types are used.@NotNull GraphQLSchema
instrumentSchema(GraphQLSchema schema, InstrumentationExecutionParameters parameters, InstrumentationState state)
This is called to instrument aGraphQLSchema
before it is used to parse, validate and execute a query, allowing you to adjust what types are used.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface graphql.execution.instrumentation.Instrumentation
createState
-
-
-
-
Field Detail
-
instrumentations
protected final com.google.common.collect.ImmutableList<Instrumentation> instrumentations
-
-
Constructor Detail
-
ChainedInstrumentation
public ChainedInstrumentation(java.util.List<Instrumentation> instrumentations)
-
ChainedInstrumentation
public ChainedInstrumentation(Instrumentation... instrumentations)
-
-
Method Detail
-
getInstrumentations
public java.util.List<Instrumentation> getInstrumentations()
- Returns:
- the list of instrumentations in play
-
getSpecificState
protected InstrumentationState getSpecificState(Instrumentation instrumentation, InstrumentationState parametersInstrumentationState)
-
createState
public InstrumentationState createState(InstrumentationCreateStateParameters parameters)
Description copied from interface:Instrumentation
This will be called just before execution to create an object that is given back to all instrumentation methods to allow them to have per execution request state- Specified by:
createState
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a state object that is passed to each method
-
beginExecution
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginExecution(InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called right at the start of query execution, and it's the first step in the instrumentation chain.- Specified by:
beginExecution
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginExecution
public InstrumentationContext<ExecutionResult> beginExecution(InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called right at the start of query execution, and it's the first step in the instrumentation chain.- Specified by:
beginExecution
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginParse
@NotNull public @NotNull InstrumentationContext<Document> beginParse(InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called just before a query is parsed.- Specified by:
beginParse
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginParse
public InstrumentationContext<Document> beginParse(InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before a query is parsed.- Specified by:
beginParse
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginValidation
@NotNull public @NotNull InstrumentationContext<java.util.List<ValidationError>> beginValidation(InstrumentationValidationParameters parameters)
Description copied from interface:Instrumentation
This is called just before the parsed query document is validated.- Specified by:
beginValidation
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginValidation
public InstrumentationContext<java.util.List<ValidationError>> beginValidation(InstrumentationValidationParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before the parsed query document is validated.- Specified by:
beginValidation
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginExecuteOperation
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginExecuteOperation(InstrumentationExecuteOperationParameters parameters)
Description copied from interface:Instrumentation
This is called just before the execution of the query operation is started.- Specified by:
beginExecuteOperation
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginExecuteOperation
public InstrumentationContext<ExecutionResult> beginExecuteOperation(InstrumentationExecuteOperationParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before the execution of the query operation is started.- Specified by:
beginExecuteOperation
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginExecutionStrategy
@NotNull public @NotNull ExecutionStrategyInstrumentationContext beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters)
Description copied from interface:Instrumentation
This is called each time anExecutionStrategy
is invoked, which may be multiple times per query as the engine recursively descends down over the query.- Specified by:
beginExecutionStrategy
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
ExecutionStrategyInstrumentationContext
object that will be called back when the step ends
-
beginExecutionStrategy
public ExecutionStrategyInstrumentationContext beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called each time anExecutionStrategy
is invoked, which may be multiple times per query as the engine recursively descends down over the query.- Specified by:
beginExecutionStrategy
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
ExecutionStrategyInstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginSubscribedFieldEvent
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginSubscribedFieldEvent(InstrumentationFieldParameters parameters)
Description copied from interface:Instrumentation
This is called each time a subscription field produces a new reactive stream event value and it needs to be mapped over via the graphql field subselection.- Specified by:
beginSubscribedFieldEvent
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginSubscribedFieldEvent
public InstrumentationContext<ExecutionResult> beginSubscribedFieldEvent(InstrumentationFieldParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called each time a subscription field produces a new reactive stream event value and it needs to be mapped over via the graphql field subselection.- Specified by:
beginSubscribedFieldEvent
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginField
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginField(InstrumentationFieldParameters parameters)
Description copied from interface:Instrumentation
This is called just before a field is resolved into a value.- Specified by:
beginField
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginField
public InstrumentationContext<ExecutionResult> beginField(InstrumentationFieldParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before a field is resolved into a value.- Specified by:
beginField
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginFieldFetch
@NotNull public @NotNull InstrumentationContext<java.lang.Object> beginFieldFetch(InstrumentationFieldFetchParameters parameters)
Description copied from interface:Instrumentation
This is called just before a fieldDataFetcher
is invoked.- Specified by:
beginFieldFetch
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginFieldFetch
public InstrumentationContext<java.lang.Object> beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before a fieldDataFetcher
is invoked.- Specified by:
beginFieldFetch
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginFieldComplete
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginFieldComplete(InstrumentationFieldCompleteParameters parameters)
Description copied from interface:Instrumentation
This is called just before the complete field is started.- Specified by:
beginFieldComplete
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginFieldComplete
public InstrumentationContext<ExecutionResult> beginFieldComplete(InstrumentationFieldCompleteParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before the complete field is started.- Specified by:
beginFieldComplete
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
beginFieldListComplete
@NotNull public @NotNull InstrumentationContext<ExecutionResult> beginFieldListComplete(InstrumentationFieldCompleteParameters parameters)
Description copied from interface:Instrumentation
This is called just before the complete field list is started.- Specified by:
beginFieldListComplete
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this step- Returns:
- a non null
InstrumentationContext
object that will be called back when the step ends
-
beginFieldListComplete
public InstrumentationContext<ExecutionResult> beginFieldListComplete(InstrumentationFieldCompleteParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called just before the complete field list is started.- Specified by:
beginFieldListComplete
in interfaceInstrumentation
- Parameters:
parameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a nullable
InstrumentationContext
object that will be called back when the step ends (assuming it's not null)
-
instrumentExecutionInput
@NotNull public @NotNull ExecutionInput instrumentExecutionInput(ExecutionInput executionInput, InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called to instrument aExecutionInput
before it is used to parse, validate and execute a query, allowing you to adjust what query input parameters are used- Specified by:
instrumentExecutionInput
in interfaceInstrumentation
- Parameters:
executionInput
- the execution input to be usedparameters
- the parameters describing the field to be fetched- Returns:
- a non null instrumented ExecutionInput, the default is to return to the same object
-
instrumentExecutionInput
@NotNull public @NotNull ExecutionInput instrumentExecutionInput(ExecutionInput executionInput, InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to instrument aExecutionInput
before it is used to parse, validate and execute a query, allowing you to adjust what query input parameters are used- Specified by:
instrumentExecutionInput
in interfaceInstrumentation
- Parameters:
executionInput
- the execution input to be usedparameters
- the parameters describing the field to be fetchedstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a non null instrumented ExecutionInput, the default is to return to the same object
-
instrumentDocumentAndVariables
@NotNull public @NotNull DocumentAndVariables instrumentDocumentAndVariables(DocumentAndVariables documentAndVariables, InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called to instrument aDocument
and variables before it is used allowing you to adjust the query AST if you so desire- Specified by:
instrumentDocumentAndVariables
in interfaceInstrumentation
- Parameters:
documentAndVariables
- the document and variables to be usedparameters
- the parameters describing the execution- Returns:
- a non null instrumented DocumentAndVariables, the default is to return to the same objects
-
instrumentDocumentAndVariables
@NotNull public @NotNull DocumentAndVariables instrumentDocumentAndVariables(DocumentAndVariables documentAndVariables, InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to instrument aDocument
and variables before it is used allowing you to adjust the query AST if you so desire- Specified by:
instrumentDocumentAndVariables
in interfaceInstrumentation
- Parameters:
documentAndVariables
- the document and variables to be usedparameters
- the parameters describing the executionstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a non null instrumented DocumentAndVariables, the default is to return to the same objects
-
instrumentSchema
@NotNull public @NotNull GraphQLSchema instrumentSchema(GraphQLSchema schema, InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called to instrument aGraphQLSchema
before it is used to parse, validate and execute a query, allowing you to adjust what types are used.- Specified by:
instrumentSchema
in interfaceInstrumentation
- Parameters:
schema
- the schema to be usedparameters
- the parameters describing the field to be fetched- Returns:
- a non null instrumented GraphQLSchema, the default is to return to the same object
-
instrumentSchema
@NotNull public @NotNull GraphQLSchema instrumentSchema(GraphQLSchema schema, InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to instrument aGraphQLSchema
before it is used to parse, validate and execute a query, allowing you to adjust what types are used.- Specified by:
instrumentSchema
in interfaceInstrumentation
- Parameters:
schema
- the schema to be usedparameters
- the parameters describing the field to be fetchedstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a non null instrumented GraphQLSchema, the default is to return to the same object
-
instrumentExecutionContext
@NotNull public @NotNull ExecutionContext instrumentExecutionContext(ExecutionContext executionContext, InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called to instrument aExecutionContext
before it is used to execute a query, allowing you to adjust the base data used.- Specified by:
instrumentExecutionContext
in interfaceInstrumentation
- Parameters:
executionContext
- the execution context to be usedparameters
- the parameters describing the field to be fetched- Returns:
- a non null instrumented ExecutionContext, the default is to return to the same object
-
instrumentExecutionContext
@NotNull public @NotNull ExecutionContext instrumentExecutionContext(ExecutionContext executionContext, InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to instrument aExecutionContext
before it is used to execute a query, allowing you to adjust the base data used.- Specified by:
instrumentExecutionContext
in interfaceInstrumentation
- Parameters:
executionContext
- the execution context to be usedparameters
- the parameters describing the field to be fetchedstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a non null instrumented ExecutionContext, the default is to return to the same object
-
instrumentDataFetcher
@NotNull public @NotNull DataFetcher<?> instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters)
Description copied from interface:Instrumentation
This is called to instrument aDataFetcher
just before it is used to fetch a field, allowing you to adjust what information is passed back or record information about specific data fetches. Note the same data fetcher instance maybe presented to you many times and that data fetcher implementations widely vary.- Specified by:
instrumentDataFetcher
in interfaceInstrumentation
- Parameters:
dataFetcher
- the data fetcher about to be usedparameters
- the parameters describing the field to be fetched- Returns:
- a non null instrumented DataFetcher, the default is to return to the same object
-
instrumentDataFetcher
@NotNull public @NotNull DataFetcher<?> instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to instrument aDataFetcher
just before it is used to fetch a field, allowing you to adjust what information is passed back or record information about specific data fetches. Note the same data fetcher instance maybe presented to you many times and that data fetcher implementations widely vary.- Specified by:
instrumentDataFetcher
in interfaceInstrumentation
- Parameters:
dataFetcher
- the data fetcher about to be usedparameters
- the parameters describing the field to be fetchedstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a non null instrumented DataFetcher, the default is to return to the same object
-
instrumentExecutionResult
@NotNull public @NotNull java.util.concurrent.CompletableFuture<ExecutionResult> instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters)
Description copied from interface:Instrumentation
This is called to allow instrumentation to instrument the execution result in some way- Specified by:
instrumentExecutionResult
in interfaceInstrumentation
- Parameters:
executionResult
-CompletableFuture
of the result to instrumentparameters
- the parameters to this step- Returns:
- a new execution result completable future
-
instrumentExecutionResult
@NotNull public @NotNull java.util.concurrent.CompletableFuture<ExecutionResult> instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters, InstrumentationState state)
Description copied from interface:Instrumentation
This is called to allow instrumentation to instrument the execution result in some way- Specified by:
instrumentExecutionResult
in interfaceInstrumentation
- Parameters:
executionResult
-CompletableFuture
of the result to instrumentparameters
- the parameters to this stepstate
- the state created during the call toInstrumentation.createState(InstrumentationCreateStateParameters)
- Returns:
- a new execution result completable future
-
-