<html><head><title></title></head><body><!-- rte-version 0.2 9947551637294008b77bce25eb683dac --><div class="rte-style-maintainer rte-pre-wrap" data-color="global-default" bbg-color="default" data-bb-font-size="medium"bbg-font-size="medium" style="font-family: Arial, "BB.Proportional"; white-space: pre-wrap; font-size: small;"style="font-family: Arial, "BB.Proportional"; white-space: pre-wrap; font-size: small; color: rgb(0, 0, 0);">Hi There, <div><br></div><div>Currently Watcher supports many kinds of plugins, including actions, cluster data model collector, goals... In fact, it seems everything has plugins <span style="font-weight: bold;">except for</span> datasources (metrics). I wonder if there is any reason that so far Watcher doesn't provide plugins for datasources? </div><div><br></div><div>Another question is, if I'd like to build plugin infrastructure for datasources, which means changing this <a bbg-destination="https://opendev.org/openstack/watcher/src/branch/master/watcher/decision_engine/datasources/base.py#L28"spellcheck="false" data-destination="https://opendev.org/openstack/watcher/src/branch/master/watcher/decision_engine/datasources/base.py#L28"href="https://opendev.org/openstack/watcher/src/branch/master/watcher/decision_engine/datasources/base.py#L28">DataSourceBase</a> class so it extends <a bbg-destination="https://opendev.org/openstack/watcher/src/branch/master/watcher/common/loader/loadable.py#L22"spellcheck="false" data-destination="https://opendev.org/openstack/watcher/src/branch/master/watcher/common/loader/loadable.py#L22"href="https://opendev.org/openstack/watcher/src/branch/master/watcher/common/loader/loadable.py#L22">loadable.Loadable</a> and abc.ABCMeta, like other base classes for plugins, will this be supported by the community? I hope this idea will be supported, especially when there have already been several projects that tried to make datasources more flexible (<a bbg-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/formal-datasource-interface.rst"spellcheck="false" data-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/formal-datasource-interface.rst"href="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/formal-datasource-interface.rst">Formal Datasource Interface</a>, <a bbg-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/file-based-metricmap.rst"data-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/file-based-metricmap.rst"href="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/file-based-metricmap.rst"><span style="">File based Metric Map, </span></a> <a bbg-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/grafana-proxy-datasource.rst"spellcheck="false" data-destination="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/grafana-proxy-datasource.rst"href="https://opendev.org/openstack/watcher-specs/src/commit/e4cd2f807abc92c56a418639c021f92076cd5ac5/specs/train/implemented/grafana-proxy-datasource.rst">Grafana proxy datasource</a>...). It seems to me that we should just provide plugins for datasources so Watcher can work with any metric system that has been deployed. If I missed something and it isn't a good idea, please also let me know why. Looking forward to contributing to the community! </div><div><br></div><div>Regards, </div><div>Jing Geng  </div></div></body></html>