Chris, 1) Generic JVM metrics >
There are many approaches on how to get JVM metrics out there, and Edward's suggestion seems pretty cool.. I'll just skip this item. 2) Generic Akka metrics (mailbox sizes, message rates, etc.) > Here comes the tricky part. I totally agree that having access to the mailbox size inside an actor is a bad idea and have no complaints about its removal from the actor API, but I would never say that it is discouraged to monitor mailbox sizes for some of your actors! In my experience with Akka, the most common cause of OutOfMemoryErrors are unbounded mailboxes pilling up messages because some part of the application got slower than we thought, in some areas of our apps where we didn't think that back pressure control was necessary... sometimes a little increase in processing times for an actor might seem harmless, if you only look at processing times, but it can end up pilling thousands of messages in a mailbox over time and a simple processing time increase might turn into a app crash.. you definitely want to keep an eye on some mailboxes on your application. Also, monitoring min and max mailbox sizes you get the correct answers to questions like ¿do I need to make this actor a router?, ¿do I need to tweak this dispatcher?, never underestimate the amount of info you can infer from looking at some mailbox metrics! You mentioned in your first post that the Typesafe Console is not recommended for production usage, but as far as I known there is no such limitation, I suggest you to ask for more information on the typesafe-console mailing list [1] to make sure you get the most up to date info. The applications we currently have in production are monitored by Kamon [2] and we are pushing our metrics data to NewRelic, but Kamon can offer you the metrics you want and you can then push those metrics to whatever metrics backend you prefer. We heard a lot about statsd lately so I just created an issue to track integration with statsd [3], which should be really easy to achieve. As mentioned on the "Why no mailbox size in Akka 2?" blog, the collections backing some mailbox implementations have O(n) time implementations of .size(), we are experimenting on attaching counters to message queues to overcome this problem and have a constant time implementation of .numberOfMessages, but that shouldn't be a limitation to monitoring mailboxes. I'll be writing more docs about how we do metrics collection and update you guys as soon as it is available in our site. Oh! we also have processing-time and time-in-mailbox metrics! 3) Application-specific metrics > Kamon also provides you with tracing facilities [4], the current documentation available on the site just talks about passing a TraceContext around, but that's not the only thing we do with traces, once a trace is finished we generate elapsed time metrics for the entire trace and Kamon can also automatically recognize when a request starts/ends for Spray applications (Play! support is almost there!). Kamon also has custom metrics support but it's API needs some more love before we spread the word. I can't show our NewRelic custom metrics dashboard since they contain some sensitive information, but here is a overview page for one of our applications [5] that is generated with the data we get out of Kamon. Currently Kamon can do a lot more than what you can see on our site, just give us some time and the info will be there :), feel free to ask anything you need on the mailing list [6], we are here to help. I hope you find this information useful, best regards! [1] https://groups.google.com/forum/#!forum/typesafe-console [2] http://kamon.io [3] https://github.com/kamon-io/Kamon/issues/24 [4] http://kamon.io/core/tracing/ [5] http://i.imgur.com/hq3TeeW.png [6] https://groups.google.com/forum/#!forum/kamon-user -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
