6f9e30698c3f8714b79178eebbda5a16703e6d39
[osm/MON.git] / plugins / OpenStack / Gnocchi / plugin_instance.py
1 """Gnocchi plugin for the OSM monitoring module."""
2
3 import logging as log
4
5 from plugins.OpenStack.Gnocchi.metrics import Metrics
6 from plugins.OpenStack.settings import Config
7
8
9 def register_plugin():
10 """Register the plugin."""
11 config = Config.instance()
12 instance = Plugin(config=config)
13 instance.config()
14 instance.metrics()
15
16
17 class Plugin(object):
18 """Gnocchi plugin for OSM MON."""
19
20 def __init__(self, config):
21 """Plugin instance."""
22 log.info("Initialze the plugin instance.")
23 self._config = config
24 self._metrics = Metrics()
25
26 def config(self):
27 """Configure plugin."""
28 log.info("Configure the plugin instance.")
29 self._config.read_environ("gnocchi")
30
31 def metrics(self):
32 """Initialize metric functionality."""
33 log.info("Initialize metric functionality.")
34 self._metrics.metric_calls()
35
36 register_plugin()