is an implementation of from GraphQL Java that registers performance metrics about data fetching with Dropwizard s MetricsRegistry To turn it on either run the entire or just add to the list of instrumentations on your Annotations Next annotate the DataFetchers that you want to monitor with and or You can annotate either the method or the entire fetcher class Timers adds three timers DataFetcher s fully qualified class name get sync liftwizard graphql field GraphQL Class GraphQL field sync liftwizard graphql path path sync All three timers track the number of times each DataFetcher is called and the amount of time spent in the get method Although the timers measure the same thing they may not have identical values This would happen if the same DataFetcher is wired to multiple fields or is reached by multiple paths through the graph If your DataFetcher returns you ll get three additional timers with names ending in async instead of sync Rather than track the amount of time spent in these timers will track the amount of time until the complete Meters Timers are meters so if you want to know the number of times a fetcher is called annotate them with @Timer If you annotate your DataFetcher with the Intrumentation will add meters that track the number of items returned by the DataFetcher If the returns a or the meter will increment by the size of the Collection ExceptionMeters adds meters that track the number of times the DataFetcher throws uncaught exceptions plus the number of CompleteableFutures they return that complete exceptionally The meters have the same names as the timers but with the suffix exceptions DataFetcher s fully qualified class name get exceptions liftwizard graphql field GraphQL Class GraphQL field exceptions liftwizard graphql path path exceptions lives in the module LiftwizardGraphQLMetricsInstrumentation Instrumentation LiftwizardGraphQLBundle LiftwizardGraphQLMetricsInstrumentation GraphQLFactory GraphQLFactory factory Clock clock Clock systemUTC var metricsInstrumentation new LiftwizardGraphQLMetricsInstrumentation this metricRegistry clock var loggingInstrumentation new LiftwizardGraphQLLoggingInstrumentation List<Instrumentation> instrumentations List of metricsInstrumentation loggingInstrumentation factory setInstrumentations instrumentations @Timed @Metered @ExceptionMetered get @Timed CompleteableFuture get CompleteableFutures @Metered DataFetcher Collection CompleteableFuture<Collection> @ExceptionMetered LiftwizardGraphQLMetricsInstrumentation liftwizard graphql instrumentation metrics <dependency> <groupId>io liftwizard< groupId> <artifactId>liftwizard graphql instrumentation metrics< artifactId> < dependency>