Page MenuHomePhabricator

Create a Grafana dashboard for GraphQL metrics
Closed, ResolvedPublic5 Estimated Story Points

Description

Related Objects

Event Timeline

WMDE-leszek set the point value for this task to 5.Feb 26 2026, 11:06 AM
WMDE-leszek moved this task from Polished to Ready for planning on the Wikibase Reuse Team board.

https://grafana-rw.wikimedia.org/d/f306735c-e284-4564-a26b-9dd801f6c33c/graphql-beta?orgId=1&from=now-24h&to=now&timezone=utc&refresh=5m

some fields are not yet available, e.g.

there is no partial success in kubernetes namespace mw-api-ext for total hits yet

mediawiki_special_executeTiming_seconds{special="WikibaseGraphQL"}

Thanks for taking a stab at this! I have a few comments.

For total hits by status:

  • We want to display the request rate here, not just the total count going up. It should look similar to the first panel on the REST API dashboard. Note that the exact numbers may be off while there isn't a ton of data coming in yet :/
  • no need to select kubernetes_namespace. The number of debug requests should be negligible
  • (up for debate) I would not exclude introspection queries. They might outweigh other requests at the moment, but that will hopefully change very soon.

For errors: Similar to the hits panel, we want to show the error rate, not the total.

For field usage:

  • I like the beach ball looking pie chart. Maybe a sorted bar chart would be slightly easier to read? Could be worth a try
  • no need to select kubernetes_namespace
  • Instead of listing absolute numbers, maybe we only show the usage within the selected time range? I've tried something like this
sum by (field) (
    max_over_time(mediawiki_wikibase_graphql_field_usage_total[$__range])
)

For performace: Would be cool if we can make it look similar to this panel for the search module

Looks grand! Some pointers from my end:

  • Could you add a little explanation to every graph similar to how it's done in the REST API dashboard? (referring to the little 'i' on the top next to the header)
  • What is the 'State timeline' graph for?

The state timeline isn't totally necessary, and kind of redundant to the time series, but it might be useful to see quickly exactly when the api was used or when you get error spikes without the overlapping lines of the time series

If that graph is useful for the devs, I'd leave it otherwise I'd remove it and would consider this ticket done! thanks so much