summaryrefslogtreecommitdiff
path: root/osprofiler/drivers/messaging.py
diff options
context:
space:
mode:
Diffstat (limited to 'osprofiler/drivers/messaging.py')
-rw-r--r--osprofiler/drivers/messaging.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/osprofiler/drivers/messaging.py b/osprofiler/drivers/messaging.py
index 47a8a81..4acf4fb 100644
--- a/osprofiler/drivers/messaging.py
+++ b/osprofiler/drivers/messaging.py
@@ -13,22 +13,28 @@
# License for the specific language governing permissions and limitations
# under the License.
+from oslo_utils import importutils
+
from osprofiler.drivers import base
class Messaging(base.Driver):
- def __init__(self, connection_str, messaging=None, context=None,
- transport=None, project=None, service=None,
- host=None, **kwargs):
+ def __init__(self, connection_str, project=None, service=None, host=None,
+ context=None, conf=None, **kwargs):
"""Driver sending notifications via message queues."""
+ oslo_messaging = importutils.try_import("oslo_messaging")
+ if not oslo_messaging:
+ raise ValueError("Oslo.messaging library is required for "
+ "messaging driver")
+
super(Messaging, self).__init__(connection_str, project=project,
service=service, host=host)
- self.messaging = messaging
self.context = context
- self.client = messaging.Notifier(
+ transport = oslo_messaging.get_notification_transport(conf)
+ self.client = oslo_messaging.Notifier(
transport, publisher_id=self.host, driver="messaging",
topics=["profiler"], retry=0)