Measuring usage per API version, per client

A deprecation cannot complete without knowing who is still calling, and an aggregate request count answers none of the questions that matter.

$this->metrics->increment('api_requests_total', [
    'version'  => $route->version(),
    'endpoint' => $route->uri(),
    'client'   => $token->clientId(),      // bounded set
]);

// client id is safe as a label because it is a small,
// known set. an IP address or a user id is not.

The client identifier being a bounded set is what makes it usable as a metric label — a per-user breakdown belongs in a log and an aggregation query. Without the per-client dimension the only available action is a blanket announcement; with it, the conversation is with four specific integrators and is much shorter.