-
Notifications
You must be signed in to change notification settings - Fork 40
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
Add support for more numeric types to oximeter #4091
Conversation
bnaecker
commented
Sep 14, 2023
- Adds support for all integral widths to fields
- Adds support for all integral widths to gauge and cumulative types
- Adds support for all integral widths to the histogram types
- Reworks methods for generating log-linear bins. This supports generating histograms with bin counts other than 10 and using bases other than 10. The handling of floating point values has also been reworked, including several stringent tests against a reference implementation for linearly-spaced values (NumPy). This is all pretty tricky given the well-known difficulties of comparing floating point types for equality, and we may want to avoid using floats for histogram supports in the future. Cautionary warnings in the type's documentation have been added in the meantime.
- Adds support for new types to the ClickHouse client, including tests for serialization of fields and measurements to the actual tables.
- Adds some USDT probes at the start / end of queries, including raw SQL.
Resolves #4058. Although this PR is pretty huge, it's also mostly mechanical. I've added support for: fields and measurements for all the integer types; cumulative This also kind of brings up an interesting question: should we support floating-point types at all? They're obviously tricky, but also very useful. Without them, a unit / resolution is basically required for anything meaningful, and those are not yet in place. There are a few interacting problems with them: difficulty of comparison; rounding errors; and ClickHouse's pretty lax formatting rules, which seem to print at most 7-8 digits of precision. I've opted to keep them so far, but I'm happy to revisit that. |
21de2d3
to
97b37fb
Compare
- Adds support for all integral widths to fields - Adds support for all integral widths to gauge and cumulative types - Adds support for all integral widths to the histogram types - Reworks methods for generating log-linear bins. This supports generating histograms with bin counts other than 10 and using bases other than 10. The handling of floating point values has also been reworked, including several stringent tests against a reference implementation for linearly-spaced values (NumPy). This is all pretty tricky given the well-known difficulties of comparing floating point types for equality, and we may want to avoid using floats for histogram supports in the future. Cautionary warnings in the type's documentation have been added in the meantime. - Adds support for new types to the ClickHouse client, including tests for serialization of fields and measurements to the actual tables. - Adds some USDT probes at the start / end of queries, including raw SQL.
97b37fb
to
7af2469
Compare