summaryrefslogtreecommitdiff
path: root/kafka/producer/kafka.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-07-10 21:40:10 -0700
committerDana Powers <dana.powers@gmail.com>2016-07-16 14:05:50 -0700
commit9b5c5acd9a8ba044c90ce3583c6c5231369627d6 (patch)
tree8453a9c6e70f7f356463f4e12aa7ef5851d2cc81 /kafka/producer/kafka.py
parent7a6f2349ea05bda9ee6103e7f8214b9778ebcce6 (diff)
downloadkafka-python-9b5c5acd9a8ba044c90ce3583c6c5231369627d6.tar.gz
First stab at public metrics() interface for KafkaConsumer / KafkaProducer
Diffstat (limited to 'kafka/producer/kafka.py')
-rw-r--r--kafka/producer/kafka.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/kafka/producer/kafka.py b/kafka/producer/kafka.py
index 61cdc8b..70c0cd0 100644
--- a/kafka/producer/kafka.py
+++ b/kafka/producer/kafka.py
@@ -602,3 +602,18 @@ class KafkaProducer(object):
return self.config['partitioner'](serialized_key,
all_partitions,
available)
+
+ def metrics(self, raw=False):
+ """Warning: this is an unstable interface.
+ It may change in future releases without warning"""
+ if raw:
+ return self._metrics.metrics
+
+ metrics = {}
+ for k, v in self._metrics.metrics.items():
+ if k.group not in metrics:
+ metrics[k.group] = {}
+ if k.name not in metrics[k.group]:
+ metrics[k.group][k.name] = {}
+ metrics[k.group][k.name] = v.value()
+ return metrics