Apiman metrics can collect arbitrary headers (and query params) as per user configuration (once the relevant PR is merged, anyway!).
There are also a bunch of standard metrics that are always collected, so those are simple (i.e. always non-null columns)
For example, let's imagine the user decides they want to capture the X-Request-Id
header in the request and response, and X-Foo
in only the request.
In standard InfluxDB/QuestDB you can just dynamically add and remove columns for each one with some reasonable name.
Now they get something like: