Skip to content

Conversation

pjfanning
Copy link
Contributor

@pjfanning pjfanning commented May 18, 2025

  • There appear to be no existing tests for using Pekko or Akka typed actors
  • I may be incorrect but in my limited testing the underlying "user" actor seems to be the best one to track for typed actors
  • I have a test case in this PR but had to modify the runtime code to be able to track the "user" actor
  • If someone has a better understanding of what is best to monitor, I would be interested in feedback

I added this debug logging to kamon but omitted it from this PR. When greet-service/user was ignored because it was treated as a supervisor, none of the other actors that are created for the greet-service seemed to any metrics (see the test in the PR to see what the greet-service is). By changing the logic so that greet-service/user can be tracked, now I get some metrics.

16:50:12.742 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/] supervisor [true] tracked [false]
16:50:12.827 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/user] supervisor [true] tracked [false]
16:50:12.833 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system] supervisor [true] tracked [false]
16:50:12.849 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/log1-Slf4jLogger] supervisor [false] tracked [false]
16:50:12.853 [greet-service-pekko.actor.internal-dispatcher-4] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/log1-Slf4jLogger] supervisor [false] tracked [false]
16:50:12.905 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/log2-TestLogger] supervisor [false] tracked [false]
16:50:12.906 [greet-service-pekko.actor.internal-dispatcher-4] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/log2-TestLogger] supervisor [false] tracked [false]
16:50:12.910 [greet-service-pekko.actor.default-dispatcher-3] INFO  k.instrumentation.pekko.TestLogger - Slf4jLogger started
16:50:12.917 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/eventStreamUnsubscriber-1] supervisor [false] tracked [false]
16:50:12.917 [greet-service-pekko.actor.internal-dispatcher-4] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/eventStreamUnsubscriber-1] supervisor [false] tracked [false]
16:50:12.964 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/Materializers] supervisor [false] tracked [false]
16:50:12.965 [greet-service-pekko.actor.internal-dispatcher-2] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/Materializers] supervisor [false] tracked [false]
16:50:12.980 [greet-service-pekko.actor.internal-dispatcher-4] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/Materializers/StreamSupervisor-0] supervisor [false] tracked [false]
16:50:13.005 [pool-1-thread-1] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/localReceptionist] supervisor [false] tracked [false]
16:50:13.006 [greet-service-pekko.actor.internal-dispatcher-4] DEBUG k.i.p.instrumentations.ActorMonitor - Creating actor monitor for actor [greet-service/system/localReceptionist] supervisor [false] tracked [false]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant