Gustavo Anatoly : I feel a config file to enable a bunch of metrics is an overkill.
It's good to have the read / write metrics as default. For all other metrics, I was suggesting more like a single config such as :
stores.<store-name>.rocksdb.metrics.enable = [ all, none (default) ].
This is the simplest I can think of.
Another alternative is to let the user specify a list of additional configs. For example:
stores.<store-name>.rocksdb.metrics-list=<metric-name-1>,<metric-name2> ... <metric-name-i>
The above solution will only make sense if we can provide a comprehensive list of metrics that rocksdb exposes or the link to an existing list.
There are some other ways we can cut down on metrics:
- Check if the store has enabled WAL. If it has, add metrics related to that. Otherwise, skip it.
- Until we add multi-get api to Samza, you can remove the multi-get related metrics
I am ok with solution like above. But don't want to add the overhead of specifying this in a separate config file, if that's what you meant in your comment.