Page MenuHomePhabricator

[SW] [QS-GUI] [TECH] Append `.index` to tracking namespace in wikibase.queryService.ui.App
Open, LowPublic8 Estimated Story Points

Description

We are already explicitly differentiating between .index and .embed in wikibase.queryService.ui.ResultView since T272128. When this was introduced, too many of the metrics were moved in Graphite, leading to the confusion of T302274.

As opposed to ResultView, App is only ever created for the index query gui, not the embedded variant. Nonetheless, it makes sense to track all its metrics under 'wikibase.queryService.ui.app.index' as well, for the sake of consistency.

Suggested process:

Acceptance criteria

  • Grafana board for Wikidata Query Service UI collects and displays all metrics again

In particular, this means that on the Button Clicks Grafana panel:

  • there is only 1 line for "restore" (though probably with a gap of a few months (no idea why))
  • the line for "shortUrlResult" on the index page does not suddenly stop in July '21

Details

Event Timeline

  • move all metrics data in Graphite related to App.js to the .index directory
    • there should be no longer any data under the old metric names in Graphite that could confuse people looking at it later

This sounds like a good end state, but for actually doing it, the procedure mentioned in T272128#7212540 – first copy, then check that the new metric name works, then delete the old name – also sounds sensible to me. (Though it’s not clear to me whether that procedure was actually followed in the end? The SAL message at T272128#7214750 just says “move”.)

  • move all metrics data in Graphite related to App.js to the .index directory
    • there should be no longer any data under the old metric names in Graphite that could confuse people looking at it later

This sounds like a good end state, but for actually doing it, the procedure mentioned in T272128#7212540 – first copy, then check that the new metric name works, then delete the old name – also sounds sensible to me. (Though it’s not clear to me whether that procedure was actually followed in the end? The SAL message at T272128#7214750 just says “move”.)

Good point and I agree that the copy, check, delete procedure was apparently mostly _not_ followed, though maybe differently then what the SAL message implies. Given that almost all the data still exists under its old metric name, it seems the "delete" step has mostly never happened?
The only exception seems to be the metrics for restore, but they are strange anyway, as they are the only metric with a multi-month gap for no good reason.

Hi @karapayneWMDE and @ItamarWMDE, I have a process question here: How should we in our new process best deal with small to medium follow-up tasks to limited investigations? I guess that ideally, we should somehow enable a quick follow-through to minimize context switching for the team. What are your thoughts on this?

Breakdown notes:

  • first, adding the .index to the metric namespace needs to be merged first
  • deployment of that should be coordinated with the analytics team and moving the metrics
  • we do not have access to Graphite ourselves and so will ask the Analytics team again to move the metrics, similar to T272128.
  • moving the metric might be more tricky if the target metrics name already exists for some dates
  • We should give analytics team a specific list of metrics to use
  • maybe we can pair on these metrics being moved with the analytics team?
  • document the process until we have some data science people ourselves
  • In Grafana, we likely want two queries, one for each button below wikibase.queryService.ui.app.index.buttonClick and one for wikibase.queryService.ui.app.embed.buttonClick

Change 809906 had a related patch set uploaded (by Noa wmde; author: Noa wmde):

[wikidata/query/gui@master] Append `.index` to tracking namespace in App.js

https://gerrit.wikimedia.org/r/809906

from backlog refinement: patch is ready but then metrics will need to updated to match.

I am pulling this for now, as too much time has passed for us to do this immediately.

ItamarWMDE removed the point value 5 for this task.Jan 18 2023, 4:55 PM

Task Review / Prio Notes

  • We removed the story point estimation as this was estimated a long time ago and with a different team composition
  • We want to take this into story time, we might need to work on the description of this task a little bit.
  • Would be nice to pair an Engineer with our future Data Analyst for onboarding purposes

Nonetheless, the tech priority is:

  • Does not affect end users /production
  • Does not affect development efforts
  • Does not affect onboarding efforts (even though it would be a good onboarding task)
  • Does affect additional stakeholders (in this case our Analytics efforts)
karapayneWMDE set the point value for this task to 8.Feb 7 2023, 11:08 AM
ItamarWMDE renamed this task from Append `.index` to tracking namespace in wikibase.queryService.ui.App to [SW] [QS-GUI] [TECH] Append `.index` to tracking namespace in wikibase.queryService.ui.App.Sep 20 2023, 2:59 PM

@Manuel @AndrewTavis_WMDE Is this something you require in Analytics? The only reason this is prioritized is that it was assumed to needed for analytics. But I see you removed it from your board.

Hi @ItamarWMDE, if I remember correctly, this task covers some technical debt from T302274.@Michael knows best if this is needed or not. I removed the task from the analytics board, as it has nothing to do with our currrent analytics work.

It's been a while. If I recall correctly, and after reading the description and quickly clicking on some of the links, the primary benefit would be that some Grafana dashboards would be less confusing. Especially https://grafana.wikimedia.org/d/000000290/wikidata-query-service-ui?viewPanel=12&orgId=1&from=now-5y&to=now (duplicate 'restore' line, three 'shortUrlResult' lines) and maybe other panels too, if they use that data. The stakeholder would be whoever cares about having and understanding the usage data of the Query Service GUI. To me that would be Product, but I don't understand the scope of responsibility here well enough in detail to say which Product person exactly.

A secondary benefit would be for our new Data Analyst to be onboarded to the weeds of this part of the wider analytics infrastructure. But obviously I'm the wrong person to say if that is still needed or when an opportune moment would be.

I guess a tertiary benefit would be resolving this confusing structure for the engineers working on the wiring for the WDQS GUI tracking.

So in terms of timing, I could see 3 occasions when it would be particularly opportune to tackle this issue:

  • When we want to make a decision informed by this data and so the confusing presentation caused by this is an issue
  • When our Data Analyst needs to do more work with this infrastructure and so this task would serve its onboarding benefit well
  • When we're starting to collect more data to be displayed there or in related panels, and this confusing structure makes it harder to understand whether we did right or made a mistake

Hope that helps, but I don't think I have looked into this for over a year.

Change #809906 abandoned by WMDE-leszek:

[wikidata/query/gui@master] Add `.index.` to tracking namespace in App.js

Reason:

Gerrit repository is going to be archived. Use Gitlab instead https://gitlab.wikimedia.org/repos/wmde/wikidata-query-gui/

https://gerrit.wikimedia.org/r/809906