parca-agent
parca-agent copied to clipboard
Customizing labeling
We currently apply certain non-customizable labeling of data, but that may not be identical to how users label their other observability data. We should allow customizing target labels, in the Prometheus ecosystem, this is done via relabel configs, however, often relabeling is confusing especially to new-comers, so unless we conclude we need all of the functionality that relabeling provides, I'd be ok with investigating alternative paths as well.
Supporting relabel configs could also open the possibility for the creation of a "parca-agent-operator". This operator could use something similar to prometheus-operator's servicemonitor and podmonitor to decrease complexity for new-comers 🙂
I'm not convinced that's totally necessary. The whole point of this project is to always profile everything. I would prefer if we focused all our efforts on reducing resource usage as much as possible and always profile everything with a single relabel config.
Prometheus's relabel.Process(...)
can be re-used, probably around this line or within the writer's Write()
(I'll experiment)
https://github.com/parca-dev/parca-agent/blob/c869910ebe3ceb7e7f3d86062cf213031f2ab6a8/pkg/profiler/cpu/cpu.go#L272
And then, reflect changes in the UI as well.