quickwit-oss / quickwit-datasource

Quickwit data source for Grafana
GNU Affero General Public License v3.0
39 stars 9 forks source link

Refactor datasource features as mixins #91

Closed ddelemeny closed 4 months ago

ddelemeny commented 5 months ago

Why ? A datasource is a complex class implementing various functional aspects. On the abstract side, grafana splits the Datasource API into feature-sized interfaces.

Implementing features as mixins allow us to match that organization in our implementation, which hopefully translates into more readable code and more manageable chunks of logic as we implement more features.

It could also allow us to easily activate/deactivate a feature in a build, which may be handy when debugging and/or releasing.

See also : grafana/plugin-tools#783