Include runners in usage ping
Description
I'd like us to start learning what runner versions, platforms and architectures our customers use. This would help us to direct development effort on http://gitlab.com/gitlab-org/gitlab-ci-multi-runner
The current burning question is how widespread Windows runners are relative to other platforms, but it would be nice to be able to answer more questions than just that.
Proposal
The runners could be included in the usage ping with a query like:
Ci::Runner.online.group(:version, :platform, :architecture).count
The uploaded JSON might look like:
"runner_permutations": [
{"version":"1.6.0~beta.199.g6d8f982","platform":"windows","architecture":"i386","count":1},
{"version":"1.6.0~beta.199.g6d8f982","platform":"linux","architecture":"i386","count":1},
{"version":"1.6.0~beta.199.g6d8f982","platform":"linux","architecture":"amd64","count":5},
]
The immediate question could be answered like:
CI::Runner.online.group(:platform).count
"runner_platforms":{
"windows": 1,
"linux":6,
}
Simpler, but less generally useful. We might want to ask questions like "do we still need to support i386?" or "can we stop providing security updates for runner version 1.3", for instance.