These are chat archives for akkadotnet/akka.net

23rd
Feb 2016
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 07:12
@rogeralsing question for dispatchers - since we know the throughtput used by a dispatcher, couldn't we somehow utilize this knowledge when dispatching messages? Default Schedule method totally lacks any context, that could be potentially used for optimization. Also I think, we have a little perf drop again - I remember some time ago, that ping-pong benchmark was able to do 27mln msgs/sec, now it's 23-25 mln msgs/sec
Roger Johansson
@rogeralsing
Feb 23 2016 07:14
Hmmmm, we havent touched the core for ages. Wonder what is causing it
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 07:15
the reason I ask is that I've created a dispatcher for Hopac. It turns out that for throughput = 1 it outperforms our default dispatcher (Hopac: 4.7mln vs Default: 3.6mln), but with the throughput increasing it looks much worse
Roger Johansson
@rogeralsing
Feb 23 2016 07:15
Id say that the mailbox pipeline is pretty tight though, scheduling only push to threadpool if there are no other messages on the queue
Oh
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 07:16
and I don't know Hopac, it could be probably optimized
Roger Johansson
@rogeralsing
Feb 23 2016 07:17
The big cost for t=1 is scheduling on the threadpool, if hopac has its own work queue that would explain why they are faster there
voltcode
@voltcode
Feb 23 2016 09:53
can I assign myself to an issue on github ?
Arjen Smits
@Danthar
Feb 23 2016 09:59
if you have the rights sure.
if not :P which issue are you talking about ?
Arjen Smits
@Danthar
Feb 23 2016 10:08
@voltcode ah your talking about #1720 right. Ill fix that for you
ah wait. cant. your not in the org.
voltcode
@voltcode
Feb 23 2016 10:23
@Danthar thanks for review, I'm new to github flow, could you please tell me what should I do after pushing new commit to my branch ?
Arjen Smits
@Danthar
Feb 23 2016 10:25
2 things. First your make your changes on your local branch
commit those on your local
then squash your commits
and maybe fetch the latest changes from the upstream repo and rebase on that. before pushing to your branch
once you push your changes to your branch. the PR will be synced
there are a few tutorials you can find online on how to do this.
petabridge has one as well
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 13:02
where can I find what is the latest version of akka in nightlies?
Andy Hunt
@AndyBursh
Feb 23 2016 14:08
Looking at the MyGet feed here, it doesn't look like the core Akka.Net project is built nightly.
$ nuget list -Source https://www.myget.org/F/akkadotnet/api/v2
Akka.Monitoring 0.5.1
Akka.Monitoring.ApplicationInsights 0.5.1
Akka.Monitoring.PerformanceCounters 0.5.1
Akka.Monitoring.StatsD 0.5.1
Marc Piechura
@marcpiechura
Feb 23 2016 16:16
@Aaronontheweb Is the Akka.Net job board still in use?
Riccardo Terrell
@rikace
Feb 23 2016 18:14
who does has experience in deploy Akka.Net on Docker?
Roger Johansson
@rogeralsing
Feb 23 2016 18:23
@rikace I think @annymsMthd has used Docker and Akka.NET
Riccardo Terrell
@rikace
Feb 23 2016 18:23
awesome!
Roger Johansson
@rogeralsing
Feb 23 2016 18:25
I'll be doing a docker akka.net cluster demo setup soon. With docker compose and docker networks it should be pretty simple now
yep, ill see if he has it in his repo
Riccardo Terrell
@rikace
Feb 23 2016 18:26
thank you
Roger Johansson
@rogeralsing
Feb 23 2016 18:28
found it
Riccardo Terrell
@rikace
Feb 23 2016 18:29
super awesome!
Zetanova
@Zetanova
Feb 23 2016 18:33
nice
Aaron Stannard
@Aaronontheweb
Feb 23 2016 19:56
@Silv3rcircl3 nah - that's been a little defunct for a while
Marc Piechura
@marcpiechura
Feb 23 2016 20:02
Too bad, looked like a good idea
Aaron Stannard
@Aaronontheweb
Feb 23 2016 20:06
it is a good idea but it takes more effort to run something like that properly than I'm able to commit at the moment
morioma
@morioma
Feb 23 2016 20:46
In Akka.net Cluster example, It seems the code is using Context.ActorOf to get remote IActorRef. But if I am in a child child child.. actor. The Context seems different. So I will get an exception when I try to Context.ActorOf(Props.Empty.WithRouter(FromConfig.Instance), "signalR"). So, my question is, How to get remote IActorRef when you are in a child child child actor?
The exception info is : Configuration problem while creating [akka://mysystem/user/dispatcher/$c/$b/$b/$b/$b/signalR] with router dispatcher [akka.actor.default-dispatcher] and mailbox and routee dispatcher [akka.actor.default-dispatcher] and mailbox [].
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 20:50
@matthewma do you want to get an actor, or to create it?
morioma
@morioma
Feb 23 2016 20:52
@Horusiath The actor is an cluster actor, it is in a remote location. I defined it in app.config. I want to get a IActorRef of it. I can correct and working IActorRef in my root actor. But in my child child child actor use the same Context.ActorOf(Props.Empty.WithRouter(FromConfig.Instance), "signalR") will throw exception.
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 20:53
why haven't you named your actors in hierarchy? Most of them have some anonymous names
morioma
@morioma
Feb 23 2016 20:54
@Horusiath You are right, I didn't name them because I think since I have the IActorRef I would not need to select them by name.
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 20:55
name is not necessary only for selections, it gives a logical context when you need to reason about actors
http://www.slideshare.net/ktoso/zen-of-akka - point 3. Hopefully there will be some video of this soon
morioma
@morioma
Feb 23 2016 20:57
@Horusiath Ok, got it. Are you saying because I didn't name them. It makes it impossible for me to define then in app.config, which in turn, caused my problem?
Bartosz Sypytkowski
@Horusiath
Feb 23 2016 20:58
ultimatelly you can provide correct path for configuration using wildcards, but I think, your problem lays somewhere else - more on the conceptual level
morioma
@morioma
Feb 23 2016 21:00
@Horusiath I'll try correct my path. and names. I think it might be a conceptual problem since I already got it working if I get an IActorRef at the root actor and pass it down to my child child child actor.
The slideshow seems real informative about akka and it may not be found easily when using English to search on the internet. I will bookmark it. and read it.
Thank you.
voltcode
@voltcode
Feb 23 2016 21:37
typesafe is no more, they renamed themselves to lightbend
Roger Johansson
@rogeralsing
Feb 23 2016 21:40
blend light cigarettes sort of have the same logo :P
man, the neck-beardy grumbling comments in that thread depress me
like dude - it's a name change. Doesn't mean they're abandoning scala
Roger Johansson
@rogeralsing
Feb 23 2016 21:49
ouch, when I looked this morning it was just one of those comments
morioma
@morioma
Feb 23 2016 21:52
Instead of use Hocon configuration, is there a way to express the following in code
/api/broadcaster {
    router = broadcast-group
    routees.paths = ["/user/api"]
    cluster {
            enabled = on
            max-nr-of-instances-per-node = 1
            allow-local-routees = on
            use-role = tracker
    }
}
Aaron Stannard
@Aaronontheweb
Feb 23 2016 21:52
yes
anything that can be done with HOCON can be done via the fluent interface off of Props
morioma
@morioma
Feb 23 2016 21:54
So, how to define the cluster part in code? Do you know off the top of your head?
Aaron Stannard
@Aaronontheweb
Feb 23 2016 22:02
var router = Sys.ActorOf(new ClusterRouterGroup(new BroadcastGroup("/user/api"), new ClusterRouterGroupSettings(0,  true, "tracker",  ImmutableHashset<string>.Create("/user/api"));
not sure I got the immutable collections API right
but that's basically it
morioma
@morioma
Feb 23 2016 22:07
@Aaronontheweb got it. I will try it out.
Thank you.
morioma
@morioma
Feb 23 2016 22:19
@Aaronontheweb There is a compile error saying the ActorOf() is looking for a Props but ClusterRouterGroup is not?

@Aaronontheweb Nevermind.

Context.ActorOf(Props.Empty.WithRouter(new ClusterRouterGroup(new BroadcastGroup("/user/api"), new ClusterRouterGroupSettings(1, true, "tracker", ImmutableHashSet.Create<string>("/user/api")))));

This worked. Thanks!