Not sure if my implementation is really ideal. Atm the querier.go of prometheus does not supprt filter support for metric and label searches. please review if what I do is really ok :)
This pull request implements the following changes:
Ensure that the matchers are matched against the Tags Array/Column.
For LabelNames() the matchers are performed against the Tags array column (by using index.TaggedTermWhereN)
For LabelValues() the same is done + LIKE name=% is added as a where condition for Tag1.
If no matchers are provided graphite-clickhouse should work exactly like before.
If a matcher is provided it is matched against the Tags column.
In our case we use the stack with multi tenant support. So a proxy before graphite-clickhouse performs authentication and injects a label into all requests. {x=y}.
This change ensures that LabelNames() and LabelValues() only returns results which match {x=y}
Not sure if my implementation is really ideal. Atm the querier.go of prometheus does not supprt filter support for metric and label searches. please review if what I do is really ok :)
This pull request implements the following changes:
If no matchers are provided graphite-clickhouse should work exactly like before.
If a matcher is provided it is matched against the Tags column.
In our case we use the stack with multi tenant support. So a proxy before graphite-clickhouse performs authentication and injects a label into all requests. {x=y}.
This change ensures that LabelNames() and LabelValues() only returns results which match {x=y}
@bzed