Comments (4)
Would the ch-operator team entertain a PR to expose these per-query statistics?
If you would like to make PR with new functionality, we'd consider it, of course. But it would be very good to discuss architectural/implementation details prior. We can use this thread to discuss as much details as possible.
from clickhouse-operator.
Sounds good!
The main per-query metrics I am interested in, and would propose as an MVP, would be
query_duration_ms
memory_usage
result_bytes
Each with the following labels
user
address
Then this could be exposed as a Prometheus Histogram
with set quantiles, i.e. 0.50, 0.90, 0.95, 0.99
.
The main architectural question in my mind is how to populate a histogram with the polling fetcher. One idea is to filter queries in the log that happened within the last 30s AND after the last query we have already processed. Would be great to get your thoughts on this, or potentially a better idea.
from clickhouse-operator.
Usually query_log is full of very different queries, and number of queries cluster-wise can be quite big.
So that data can be useful only in one very special case - when you need to monitor the execution of some very particular query which is expected to be executed close to constant time. Do you mean something like that? Do you plan to run some particular query (which always affect same number of rows) in some separated user?
That usecase sound like very-very limited, as usually you run different queries, with different conditions, affecting different time ranges, and putting them in some kind of graph seems useless. So direct comparison of such a different queries is simply not possible, and if you will try to draw a graph from that - it rather will be very noisy and useless.
Also AFAIR query_duration can be affected by client / network speed.
from clickhouse-operator.
Thanks for the thoughtful response. Our customers can perform many different queries via our API, but we want all of them to meet a certain latency requirement. Upon further thinking about this, we can also log query statistics in the query code (we are using FORMAT JSONCompact
, so all of the statistics come back with the query). It probably makes the most sense to do it in real-time there and avoid needing clickhouse to log all of the queries.
Closing for now, thanks again!
from clickhouse-operator.
Related Issues (20)
- [Question] How do I update the clickhouse-$INSTALLATION_NAME service to LoadBalancer from ClusterIP? HOT 5
- PVC request resize use size without SI suffix HOT 2
- Version update fails with authentication error HOT 6
- Change in user configuration leads to cluster restart HOT 6
- CHK example chk-examples/02-extended-3-nodes.yam doesn't work HOT 3
- Apply clickhouse-operator-install-bundle config changed,But the statefulset pods are not created with new config HOT 4
- Dashboard for ClickHouse Keeper HOT 1
- Intermittent errors: unable to decode an event from the watch stream: http2: client connection lost
- Restore selected single table HOT 8
- Configure volumeClaimTemplates.reclaimPolicy in clickhouse keeper
- Max Replica Delay after upgrade to 23.8 HOT 12
- ClickHouse disk type with first upper letter HOT 4
- The generated CRD yaml can't pass `kubeconform -ignore-missing-schemas -strict` HOT 1
- Operator hammers the Kubernetes api-server on Clickhouse Keeper resource
- Grant ROLE to user created with operator HOT 1
- Clickhouse operator Logs Security issue : Password hash data getting printed in logs HOT 1
- 0.24.0 version of the operator is very confusing HOT 1
- How to install the operator in a custom namespace and watch for changes in all namespaces. HOT 1
- Adding an invalid label causes whole cluster to be removed HOT 4
- Buggy manual keeper setup config HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clickhouse-operator.