This is a general question but with a specific use case. There is only a single and completely unaffordable profiler for the Xamarin framework. So this makes me wonder if there are some programming methods to work around this? Maybe something similar to debugging programs without a debugger - relying on console/file logging etc.
I am guessing it boils down to capturing certain metrics at right moments and then storing them somewhere for subsequent analysis. Pretty charts and interactive call trees I guess are probably just a matter of presenting metrics and their context a right way. Is there any additional magic going on? Something like decorating every method with "Before" and "After" code via reflection? Maybe a way of accessing the CLR/JVM memory heaps is also necessary?