I've been trying to fix UserFeedbackConsole. I'm at the conclusion that we need to fundamentally change how it works internally and at that point we may as well look at other options.
There seem to be 3rd party metric dashboards which can be dropped in which will fix all our issues and potentially provide a lot lot more.
UserFeedbackConsole
Pros:
- Exists
- Generates UI automatically from schema
- Complete control
Cons:
- Downloads entire database
- Sloooooow/broken
- Can't do custom queries
Grafana
Pros:
- Used in kde sysadmin already
- Dave has a demo with kde telemetry
- Can import dashboards from JSON(i.e we could script the generation)
- Good time series support
- Easy to deploy
- Read only mode can publicly show aggregated stats without raw data access
Cons:
- Heavy focus on "realtime" and timebased things that we have to work round.
- Few graph types (not even a pie chart) without plugins.
Metabase
Pros:
- Designed around "questions" - you create transient or persistent queries which can be complex and then visualise it. Seems perfect for answering things like "how many panels do users with two screens use" and other more complex things.
- More visualisations than grafana
Cons:
- Gitlab style "premium"+open source model
- Java (but has a docker image)
- May need to do time series queries manually
- Maybe overkill?
Apache superset
https://superset.incubator.apache.org/
Pros:
- The most graph types
- Semantically mark the table, then things are mostly automagic
Cons:
- Apparently can't do joins natively in the frontend. We will need to create views in the SQL separately
- May need to do time series queries manually
Note: UserFeedbackConsole would still be needed for schema editing and surveys