-
Notifications
You must be signed in to change notification settings - Fork 149
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
Gap in Kafka metrics instrumentation #711
Comments
The title of the ticket is a bit misleading. It is not a gap, none of the producer/consumer metrics are being sent to Newrelic. |
@meiao The private signature looks like it changed in 2.5.0 to use Timer instead of long. Instead of creating a new module it looks like I could just instrument both public poll methods. verifyInstrumentation passes open ended for this from 2.0.0. What do you think of this approach (PR linked below)? It would save having to create a new module I believe. |
It is not as simple as this. Lines 20 to 21 in 3b934f3
Which has instrumentation for the Line 39 in 3b934f3
@averkhovtsev-xm is right, we do not have instrumentation for 3.0.0. Only what the 2.0.0 provides and that is not enough. We do need to create a new instrumentation module for 3.0.0 since 0.10.0.0 has most of the instrumentation and is not applying to 3. And I would prefer that the 2.0.0 module does not apply to 3.0.0, to avoid confusion like this in the future. |
We also have to go back and find out what was the gap in version 2.0.0 or if it was just the lack of instrumentation for 3.0.0. Update: it was indeed not a gap as the customer was using Kafka 3.0.0. |
Any news on this? We've been struggling without metrics after our upgrade. |
This was delivered in the 7.8.0 agent. |
Description
The instrumentation modulecom.newrelic.instrumentation.kafka-clients-metrics-2.0.0
instrumentsKafkaConsumer#poll(Duration)
. This method is overloaded (KafkaConsumer#poll(long)
) and both call a private method.This means that if a customer is to call the overloaded method, no metrics will be recorded. So we should instrument the private method instead.Also, in newer versions of Kafka (3?) the private method has changed its signature, so we will probably have to create a new instrumentation module.While investigating the GTSE it was believed that the instrumentation module
kafka-clients-metrics-2.0.0
would apply to Kafka 3, as it is indicated in thebuild.gradle
file. But actually this module is an increment over thekafka-clients-metrics-0.10.0.0
and only instruments the new methods added in Kafka 2.We confirmed that the customer from the GTSE is using Kafka 3 and so a new instrumentation module is needed.
Reference
https://newrelic.atlassian.net/browse/GTSE-13566
Aha! Link: https://newrelic.aha.io/features/JAVA-385
The text was updated successfully, but these errors were encountered: