Disclaimer: This is very much a work in progress and I haven't worked through the details or fretted over naming. The goal is to get feedback on the basics and iterate. Perhaps we'll find it is fatally flawed, but we got to start somewhere :)
I think there are likely two different schools of thought for how people will want to use these APIs:
- Ad-hoc usage - These are folks who want to add some metrics to their code with minimal effort.
- Localized code changes only, ideally within a single class in a single file
- Add no new types