Add top-K support to runner usage CSV report
What does this MR do and why?
This MR:
- improves the implementation of the alpha-stage Mutations::Ci::Runners::ExportUsagemutation, so that the user can specify the number of projects to include in the report.
- adds a final <Other projects>line containing the aggregations for the projects that didn't make it to the list.
EE: true
Closes #426562 (closed)
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
| Before | After | 
|---|---|
|  |  | 
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- 
Start the clickhouse server ./clickhouse server 
- 
Run migrations bundle exec rake gitlab:clickhouse:migrate
- 
Run mutation in http://gdk.test:3000/-/graphql-explorer: Query: mutation runnersExportUsage($input: RunnersExportUsageInput!) { runnersExportUsage(input: $input) { errors } }Query variables: { "input": { "type": "INSTANCE_TYPE", "topK": 10 } }This will dispatch the worker asynchronously in Sidekiq, and the email should be available shortly in http://gdk.test:3000/rails/letter_opener/. 
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
- 
I have evaluated the MR acceptance checklist for this MR. 
Edited  by Pedro Pombeiro
