The metrics implementation today supports adding a global metrics collector. However, this prevents structured analysis of individual requests and determining the influence of an individual request on higher level metrics.
One option would be to refactor the way metrics work today to have a metrique event (or multiple metrique events) produced from reach request. These events could be consumed by the metrics middleware & also exposed via a side channel to allow a caller to consume the events on a per-request basis.