-
Notifications
You must be signed in to change notification settings - Fork 0
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
Applications Metrics Polling POC #4
Comments
I created a little diagram to show what is going on there. The DOUBT: what are we supposed to do when a tick fails? Also note that I called them |
Uhm.
@fntlnz could you be more precise about this?! What do you mean by overlapping? Are you referring to the fact that if the metric is slow to compute the number of desired containers and the rate is too high we can easily queues too many metric polling routines? I'll open a PR with some code addressing this issue and count on your (@fntlnz & @jnardiello) precious feedbacks. |
@atosatto Yep exactly that. Let's consider this: t0 -> metric1 check is fired As you can imagine allowing metrics to overlap and start in an un-managed way could lead to more problem than it solves |
For the failing metric thing I would choose the same option of your choice.
Mainly because if the check fails containers are untouched. I would expose an API or give a way to check programmatically if something is failing |
Very good. All what we need is the code! 😆 Thank you! |
Just submitted PR #5 to keep track of the changes to address this issue. |
We should definitively put down the initial reference implementation of the Application Metrics Polling system.
The responsibility of this system will be to execute the checks defined by the container label
kappa.metric
everykappa.rate
units of time.Available checks will be defined in the kappa configuration file.
Each metric should give kappa the desired number of active containers for the given service.
The communication between Kappa's Engine and the Applications Metrics Polling components will be implemented using async communication through channels. Each metric will be lazily spawned into its own goroutine.
The first implementation of the Applications Metrics Polling will rely on external bash scripts to actually perform the HTTP requests of cGroup queries to extract the number of desired instances of each container but the implementation will ease the creation of different Applications Metrics Polling implementations.
The text was updated successfully, but these errors were encountered: