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/src/test/java/org/elasticsearch/xpack/security/profile/ProfileServiceTests.java
assertThat(getException.getSuppressed(), arrayContaining(versionConflictEngineException));
        verify(service, times(1)).shouldSkipUpdateForActivate(any(), any());
        verify(service).doUpdate(any(), anyActionListener());
    }
    record SampleDocumentParameter(String uid, String username, List<String> roles, long lastSynchronized) {}
    private void mockMultiGetRequest(List<SampleDocumentParameter> sampleDocumentParameters) {
        mockMultiGetRequest(sampleDocumentParameters, Map.of());
    }
    private void mockMultiGetRequest(List<SampleDocumentParameter> sampleDocumentParameters, Map<String, Exception> errors) {
        doAnswer(invocation -> {
            assertThat(
                threadPool.getThreadContext().getTransient(ACTION_ORIGIN_TRANSIENT_NAME),
                equalTo(minNodeVersion.onOrAfter(Version.V_8_3_0) ? SECURITY_PROFILE_ORIGIN : SECURITY_ORIGIN)
            );
            final MultiGetRequest multiGetRequest = (MultiGetRequest) invocation.getArguments()[1];
            @SuppressWarnings("unchecked")
            final ActionListener<MultiGetResponse> listener = (ActionListener<MultiGetResponse>) invocation.getArguments()[2];
            client.multiGet(multiGetRequest, listener);
            return null;
        }).when(client).execute(eq(MultiGetAction.INSTANCE), any(MultiGetRequest.class), anyActionListener());
        final Map<String, String> results = sampleDocumentParameters.stream()
            .collect(
                Collectors.toUnmodifiableMap(
                    param -> "profile_" + param.uid,
                    param -> getSampleProfileDocumentSource(param.uid, param.username, param.roles, param.lastSynchronized)
                )
            );
        SecurityMocks.mockMultiGetRequest(
            client,
            SECURITY_PROFILE_ALIAS,