-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
New Integration ProxySQL #6144
New Integration ProxySQL #6144
Conversation
ea0a387
to
02d1668
Compare
02d1668
to
6ac1c16
Compare
6ac1c16
to
74a21f2
Compare
f01ff44
to
30ba2cc
Compare
Codecov Report
|
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.
G2G doc wise after the small nits are integrated :)
Co-Authored-By: Pierre Guceski <pierre.guceski@datadoghq.com>
Co-Authored-By: Pierre Guceski <pierre.guceski@datadoghq.com>
Co-Authored-By: Pierre Guceski <pierre.guceski@datadoghq.com>
Co-Authored-By: Pierre Guceski <pierre.guceski@datadoghq.com>
Co-Authored-By: Pierre Guceski <pierre.guceski@datadoghq.com>
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 great! Some minor comments, mostly a doc discrepancy.
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.
Awesome!!!
) | ||
|
||
|
||
def get_check(instance): |
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.
For when we have multiple test files, may want to do this now #6117 (comment)
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.
But as a fixture you need to set an extra param in each test function.
In that case there is a single test file, but even with multiple, we could import the helper method from somewhere and I think it's cleaner to have a single import than updating every test signature.
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.
by that logic, what's the point of fixtures for config?
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 think a fixture is useful if you execute code in it. You read a file maybe, or you do a deepcopy of an integration config. By that mean, it abstracts a lot of complexity in your test, you just use the result of that fixture as a parameter of your tests.
If the result of your fixture is a static function that you could define what's the point? Seems more complex (the test runs the code of the fixture, gets the result, put in in an argument of the test, then you call that argument (because the result of that fixture was a function itself)....) than simply defining the function statically.
Co-Authored-By: Ofek Lev <ofekmeister@gmail.com>
Co-Authored-By: Ofek Lev <ofekmeister@gmail.com>
Co-Authored-By: Ofek Lev <ofekmeister@gmail.com>
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.
Excellent!
Hello, this does not seem to work with ProxySQL user specified in
|
For users in admin-stats_credentials, the 'stats' database is named 'main'. Also, there's no way for stats users to get the proxysql version. |
It's just my suggestion. I think it's not secure to use admin user for monitoring and I think it is possible to use user specified in |
ProxySQL is a new integration, originally implemented here
This PR is based on this implementation but a few changes are to be noted.
To show the full diff, you can use this permalink
Implementation-wise
proxysql.backend.connect
is emitted for each mysql backend that proxysql knows about. The value of the service check is based on the availability of the given backend.conf.yaml.example
is generated automatically.Metric-wise
proxysql.query_processor_time_ms
) that means the number of time spent doing a given thing are converted intotemporal_percent
(i.eproxysql.query_processor_time_pct
) that represent the amount of time spent in that state as a percentage of total time. This is generally easier to work with.proxysql.uptime
query_cache
metrics a rategauge
instead ofrate
everywhere. When the agent submits a rate, the backend type for that metric is agauge
slite3_memory
metric under the nameproxysql.memory.sqlite3_memory_bytes