Class GraphQlObservationInstrumentation
java.lang.Object
graphql.execution.instrumentation.SimplePerformantInstrumentation
org.springframework.graphql.observation.GraphQlObservationInstrumentation
- All Implemented Interfaces:
Instrumentation
Instrumentation
that creates
observations
for GraphQL requests and data fetcher operations.
GraphQL request instrumentation measures the execution time of requests
and collects information from the ExecutionRequestObservationContext
.
A request can perform many data fetching operations.
The configured ExecutionRequestObservationConvention
will be used,
or the DefaultExecutionRequestObservationConvention
if none was provided.
GraphQL data fetcher instrumentation measures the execution time of
a data fetching operation in the context of the current request.
Information is collected from the DataFetcherObservationContext
.
The configured DataFetcherObservationConvention
will be used,
or the DefaultDataFetcherObservationConvention
if none was provided.
- Since:
- 1.1.0
- Author:
- Brian Clozel
-
Field Summary
Fields inherited from class graphql.execution.instrumentation.SimplePerformantInstrumentation
INSTANCE
-
Constructor Summary
ConstructorDescriptionGraphQlObservationInstrumentation
(io.micrometer.observation.ObservationRegistry observationRegistry) Create anGraphQlObservationInstrumentation
that records observations against the givenObservationRegistry
.GraphQlObservationInstrumentation
(io.micrometer.observation.ObservationRegistry observationRegistry, ExecutionRequestObservationConvention requestObservationConvention, DataFetcherObservationConvention dateFetcherObservationConvention) Create anGraphQlObservationInstrumentation
that records observations against the givenObservationRegistry
with a custom convention. -
Method Summary
Modifier and TypeMethodDescriptionbeginExecution
(InstrumentationExecutionParameters parameters, InstrumentationState state) createState
(InstrumentationCreateStateParameters parameters) DataFetcher<?>
instrumentDataFetcher
(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state) Methods inherited from class graphql.execution.instrumentation.SimplePerformantInstrumentation
beginExecuteOperation, beginExecuteOperation, beginExecution, beginExecutionStrategy, beginExecutionStrategy, beginField, beginField, beginFieldComplete, beginFieldComplete, beginFieldFetch, beginFieldFetch, beginFieldListComplete, beginFieldListComplete, beginParse, beginParse, beginSubscribedFieldEvent, beginSubscribedFieldEvent, beginValidation, beginValidation, createState, instrumentDataFetcher, instrumentDocumentAndVariables, instrumentDocumentAndVariables, instrumentExecutionContext, instrumentExecutionContext, instrumentExecutionInput, instrumentExecutionInput, instrumentExecutionResult, instrumentExecutionResult, instrumentSchema, instrumentSchema
-
Constructor Details
-
GraphQlObservationInstrumentation
public GraphQlObservationInstrumentation(io.micrometer.observation.ObservationRegistry observationRegistry) Create anGraphQlObservationInstrumentation
that records observations against the givenObservationRegistry
. The default observation conventions will be used.- Parameters:
observationRegistry
- the registry to use for recording observations
-
GraphQlObservationInstrumentation
public GraphQlObservationInstrumentation(io.micrometer.observation.ObservationRegistry observationRegistry, ExecutionRequestObservationConvention requestObservationConvention, DataFetcherObservationConvention dateFetcherObservationConvention) Create anGraphQlObservationInstrumentation
that records observations against the givenObservationRegistry
with a custom convention.- Parameters:
observationRegistry
- the registry to use for recording observationsrequestObservationConvention
- the convention to use for request observationsdateFetcherObservationConvention
- the convention to use for data fetcher observations
-
-
Method Details
-
createState
- Specified by:
createState
in interfaceInstrumentation
- Overrides:
createState
in classSimplePerformantInstrumentation
-
beginExecution
public InstrumentationContext<ExecutionResult> beginExecution(InstrumentationExecutionParameters parameters, InstrumentationState state) - Specified by:
beginExecution
in interfaceInstrumentation
- Overrides:
beginExecution
in classSimplePerformantInstrumentation
-
instrumentDataFetcher
public DataFetcher<?> instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state) - Specified by:
instrumentDataFetcher
in interfaceInstrumentation
- Overrides:
instrumentDataFetcher
in classSimplePerformantInstrumentation
-