Closed
Description
Now that #16 is done, we should work on refining the metrics and the associated tags.
Right now we're publishing a "graphql.query"
timer metrics that's measuring the execution time of the query using a SimpleInstrumentation
. We're adding a "query"
tag with the actual query, and a "outcome"
tag describing the outcome of the query (success or error).
There are quite a few things to refine here:
- the
"query"
tag is not right, since it's publishing the raw query. Micrometer tags should be bounded and useful for building graphs. Unfortunately, the number of possible queries sent by clients are unbounded, and they can be very long, making it hard to use as a basis for graphs. Is there a way to derive useful information from the query without those downsides? - the
"operation"
and"errors"
informations are not used as a tag. In general, what information could we use as tags? - without entering the "tracing" domain, are there other things we could create metrics for?