apoorvmittal10 opened a new pull request, #15251:
URL: https://github.com/apache/kafka/pull/15251

   The KIP-714 defines broker metrics 
[here](https://cwiki.apache.org/confluence/display/KAFKA/KIP-714%3A+Client+metrics+and+observability#KIP714:Clientmetricsandobservability-Metrics)
 which should help determining the client instances metrics managed by the 
broker. However, there is certain change as per the metrics defined in KIP and 
the implementation which have been highlighted below. We can discuss and either 
amend the KIP or the implementation, though I prefer the former.
   
   There are 2 ways 2 emit metrics in broker i.e. using Kafka Metrics or Yammer 
Metrics. I have used Kafka Metrics as want to have minimal dependency on Yammer 
(though open for suggestions).
   
   **Changes/Query** | Metric Name | Type | Group | Tags
   -- | -- | -- | -- | --
   What should be the name of the tag for broker's version and how can we fetch 
that as I do not see any placeholder in RequestContext?  | 
ClientMetricsInstanceCount | Gauge | ClientMetrics | version: broker's software 
version
   The metric is defined as Meter which according to KafkaMetrics requires 
another metric called Rate hence 2 metrics are emitted for same as 
`ClientMetricsPluginErrorCount` and `ClientMetricsPluginErrorRate` | 
ClientMetricsPluginErrorCount | Meter | ClientMetrics | 
client_instance_idreason (reason for the failure)
   The metric is defined as Meter which according to KafkaMetrics requires 
another metric called Rate hence 2 metrics are emitted for same as 
`ClientMetricsPluginExportCount` and `ClientMetricsPluginExportRate` | 
ClientMetricsPluginExportCount | Meter | ClientMetrics | client_instance_id
   The metric is defined as Meter which according to KafkaMetrics requires 
another metric called Rate hence 2 metrics are emitted for same as 
`ClientMetricsThrottleCount` and `ClientMetricsThrottleRate` | 
ClientMetricsThrottleCount | Meter | ClientMetrics | client_instance_id
   The metric is defined as Meter which according to KafkaMetrics requires 
another metric called Rate hence 2 metrics are emitted for same as 
`ClientMetricsUnknownSubscriptionRequestCount` and 
`ClientMetricsUnknownSubscriptionRequestRate` | 
ClientMetricsUnknownSubscriptionRequestCount | Meter | ClientMetrics | client 
version: client's software version
   The metric is defined as Histogram but generally we use `Avg` and `Max` as 
metrics to capture `latency` related metrics (which requires Histogram) hence I 
have 2 metrics for same as `ClientMetricsPluginExportTimeAvg` and 
`ClientMetricsPluginExportTimeMax` | ClientMetricsPluginExportTime | Histogram 
| ClientMetrics | client_instance_id
   
   
   <img width="454" alt="Screenshot 2024-01-24 at 10 30 40 AM" 
src="https://github.com/apache/kafka/assets/2861565/32172c3c-b098-49f7-b5d8-5eaabf73fcb1";>
   
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to