-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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: Add noise plugin #10057
feat: Add noise plugin #10057
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.
Wow this is already quite nice @wizarq! Nevertheless, I have some comments. Please take a look and let me know once you are done.
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.
Thanks for the update @wizarq! Some more comments in the code, especially moving the fieldFilter
and noise
variables to the struct instead of using global variables and the use of the distuv.Rander
interface.
Furthermore, you have to add gonum.org/v1/gonum
to the license list in docs/LICENSE_OF_DEPENDENCIES.md
. Note the alphabetic order in that file. :-)
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.
Thanks for the very nice update @wizarq! I have some comments on the overflow/underflow checks and usage of table-based tests. Please take a look there.
📦 Looks like new artifacts were built from this PR. Expand this list to get them **here**! 🐯Artifact URLs |
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.
@wizarq nice update and I think we are almost there. Some minor comments remain though... Keep up the good work!
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.
Very good. Please remove the section from the sample config (see my comment) and fix the linter issues in README.md
then we are good to go (click on "Details" next to the red "X" for the findings)...
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.
Looks good to me. Thanks for your effort @wizarq!
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.
Thanks for the PR. Great test coverage!
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.
@wizarq I have two more comments. Furthermore, I'm not sure on how to proceed with the metric.Now()
inherent type conversion, so I'll leave this to the other guys. ;-)
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.
Beautiful @wizarq, just beautiful. Looks good to me. Thanks @wizarq for your effort!
@wizarq Could you resolve the go.mod conflict and we'll merge this? Thanks again! |
I fixed the conflict in |
📦 Looks like new artifacts were built from this PR. Expand this list to get them here ! 🐯Artifact URLs |
noise_type = "laplacian" | ||
include_fields = [] | ||
exclude_fields = ["usage_steal", "usage_user", "uptime_format", "usage_idle" ] | ||
namedrop = ["swap", "disk", "net"] |
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.
Using namepass = ["cpu"]
would make more sense in my opinion.
This PR adds a noise plugin which uses various probability density functions (Laplace, Gaussian, Uniform) to generate a random value, which is then used to modify the original field value. Exclusions for fields or metrics can be configured in the config file.
Required for all PRs:
resolves #10012