As we are rolling out the user profile feature, we'd like to expand the [Usage API](https://www.elastic.co/guide/en/elasticsearch/reference/current/usage-api.html) to report usage stats of user profiles such as (1) number of enabled user profiles and (2) number of user profiles that are [activated](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-activate-user-profile.html) over the past X days. 

Response of the Usage API already contains a `security` field that groups relevant stats from security related features. We expect the new stats for user profiles should be added under it as well, for example:
```
{
  "security: {
    "user_profile": {
      "activated": 78,
      "recently_activated": 42  <1>
    }
  }
}
```
<1> The use of `recently_` is chosen to avoid the field to be tied to a specific time period so it is easier to evolve the definition in future.

x-pack/plugin/security/qa/profile/src/javaRestTest/java/org/elasticsearch/xpack/security/profile/ProfileIT.java
assertThat(domainsUsage.keySet(), equalTo(Set.of("my_domain", "other_domain")));
        @SuppressWarnings("unchecked")
        final List<String> myDomainRealms = (List<String>) castToMap(domainsUsage.get("my_domain")).get("realms");
        assertThat(myDomainRealms, containsInAnyOrder("default_file", "ldap1"));
        @SuppressWarnings("unchecked")
        final List<String> otherDomainRealms = (List<String>) castToMap(domainsUsage.get("other_domain")).get("realms");
        assertThat(otherDomainRealms, containsInAnyOrder("saml1", "ad1"));
    }
    public void testActivateGracePeriodIsPerNode() throws IOException {
        final Request activateProfileRequest = new Request("POST", "_security/profile/_activate");
        activateProfileRequest.setJsonEntity("""
            {
              "grant_type": "password",
              "username": "rac-user",
              "password": "x-pack-test-password"
            }""");
        final RestClient client = adminClient();
        final List<Node> originalNodes = client.getNodes();
        assertThat(originalNodes.size(), greaterThan(1));
        final Node node0 = originalNodes.get(0);
        
        
        
        
        
        final Node node1 = originalNodes.subList(1, originalNodes.size() - 1)
            .stream()
            .filter(node -> node.getHost().getHostName().equals(node0.getHost().getHostName()))
            .findFirst()
            .orElseThrow();