Akka Typed configuration

Starting with Akka 2.6 Cinnamon supports instrumenting Akka Typed. All Akka Typed actors share the same Actor class with custom functionality defined in the Behavior. For that reason report-by instance and group should be used. Report-by class is not supported for Akka Typed.

Actor configuration

Guardian

A typed ActorSystem has a top level guardian behavior passed in when creating the ActorSystem. To monitor it use the /user path:

cinnamon.akka.actors {
  "/user" {
     report-by = instance
  }
}

Other actors they can be configured either by group or by instance. For example if the guardian actor creates two children under /user/a and /user/b their child actors can be monitored as follows:

cinnamon.akka.actors {
  "/user/a/*" {
     report-by = group
  }
}
cinnamon.akka.actors {
  "/user/b/*" {
     report-by = instance
  }
}

The child actors of a will get reported per instance. The child actors of b will be reported together as a group.

Sharding configuration

Sharded actors are created under /system/sharding/<entity key name>/<shard-id>/<entity-id> and can be monitored as a group or per instance.

To configure all sharded actors for the shard type name type-name-1 to be reported together:

cinnamon.akka.actors {
    "sharded-group" {
      report-by = group
      includes = ["/system/sharding/type-name-1/*"]
      excludes = ["akka.cluster.sharding.Shard"]
  }
}

Or via instance for a shard type type-name-2:

cinnamon.akka.actors {
    "sharded-instance" {
      report-by = instance
      includes = ["/system/sharding/type-name-2/*"]
      excludes = ["akka.cluster.sharding.Shard"]
  }
}

The akka.cluster.sharding.Shard is parent of the entity actors when using sharding so is excluded.