Я создаю схему graphQL, используя аннотации Java. Спасибо библиотека graphql-spqr. Я вызываю код
GraphQLSchemaGenerator schemaGenerator = new GraphQLSchemaGenerator()
.withResolverBuilders(new AnnotatedResolverBuilder())
.withValueMapperFactory(new JacksonValueMapperFactory())
.withOperationsFromSingleton(<annotatedClassObject>);
GraphQLSchema schema = schemaGenerator.generate();
Приведенный выше код выполняется для каждого вызова API-интерфейса graphQL. Я знаю, что в библиотеке GraphQL Java задокументирована следующая строка.
/** Building this object is very cheap and can be done on each
* execution * if necessary. Building the schema is often not
* as cheap, especially if its parsed from graphql IDL schema
* format via {@link graphql.schema.idl.SchemaParser}.
*/
Есть ли способ собрать показатели того, сколько времени занимает каждый вызов для создания этой схемы?





Я автор graphql-spqr. Что я могу вам сказать, так это то, что вам определенно следует вызывать нет для каждого запроса. Документация по graphql-java относится к объекту GraphQL, создание которого действительно дешево, а вот схема - нет. SPQR сканирует всю иерархию классов при создании схемы, что в общем случае довольно дорого.
Каков именно ваш вариант использования? Зачем вам создавать новый экземпляр схемы при каждом вызове? Чего бы вы ни пытались достичь - почти наверняка есть лучший способ.
Что касается измерения времени, вы можете использовать JMH (Java Microbenchmark Harness).