These are chat archives for akkadotnet/akka.net

29th
Jan 2015
Aaron Stannard
@Aaronontheweb
Jan 29 2015 06:02
@smalldave got the MultiNode TestKit up and running on my machine. Going to have it run the entire test suite overnight and see where it hangs. Do you think a visualizer for seeing which node failed which test and why would be helpful?
Roger Johansson
@rogeralsing
Jan 29 2015 06:53
@Aaronontheweb we really should start scetching on some beautiful dashboard for monitoring, how far did you get with your stuff back on marked up? you used graphite and grafana?
Aaron Stannard
@Aaronontheweb
Jan 29 2015 06:53
@rogeralsing StatsD + Graphite using the akka-monitoring plugin I wrote
very simple setup, but worked really well for me
especially when diagnosing some of the problems we had with Helios and Akka.Remote early on
There's a general purpose .NET library for connecting to lots of different types of monitoring systems that I found later on
Roger Johansson
@rogeralsing
Jan 29 2015 06:55
ok ok, I'm thinking we should put some effort in cosmetics to give a really nice impression for users if things work out from yesterdays chat
Aaron Stannard
@Aaronontheweb
Jan 29 2015 06:55
it's on Github, let me dig it up real quick - it includes some pretty bad-ass dashboards and stuff too
Roger Johansson
@rogeralsing
Jan 29 2015 06:58
I think we should take a peek at http://grafana.org/ I know Torkel the author and it's pretty darn nice looking
Aaron Stannard
@Aaronontheweb
Jan 29 2015 06:58
so here's what Metrics.NET can do
it has a general purpose way of describing stats you want to measure - they're the same conventions I used in Akka.Monitoring and what StatsD uses
you can use Graphite and a bunch of other datastores as a drain for those metrics
so you can use this to pump metrics into Grafana
so what I would propose that we do is build in a layer of monitoring hooks inside the internals of Akka.NET and use the same naming scheme I used in Akka.Monitoring
and use Metrics.NET as the accumulator for all of this stuff
and build in a system that periodically publishes those stats using a metrics drain to Grafana, StatsD, etc
make it pluggable just like the logging system
Aaron Stannard
@Aaronontheweb
Jan 29 2015 07:07
How does that sound @rogeralsing ?
btw, what I mean by > the same naming scheme I used in Akka.Monitoring
I had a way of automatically naming the metrics using the namespace of the actor's class and its path on the actor tree
so you could see metrics by actor class and by its /user/foo/foo2/ etc....
gives you a couple different views of where problems might be
Roger Johansson
@rogeralsing
Jan 29 2015 07:18
:+1: sounds good to me
Aaron Stannard
@Aaronontheweb
Jan 29 2015 07:18
awesome - do you want to take the lead on designing that?
Roger Johansson
@rogeralsing
Jan 29 2015 07:24
sure
Ill try help @Horusiath finish persistence too
Aaron Stannard
@Aaronontheweb
Jan 29 2015 07:25
:thumbsup: looking forward to seeing both of those become part of Akka.NET
I'm finding my way around the MultiNodeTestKit now - @smalldave did a great job with it.
Roger Johansson
@rogeralsing
Jan 29 2015 07:39
neat!
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 08:58
I don't have much free time right now, I've found some problems in specific areas eg. persistent actors with stashing. Akka.Persistence.TestKit is also fully operative, so it can be already used for custom Journal/SnapshotStore implementations.
I can set ignore flag on the few still failing tests (actually 10 out of 70-80 total) and push the persistence projects to upstream, so that anyone can start to experiment with them.
Roger Johansson
@rogeralsing
Jan 29 2015 10:41
That sounds good, Id like to dig into it
David Smith
@smalldave
Jan 29 2015 16:20
@Aaronontheweb I think a visualizer would be very helpful. Standard logging can be a bit overwhelming, there is so much going on. It would be great to be able to see the state of key actors in each remote / cluster node. Being able to watch the visualisation as multi-node tests were running would be a great feature.
Maybe something command line based like this :)
blessed
Not sure how much I'm joking
Andrew Skotzko
@skotzko
Jan 29 2015 16:47
:fire: :fire: :fire:
Aaron Stannard
@Aaronontheweb
Jan 29 2015 16:52
@smalldave only if I can follow it up with something like this: https://vegasshortsaleblog.files.wordpress.com/2010/08/matrix.gif
I kid I kid
no, I think a visualizer is a good idea - what I'm thinking I'm going to do is add some structure the logging output on the central test runner
Andrew Skotzko
@skotzko
Jan 29 2015 16:53
"You get used to it. I…I don’t even see the code. All I see is blonde, brunette, red-head. Hey, you uh… want a drink?” - @Aaronontheweb
Aaron Stannard
@Aaronontheweb
Jan 29 2015 16:54
so all of the messages get stored by Test / by Node
and make it easier to build them into a hierarchical UI of some sort
since we have the extra dimension of figuring out why each test failed on which node
Roger Johansson
@rogeralsing
Jan 29 2015 17:32
:beer:
David Smith
@smalldave
Jan 29 2015 17:57
that sounds good. cluster core daemon is a great candidate for that. it does a number of "Context.Become"s. it would be good to know what it currently was as well as what messages it had received
Avo M
@avoxm
Jan 29 2015 18:09
hey guys I am sorry if this sounds rather naive
on a higher level what are the advantages of akka.net over orleans
Andrew Skotzko
@skotzko
Jan 29 2015 18:11
@avoxm not at all. Actually several of the core contribs added some high level points about that same question on a reddit thread >> https://www.reddit.com/r/programming/comments/2tb72x/akka_in_net_one_year_later_xpost_from_rdotnet/
think @Aaronontheweb and @Horusiath added a lot there
Avo M
@avoxm
Jan 29 2015 18:17
thanks for the link @skotzko
I'll check it
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 20:58
TIL that Props are not serialized by default serializer :)
Aaron Stannard
@Aaronontheweb
Jan 29 2015 20:58
in Akka.NET or the original Akka?
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 20:59
in our implementation
Aaron Stannard
@Aaronontheweb
Jan 29 2015 20:59
interessant
what serializer do we use?
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 20:59
JSON.NET - i received a Props message but it was all-default setup
Aaron Stannard
@Aaronontheweb
Jan 29 2015 21:00
.... ouch
that'll make remote deployment of actors slightly more exciting, and not in a good way :ambulance:
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 21:00
Default actor producer (throwing exception on produce) and default Actor (ActorBase) setup
Aaron Stannard
@Aaronontheweb
Jan 29 2015 21:01
Can you create an issue for that and mark it as a :bug:
lol, bug
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 21:01
yep
Aaron Stannard
@Aaronontheweb
Jan 29 2015 21:01
that's a pretty severe one too
but, good that we're finding this stuff out now
Aaron Stannard
@Aaronontheweb
Jan 29 2015 21:21
@avoxm created #571 with you in mind, Avo
err, #570
well technically both of them
as always, up to you if you want to work on that or not - but that's a pretty straightforward issue that will help introduce you to the guts of the Akka.NET code base
Aaron Stannard
@Aaronontheweb
Jan 29 2015 21:27
@Horusiath what do you think of #573 ?
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 22:23
I think that if we had implemented Akka.NET in F#, life would be easier ;)
it's quite important, but I don't know how much time I'll have in February, so I won't pick it unless I'll be sure that I actually have time to finish it
Roger Johansson
@rogeralsing
Jan 29 2015 22:33
Say what ? Are props not serialized?
Bartosz Sypytkowski
@Horusiath
Jan 29 2015 22:34
@rogeralsing take a look at #569 . I've attached an example code to repeat behavior