Repository: kafka Updated Branches: refs/heads/trunk 102903046 -> 7699b91f8
KAFKA-3785; Fetcher spending unnecessary time during metrics recording Author: Greg Fodor <[email protected]> Reviewers: Ismael Juma <[email protected]> Closes #1464 from gfodor/gfodor/kafka-3785 Project: http://git-wip-us.apache.org/repos/asf/kafka/repo Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/7699b91f Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/7699b91f Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/7699b91f Branch: refs/heads/trunk Commit: 7699b91f870f58e71dbdeddba79b58f009f9c0a2 Parents: 1029030 Author: Greg Fodor <[email protected]> Authored: Fri Jun 3 09:41:26 2016 +0100 Committer: Ismael Juma <[email protected]> Committed: Fri Jun 3 09:41:26 2016 +0100 ---------------------------------------------------------------------- .../apache/kafka/clients/consumer/internals/Fetcher.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kafka/blob/7699b91f/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java ---------------------------------------------------------------------- diff --git a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java index 0256fe7..ddfb584 100644 --- a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java +++ b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java @@ -770,13 +770,13 @@ public class Fetcher<K, V> { } public void recordTopicFetchMetrics(String topic, int bytes, int records) { - Map<String, String> metricTags = new HashMap<>(); - metricTags.put("topic", topic.replace(".", "_")); - // record bytes fetched String name = "topic." + topic + ".bytes-fetched"; Sensor bytesFetched = this.metrics.getSensor(name); if (bytesFetched == null) { + Map<String, String> metricTags = new HashMap<>(1); + metricTags.put("topic", topic.replace('.', '_')); + bytesFetched = this.metrics.sensor(name); bytesFetched.add(this.metrics.metricName("fetch-size-avg", this.metricGrpName, @@ -797,6 +797,9 @@ public class Fetcher<K, V> { name = "topic." + topic + ".records-fetched"; Sensor recordsFetched = this.metrics.getSensor(name); if (recordsFetched == null) { + Map<String, String> metricTags = new HashMap<>(1); + metricTags.put("topic", topic.replace('.', '_')); + recordsFetched = this.metrics.sensor(name); recordsFetched.add(this.metrics.metricName("records-per-request-avg", this.metricGrpName,
