-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Fix stackdriver client returning 0 for metric types of double #3788
Fix stackdriver client returning 0 for metric types of double #3788
Conversation
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.
Looking good
Thanks a lot for the fix, I left some comments inline and IDK if adding test to avoid regressions here is possible, but I'd be nice
/run-e2e gcp* |
Appreciate the feedback. It would be nice to have a test. I tried looking into but we are using the Google API so it makes it a little tougher. We could abstract the retrieval of the metrics call into an interface and use that throughout though. Then mock it in the tests. It might be okay assuming the client footprint is small. I'll update the PR based on your comments first and then see if I can get a test going. |
Could we test this using e2e tests? I mean, we have e2e test using gcp services, so if we can force this behaviour there (IDK how), we can check it, we don't need to mock anything. I asked because maybe unit test would cover this, but if we need e2e tests, we can do it. Maybe we could just update current e2e tests to enforce the usage of float64 |
@octothorped any update on this please? we plan to do a release in ~2 weeks. |
Sorry about the long delay. I will try to get an update in the next few days. I have been swapped with other work and this suddenly took a backseat. I will see about getting this finished. |
Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
cb780e5
to
24dafb1
Compare
@JorTurFer @zroubalik Can you re-review this PR please to see if we need to change things before our release on Thrusday? @octothorped Can you fix the open merge conflicts please? |
/run-e2e gcp* |
One thing, if
You can check how them should be comparing the with |
Updated the target value parameters to be Put out a PR that updates the documentation for the float changes. |
Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
2cd39eb
to
6809f98
Compare
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.
LGTM!
Thanks for the improvement! Let me trigger e2e test and once they pass, the PR is ready :)
/run-e2e gcp* |
…re#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
…re#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com>
…re#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com>
…re#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com>
…re#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com>
* fix: CVE-2022-3172 (#3693) Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * fix: Respect optional parameter inside envs for ScaledJobs (#3694) Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * fix(prometheus scaler): Detect Inf before casting float to int (#3762) * fix(prometheus scaler): Detect Inf before casting float to int Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es> * Improve the log message Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es> Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * fix(nats-jetstream): correctly count messages that should be redelivered (waiting for ack) towards keda value (#3809) * fix: keda now include the messages that should be retried in the count of pending messages used for scaling Signed-off-by: Antoine Laffargue <antoine.laffargue@gmail.com> * chore: update changelog Signed-off-by: Antoine Laffargue <antoine.laffargue@gmail.com> Signed-off-by: Antoine Laffargue <antoine.laffargue@gmail.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> * NewRelic scaler crashes on logging (#3946) Signed-off-by: Laszlo Kishalmi <laszlo.kishalmi@partech.com> Signed-off-by: Laszlo Kishalmi <laszlo.kishalmi@partech.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * Fix stackdriver client returning 0 for metric types of double (#3788) * Update stackdriver client to handle metrics of value type double Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * move change log note to below general Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * parse activation value as float64 Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> * change target value to float64 for GCP pub/sub and stackdriver Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * Fixing conflicts after cherry-pick Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> * fix: Close is called twice on PushScaler's deletion (#3599) Signed-off-by: ytz <1020560484@qq.com> Signed-off-by: taenyang <1020560484@qq.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> * fix/datadog-scaler-null-last-point (#3954) Signed-off-by: Tony Lee <dogzzdogzz@gmail.com> Signed-off-by: Tony Lee <tony.lee@shopback.com> Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com> Co-authored-by: Tony Lee <tony.lee@shopback.com> Co-authored-by: Zbynek Roubalik <zroubalik@gmail.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> * fix(mongodb): escape username and password (#3989) Fixes #3992 Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * Hacking generated files to version CI expects Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> * Updating aws-sdk and golang packages to fix CVEs Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * Updating golang/text package to fix CVE Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> * Using same version of aws sdk as in main Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> Signed-off-by: Pedro Tanaka <pedro.tanaka@shopify.com> Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es> Signed-off-by: Antoine Laffargue <antoine.laffargue@gmail.com> Signed-off-by: Pedro Tanaka <pedro.stanaka@gmail.com> Signed-off-by: Laszlo Kishalmi <laszlo.kishalmi@partech.com> Signed-off-by: Eric Takemoto <24865872+octothorped@users.noreply.github.com> Signed-off-by: ytz <1020560484@qq.com> Signed-off-by: taenyang <1020560484@qq.com> Signed-off-by: Tony Lee <dogzzdogzz@gmail.com> Signed-off-by: Tony Lee <tony.lee@shopback.com> Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com> Co-authored-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es> Co-authored-by: Antoine LAFFARGUE <antoine.laffargue@gmail.com> Co-authored-by: Laszlo Kishalmi <laszlo.kishalmi@gmail.com> Co-authored-by: Eric Takemoto <eric.takemoto@gocrisp.com> Co-authored-by: taenyang <1020560484@qq.com> Co-authored-by: Tony Lee <dogzzdogzz@gmail.com> Co-authored-by: Tony Lee <tony.lee@shopback.com> Co-authored-by: Zbynek Roubalik <zroubalik@gmail.com>
Updated the Stackdriver client to detect if a metric value type of
double
orint64
has been retrieved. Then it properly casts the value to the float64 to be used downstream by the scalars.This fixes a bug in which the Stackdriver metric is always returning a value of 0 for a metric value type of double. This is because the monitoring client is asserting the value type and if false will return 0.
Checklist
Fixes #3777