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
ConstructorsConstructorDescriptionGraphQlObservationInstrumentation(io.micrometer.observation.ObservationRegistry observationRegistry) Create anGraphQlObservationInstrumentationthat records observations against the givenObservationRegistry.GraphQlObservationInstrumentation(io.micrometer.observation.ObservationRegistry observationRegistry, ExecutionRequestObservationConvention requestObservationConvention, DataFetcherObservationConvention dateFetcherObservationConvention) Create anGraphQlObservationInstrumentationthat records observations against the givenObservationRegistrywith 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, createStateAsync, instrumentDataFetcher, instrumentDocumentAndVariables, instrumentDocumentAndVariables, instrumentExecutionContext, instrumentExecutionContext, instrumentExecutionInput, instrumentExecutionInput, instrumentExecutionResult, instrumentExecutionResult, instrumentSchema, instrumentSchema
-
Constructor Details
-
GraphQlObservationInstrumentation
public GraphQlObservationInstrumentation(io.micrometer.observation.ObservationRegistry observationRegistry) Create anGraphQlObservationInstrumentationthat 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 anGraphQlObservationInstrumentationthat records observations against the givenObservationRegistrywith 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:
createStatein interfaceInstrumentation- Overrides:
createStatein classSimplePerformantInstrumentation
-
beginExecution
public InstrumentationContext<ExecutionResult> beginExecution(InstrumentationExecutionParameters parameters, InstrumentationState state) - Specified by:
beginExecutionin interfaceInstrumentation- Overrides:
beginExecutionin classSimplePerformantInstrumentation
-
instrumentDataFetcher
public DataFetcher<?> instrumentDataFetcher(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, InstrumentationState state) - Specified by:
instrumentDataFetcherin interfaceInstrumentation- Overrides:
instrumentDataFetcherin classSimplePerformantInstrumentation
-