From f6e29a66471f009e9c3f142970c1b113ed4f4e9e Mon Sep 17 00:00:00 2001 From: Jesse Newland Date: Sat, 5 May 2018 09:23:01 -0500 Subject: [PATCH] Add domain to labels and count state changes to Prometheus (#14253) * Add domain to labels * Count state changes --- homeassistant/components/prometheus.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/prometheus.py b/homeassistant/components/prometheus.py index dc1cbd945a7..96ed098567d 100644 --- a/homeassistant/components/prometheus.py +++ b/homeassistant/components/prometheus.py @@ -86,9 +86,16 @@ class Metrics(object): if hasattr(self, handler): getattr(self, handler)(state) + metric = self._metric( + 'state_change', + self.prometheus_client.Counter, + 'The number of state changes', + ) + metric.labels(**self._labels(state)).inc() + def _metric(self, metric, factory, documentation, labels=None): if labels is None: - labels = ['entity', 'friendly_name'] + labels = ['entity', 'friendly_name', 'domain'] try: return self._metrics[metric] @@ -100,6 +107,7 @@ class Metrics(object): def _labels(state): return { 'entity': state.entity_id, + 'domain': state.domain, 'friendly_name': state.attributes.get('friendly_name'), }