I think it would be exceedingly useful with richer observability / introspection tools of runtime statistics if possible - for production environments - especially on the server side - it would be of great help to be able to ask certain questions that in development environments might be investigated with development tools like Instruments, which would not be an option to use in production environments.
To be specific, we'd have great use of enabling very basic statistics from both the Concurrency runtime and Swift in general, such that we at production sites can take statistics snapshots of e.g.:
- How many tasks have been created since startup
- How many tasks are currently waiting to be scheduled
- How many tasks have been finished since startup
- Which actors and classes have instances in the application, and how many have been allocated/destroyed?
Understanding it would incur some (optional) bookkeeping overhead, but having such fundamental questions answered would allow for much better understanding of complex application behaviour.
Have there been any discussion of adding such support? Any thoughts?
I'd love to be able to add support for such information to the Benchmark package.