-
Notifications
You must be signed in to change notification settings - Fork 98
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
feat: expose pending messages and processing rate #79
Conversation
Signed-off-by: Derek Wang <whynowy@gmail.com>
package v1alpha1 | ||
|
||
// VertexInstance is a wrapper of a vertex instance, which contains the vertex spec and the instance information such as hostname and replica index. | ||
type VertexInstance struct { |
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.
👍
} | ||
} | ||
pendingMessages.With(labels).Set(float64(total / num)) | ||
} |
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.
should we emit these metrics to prometheus too?
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.
I assume you meant shall we display these metrics (they are already exposed/emmited) - This is the tricky part.
The pending_messages
and processing_rate
represent the vertex level metrics, not a pod, but we are exposing them from every individual pod, this will be a problem when displaying in the dashboard, that we should only display the metrics from one pod (or avg).
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.
This the reason of the discussion about should we only expose these metrics from 1 pod.
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.
we could expose from all pods, the numbers should be more or less the same.. we can let the user configure how they want to display avg/max/min etc?
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.
@Krithika3 WDYT?
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.
I agree with Vigith that we should expose from all the pods and let the user decide when they are displaying these metrics on the type of stat to be used. We just need to call this out specifically in our doc that these numbers are vertex level and should roughly be the same and the aggregation we need to use is just avg/max/min
?
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.
Sounds good.
Signed-off-by: Derek Wang <whynowy@gmail.com>
* feat: expose pending messages and processing rate Signed-off-by: Derek Wang <whynowy@gmail.com>
* feat: expose pending messages and processing rate Signed-off-by: Derek Wang <whynowy@gmail.com> Signed-off-by: Yashash H L <yashash_hl@intuit.com>
Signed-off-by: Derek Wang whynowy@gmail.com
Processing rate and pending message are exposed in each vertex's prometheus, which will be used later for auto scaling calculation.