-
Notifications
You must be signed in to change notification settings - Fork 8
Description
I have a library that needs to index Prometheus like metrics (e.g. call_latency(instance="101", region="us-east1", env="staging"}
Each metric is indexed by name as well as labels (region="us-east1"), with each entry being a roaring bitmap of the metric ids containing the label.
One reason for looking at an ART is because of path compression, since there is great redundancy in label names. The proposed schema is
"${label}_${value}" -> bitmap # all metrics with the key value pair
"${label} -> bitmap # all metrics with a given label, irrespective of value
I've tried to implement this in BLART but it seems like this is not supported as I get Prefix errors when adding "region" then "region=us-east1" (or the inverse).
My assumption was that it functioned as a trie, which means my use case would be possible. Is this a valid assumption or am I using the API incorrectly (try_insert)