Add log.singletons and .verbose to track singleton class creation. #5515
Singleton objects, usually created via
Singleton objects, usually created via `extend` or `def obj.meth`, frequently waste CPU cycles and memory. It's also easy to accidentally trigger an object to become a singleton. These properties will make it easy to track all singleton classes created by an application, along with an optional stack trace.
@kares Yeah I think it will be useful. If we see tons of new singleton classes being created long after an app has booted up, that's a red flag. We can flip the verbose flag and see where it's happening.
I am only logging the JVM trace here, though...perhaps I should log a "full" trace with interpreted Ruby frames intact? It's going to be LONG either way.