I don’t have a feedback for this yet, but I’d like to see some analytics reports for CloudKit performance. Things to capture stats, performance, failures, etc. lots of the data in the console, but exposed through analytics reports.
Related but different, if I had something like a generated OpenAPI client, I’d add instrumentation via client middleware. I could do most of what I’d want to instrument that way, status codes, timeouts, durations, payload sizes, etc.
Alternatively, if the CloudKit client API exposed URLSession, or a hook to the delegate / metrics, a lot of what I am interested in could be achieved via session task metrics too.
FB13628463 (CloudKit: Expose URLSessionTaskMetrics from CloudKit client)
This is a great enhancement request. For server-side telemetry the team has been working hard on the data available in CloudKit Console (e.g. with our revamped Telemetry charts, dashboards and alerting), but we understand it can be useful to have client-side metrics too. I've shared the existing feedback with the team to see what we can provide.
One quick note regarding your use of CloudKit Web Services in tandem with CloudKit.framework — the native CloudKit APIs are particularly efficient with the caching and chunking of CKAsset uploads and downloads. When dealing with records containing CKAsset fields specifically, you will likely find better performance and lower network overhead (particularly on retries) using CloudKit.framework over CKWS. That said we understand that it's not always obvious when assets are returned from cache vs. downloading over the network and this is a great enhancement idea.