Open liangyuanpeng opened 2 years ago
@liangyuanpeng Thanks for your feedback, it makes a lot sense.
Do you want only the data of stats to be isolated according to the namespace, or all parameters of the command INFO are required?
Now kvrocks don't save stat data for each namespace, if we need make it we should save stat for each namespace.
we can change Server#stats
to a map that save namespace to stat mapping.
This will increase additional cost above:
info
command need to foreach all namespace stat and count sum/average.For 1rd we won't have thousands of namespace, so this memory usage is not large. For 2nd add namespace is low-frequency operation and it is fast. For 3rd if we think indirect addressing expensive, we can cache it in connect.(I don't think this is necessary) For 4rd this is not important.
I think them is acceptable. So do we need do it?
+1 it would be cool to have this use case is simple: we see the amount of keys is growing, but we have no idea in which namespace this happens, so now we need to check each namespace manually which is not convenient at all if you have a lot of namespaces
Search before asking
Motivation
Ref: https://github.com/apache/incubator-kvrocks/discussions/726 We are using the namespace to separate data between users and it works well. But the metrics from the info command stats didn't separate by namespace as well. As a user, we want to know the speed of commands for each namespace.
Solution
No response
Are you willing to submit a PR?