Writing a large GUI based application in Java and was wondering if there were any frameworks for monitoring an application once deployed to many end users. Sort of like when Eclipse periodically send your usage information etc. Apple does this sort of thing on iOS also I think.
I want to be able to know
1. which features and resources of the application are being used the most
2. crash reports
3. cpu and memory usage
If you want to keep it simple you can use a logging framework. Logback is a SL4J implementation that can send your logs using SMTP (password can be read by users!).
It can also use Loggly.
It should be a good start.
Gathering meaningful CPU and memory usage info in Java is not trivial. SLF4J can help you out a little bit with few classes for poor people : )