Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

148 add token to a graphqlrestgrpcjava query to track queries for a single unit of work #275

Conversation

lukashornych
Copy link
Collaborator

No description provided.

novoj and others added 16 commits August 10, 2023 17:09
…ies for a single unit of work

We want clients to provide a new grouping information - a random token that could be used to group multiple requests with a single unit of work - such as rendering a single page. This unit of work could be tracked in monitoring and used to "debug" the frontstore and evaluate whether the client is using the API correctly.

For example, we might discover that a single page is rendering dozens of overlapping queries instead of one or two. We could also track the impact of prefetching and other techniques common in the modern JS world.

The database could also track the queries for each unit of work and create e-tags that allow frontstores to securely cache data locally, radically reducing latency and increasing throughput - static but up-to-date e-shops, yay!
…ies for a single unit of work

Added schematic integration to EvitaClient.
…to-track-queries-for-a-single-unit-of-work

# Conflicts:
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/CatalogDataApiGraphQLSchemaBuilder.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/CollectionSizeDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/CollectionsDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/GetEntityDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/GetUnknownEntityDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/ListEntitiesDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/ListUnknownEntitiesDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/dataApi/resolver/dataFetcher/QueryEntitiesDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/builder/CatalogSchemaSchemaBuilder.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/builder/EntitySchemaSchemaBuilder.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/resolver/dataFetcher/CatalogSchemaDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/resolver/dataFetcher/EntitySchemaDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/resolver/dataFetcher/ReferenceSchemaEntityTypeNameVariantsDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/catalog/schemaApi/resolver/dataFetcher/ReferenceSchemaGroupTypeNameVariantsDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/resolver/dataFetcher/ReadDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/system/resolver/dataFetcher/CatalogDataFetcher.java
#	evita_external_api/evita_external_api_graphql/src/main/java/io/evitadb/externalApi/graphql/api/system/resolver/dataFetcher/CatalogsDataFetcher.java
@lukashornych lukashornych merged commit 791cd4e into dev Oct 3, 2023
1 of 2 checks passed
@lukashornych lukashornych deleted the 148-add-token-to-a-graphqlrestgrpcjava-query-to-track-queries-for-a-single-unit-of-work branch October 3, 2023 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add token to a GraphQL/REST/gRPC/Java query to track queries for a single unit of work
3 participants