-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KAFKA-15618: Kafka metrics collector and supporting classes (KIP-714) #14620
Conversation
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/LastValueTracker.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/Provider.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/Provider.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/SinglePointMetric.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/SinglePointMetric.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made a pass but did not get to the tests yet. Couple of minor questions.
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/LastValueTracker.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/LastValueTracker.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/SinglePointMetric.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/SinglePointMetric.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/SinglePointMetric.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/MetricsProvider.java
Outdated
Show resolved
Hide resolved
Thanks @AndrewJSchofield for approving the PR. @mjsax @xvrl @philipnee please if you can review again as well. |
Hi @apoorvmittal10 - Thanks for addressing the comments, I have no more. |
clients/src/test/java/org/apache/kafka/common/telemetry/internals/SinglePointMetricTest.java
Outdated
Show resolved
Hide resolved
clients/src/main/java/org/apache/kafka/common/telemetry/internals/KafkaMetricsCollector.java
Show resolved
Hide resolved
@xvrl Can you please re-review and let me know if fixing temporality change by resetting ledger in follow up PR makes sense? |
@AndrewJSchofield @philipnee Thanks for approving the PR. @xvrl I have also added support for handling temporality change in KafkaMetricsCollector (KAFKA-15877). Below is the status of build which reports 11 failing tests where none of the test is related to the changes in the PR. However I investigated and can find, among 11, 10 already have jira reported as per other PR build failure. I tried reproducing the 1 remaining tests and cannot reproduce hence have created jira to track same. @mjsax Please let me know if we can go ahead with the PR merge or I shall address something else as well? New failing - 11
|
Was actually hoping to get an official approval from @xvrl before merging, but I think the PR is ok and feature freeze deadline is close. Merged as-is. If there is more comments from Xavier, we can do a follow up PR to address them. |
Thanks @mjsax, make sense. I ll watch the PR if @xvrl's feedback arrives further. |
…KIP-714) (#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: #14620, #14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
…apache#14620) The PR outlines classes to collect metrics for client by KafkaMetricsCollector implementation. The MetricsCollector defines mechanism to collect client metrics in sum and gauge metrics format. This requires to define cumulative and delta telemetry metrics while collecting raw metrics. Singl point metric class helps creating OTLP format Metric object wrapped over Single point metric class itself. Reviewers: Andrew Schofield <aschofield@confluent.io>, Xavier Léauté <xavier@confluent.io>, Philip Nee <pnee@confluent.io>, Matthias J. Sax <matthias@confluent.io>
…KIP-714) (apache#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: apache#14620, apache#14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
…KIP-714) (apache#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: apache#14620, apache#14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
…apache#14620) The PR outlines classes to collect metrics for client by KafkaMetricsCollector implementation. The MetricsCollector defines mechanism to collect client metrics in sum and gauge metrics format. This requires to define cumulative and delta telemetry metrics while collecting raw metrics. Singl point metric class helps creating OTLP format Metric object wrapped over Single point metric class itself. Reviewers: Andrew Schofield <aschofield@confluent.io>, Xavier Léauté <xavier@confluent.io>, Philip Nee <pnee@confluent.io>, Matthias J. Sax <matthias@confluent.io>
…KIP-714) (apache#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: apache#14620, apache#14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
…apache#14620) The PR outlines classes to collect metrics for client by KafkaMetricsCollector implementation. The MetricsCollector defines mechanism to collect client metrics in sum and gauge metrics format. This requires to define cumulative and delta telemetry metrics while collecting raw metrics. Singl point metric class helps creating OTLP format Metric object wrapped over Single point metric class itself. Reviewers: Andrew Schofield <aschofield@confluent.io>, Xavier Léauté <xavier@confluent.io>, Philip Nee <pnee@confluent.io>, Matthias J. Sax <matthias@confluent.io>
…KIP-714) (apache#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: apache#14620, apache#14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
…apache#14620) The PR outlines classes to collect metrics for client by KafkaMetricsCollector implementation. The MetricsCollector defines mechanism to collect client metrics in sum and gauge metrics format. This requires to define cumulative and delta telemetry metrics while collecting raw metrics. Singl point metric class helps creating OTLP format Metric object wrapped over Single point metric class itself. Reviewers: Andrew Schofield <aschofield@confluent.io>, Xavier Léauté <xavier@confluent.io>, Philip Nee <pnee@confluent.io>, Matthias J. Sax <matthias@confluent.io>
…KIP-714) (apache#14843) The PR adds changes for the client APIs to register ClientTelemetryReporter, if enabled, and periodically report client metrics. The changes include front facing API changes with NetworkCLient issuing telemetry APIs. The PR build is dependent on: apache#14620, apache#14724 Reviewers: Philip Nee <pnee@confluent.io>, Andrew Schofield <aschofield@confluent.io>, Kirk True <ktrue@confluent.io>, Matthias J. Sax <matthias@confluent.io>, Walker Carlson <wcarlson@apache.org>
The PR (jira) outlines classes to collect metrics for client by KafkaMetricsCollector implementation. The MetricsCollector defines mechanism to collect client metrics in
sum
andgauge
metrics format. This requires to define cumulative and delta telemetry metrics while collecting raw metrics.Singl point metric class helps creating OTLP format
Metric
object wrapped over Single point metric class itself.The PR requires merge of other open PRs for successful build: #14575, #14618, #14619.
Committer Checklist (excluded from commit message)