{"id":13656527,"url":"https://github.com/ouven/akka-visualmailbox","last_synced_at":"2026-01-16T17:27:03.215Z","repository":{"id":57730181,"uuid":"59358662","full_name":"ouven/akka-visualmailbox","owner":"ouven","description":"A visualizer for your Akka message flows","archived":false,"fork":false,"pushed_at":"2019-01-16T10:51:59.000Z","size":330,"stargazers_count":152,"open_issues_count":0,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-10T09:37:50.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ouven.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-21T12:26:58.000Z","updated_at":"2024-09-01T21:17:46.000Z","dependencies_parsed_at":"2022-09-08T00:21:20.357Z","dependency_job_id":null,"html_url":"https://github.com/ouven/akka-visualmailbox","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouven%2Fakka-visualmailbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouven%2Fakka-visualmailbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouven%2Fakka-visualmailbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouven%2Fakka-visualmailbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ouven","download_url":"https://codeload.github.com/ouven/akka-visualmailbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250526532,"owners_count":21445191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T05:00:22.612Z","updated_at":"2026-01-16T17:27:03.203Z","avatar_url":"https://github.com/ouven.png","language":"Scala","funding_links":[],"categories":["Visualization"],"sub_categories":[],"readme":"# akka-visualmailbox\n\n[![Build Status](https://travis-ci.org/ouven/akka-visualmailbox.svg?branch=master)](https://travis-ci.org/ouven/akka-visualmailbox)\n[![Project Score](https://img.shields.io/badge/Project%20Score-%F0%9F%92%A9-brightgreen.svg)](https://img.shields.io)\n[![Project Mood](https://img.shields.io/badge/Project%20Mood-%F0%9F%98%84-brightgreen.svg)](https://img.shields.io)\n\nCurrent version: 1.1.0\n\nThis project wants to help you finding hotspots in your Akka application by visualizing your message flows\nlike it is shown on the next picture. Actors are displayed as nodes, message flows are displayed as arrows.\nThe thicker an arrow is displayed, the more messages have been sent this way. You can get the actor path by\nclicking the nodes. The number shown on a node represents the mailbox size of this actor.   \n\n![sample flow](./sample.png)\n\n## collector\nThe collector is the component that collects the mailbox data and sends it to the visualization server.\nTo integrate the collector into your project you just have to add the dependency to your build file \nand set the collector mailbox for the akka default dispatcher.\n\nbuild.sbt\n```sbt\nlibraryDependencies += \"de.aktey.akka.visualmailbox\" %% \"collector\" % \"1.1.0\"\n``` \n\napplication.conf:\n```\nakka.actor.default-mailbox.mailbox-type = \"de.aktey.akka.visualmailbox.VisualMailboxType\"\n```\n\nIt will collect your mailbox data and send it in chunks of 40 data sets or at least every second to the visualization server. \n\n## visualization\nThe visualisation component receives the mailbox data at `udp://0.0.0.0:60009`, which can be changed in the application.conf by overriding\n```\nde.aktey.akka.visualmailbox {\n  server {\n    address {\n      host: \"localhost\"\n      port: 60009\n    }\n  }\n}\n```\n\nIt servers a web surface at [http://localhost:8080](http://localhost:8080), that renders the messages with vis.js\nThe web server can be changed to listen at a different interface by overriding in the application.conf\n```\nde.aktey.akka.visualmailbox {\n  web.server {\n    address {\n      host: \"0.0.0.0\"\n      port: 8080\n    }\n  }\n}\n```\nIt uses the JavaScript keyword \"class\" and the \"EventSource\" API, so it is viewable with Chrome\n42+ or Firefox 45+. Other browsers I did not try.\n\n### run visualization with sbt\nTo run the server, you have to have `node.js` and `bower` installed.\nTo prepare the web part you need to do\n```bash\nbower install\n```\nin the project root directory, then\n```bash\nsbt \"project visualization\" run\n```\nto run the server.\n\n### run visualization with docker\nThere is docker image on [https://hub.docker.com](https://hub.docker.com/r/ouven/akka-visual-mailbox-visualization/).\nYou can run it with \n```bash\ndocker run -ti --rm -p 8080:8080 -p 60009:60009/udp ouven/akka-visual-mailbox-visualization\n```\n\n## sample-project\nThe sample project puts it all together, to show the usage and to play arround with pictures. You can run it with\n```bash\nsbt \"project sample-project\" run\n```\n  \n## common\nThe common project contains the protocol and common config stuff. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouven%2Fakka-visualmailbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fouven%2Fakka-visualmailbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouven%2Fakka-visualmailbox/lists"}