Minor thing but if `metrics` is really a `metric` and not a set or array of metrics it seems like you could either just change the parameter name to `metric` and either cast that instead of creating a new pointer.  Or you could use a new pointer but still not call the parameter variable plurally as I would have expecting more than one metric.  Like I said nothing major so no action needed.  Just a little unclear.