Profiling actor utilization and communication in Akka
Several programming languages and frameworks offer actor-based concurrency inspired by Erlang. Among them, Akka has been adopted in numerous applications and frameworks running on the Java Virtual Machine. Unfortunately, despite the spread of Akka-based applications, there are few dedicated profilers. In this paper, we aim at filling this gap by presenting a novel profiling tool for Akka applications. In contrast to existing profilers for Akka, our tool focuses particularly on actor utilization and on the communication between them. We evaluate our tool on various applications and frameworks in both parallel and distributed settings, such as Signal/Collect, Apache Spark and Apache Flink. Our results show that our profiler helps understanding actor utilization, investigating load balancing in computing frameworks, and analyzing communication performance in the message exchange process.