tl;dr; apibeta seems way faster (and arguably better) than thrift api. What are the long term objectives for apibeta?
Hi, I've been working on some aurora integrations, primarily a blackbox monitoring tool at present, and was looking for the best way to communicate with the scheduler. For a large read-only example, I wanted to dump the latest scheduler status info for all our prod jobs, basically: for all roles: for all jobs in role: get scheduler status We have about 120 prod jobs in aurora right now (growing fast). I benchmarked 3 strategies against our prod cluster (mean of 5 tries each from remote vpn, variance was small in each case): 1) aurora2 client: ./aurora2 job status cluster/<role>/prod > /dev/null 126.0sec 2) golang thrift API 584.3sec (I might be able make a better task query, but still... this is for only ~120 calls) 3) Pure json apibeta client in golang 13.4sec (again, might be able to optimize query strategy) As a side note, getting the golang thrift client to work was a very painful and illuminating experience. I'm inclined to stick with apibeta. It's fast and the documentation is great. If api changes become a concern, well after today I'd honestly prefer rolling my own binding generator. Are there plans for /apibeta wrt /api?