Re: [akka-user] using Akka with Kamon...

2015-05-29 Thread Ivan Topolnjak
Hello Albert, welcome to our community!

Thanks for sharing! The thing about including the actor system name is
true, but just from 0.4.0.. TS is using 0.3.5 and by then it wasn't
necessary, regards!

On Thu, May 14, 2015 at 11:15 PM Albert Gorski albgor...@gmail.com wrote:

 Hi,

 I'm also new in kamon but shuold't you specify actor-system name in the
 kamon configuration?
 You have :
 .
 actor   = [ user/myActor* ]
 

 and it should be like that (see docs
 http://kamon.io/integrations/akka/actor-router-and-dispatcher-metrics/):
 

 akka-actor {
 includes = [ my-app/user/job-manager, my-app/user/worker-* ]
 excludes = [ my-app/system/**, my-app/user/worker-helper ]}

 

 hope it helps :)

 Cheers

 Albert

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] using Akka with Kamon...

2015-05-29 Thread Ivan Topolnjak
TS,

you mentioned that you got actor metrics working with the log reporter..
now, assuming the data is being sent to the docker container, maybe you
have a little issue with the template filters included in the image? Please
take a look at our gitter channel from this point:
https://gitter.im/kamon-io/Kamon?at=55677f68f4f7d3367e67b125

On Fri, May 29, 2015 at 12:22 PM Ivan Topolnjak ivant...@gmail.com wrote:

 Hello Albert, welcome to our community!

 Thanks for sharing! The thing about including the actor system name is
 true, but just from 0.4.0.. TS is using 0.3.5 and by then it wasn't
 necessary, regards!

 On Thu, May 14, 2015 at 11:15 PM Albert Gorski albgor...@gmail.com
 wrote:

 Hi,

 I'm also new in kamon but shuold't you specify actor-system name in the
 kamon configuration?
 You have :
 .
 actor   = [ user/myActor* ]
 

 and it should be like that (see docs
 http://kamon.io/integrations/akka/actor-router-and-dispatcher-metrics/
 ):
 

 akka-actor {
 includes = [ my-app/user/job-manager, my-app/user/worker-* ]
 excludes = [ my-app/system/**, my-app/user/worker-helper ]}

 

 hope it helps :)

 Cheers

 Albert

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.



-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] using Akka with Kamon...

2015-05-13 Thread Ivan Topolnjak
TS,

The port where the docker image is listening for UDP packets is not the
same as the HTTP port for the Grafana dashboard. Please make sure that both
port 80 and 8125 are exposed and then point the kamon-statsd module to the
appropriate mappings.

If you run the image with this command: `docker run -d -p 80 -p 8125/udp
kamon/grafana_graphite` and then use `docker ps` you can see an output like
this:

CONTAINER IDIMAGE  COMMAND
   CREATED STATUS  PORTS
   NAMES
4455e6ba5f07kamon/grafana_graphite:2.0
/usr/bin/supervisor   2 seconds ago   Up 2 seconds8126/tcp,
*0.0.0.0:49153-8125/udp*, 0.0.0.0:49153-80/tcp   suspicious_carson

There you will see in the ports section which host port is mapped to the
8125/udp port in your container. In that example it is 49153, so you should
point kamon-statsd to something like 192.168.99.100 at port 49153 on your
setup.

Hope that it helps, regards!

On Tue, May 12, 2015 at 8:31 PM TS test.tester1...@gmail.com wrote:

 On OSX using Docker. Running the container using Kitematic. I have tried
 with VM IP and the port

 My Kamon dashboard that launches has
 http://192.168.99.100:32768/#/dashboard/db/welcome

 I see Actor metrics using LogReporter. However on the dashboard, I just
 see 'No datapoints'

 My statsd settings are

 kamon{


   statsd {

 hostname = 192.168.99.100

 port = 32768

 flush-interval = 2 second

 max-packet-size = 1024 bytes

 includes {

   actor   = [ user/myActor* ]

   trace   = [ * ]

   dispatcher  = [ * ]

 }

 report-system-metrics = true
 }

 On Tuesday, May 12, 2015 at 5:31:09 AM UTC-7, Ivan Topolnjak wrote:

 Hello TS!

 May I ask what operating system are you using? Please remember that if
 you are running on Windows or OSX then the Docker image is not really
 started in your localhost but rather on a Virtualbox VM, you will need to
 find the IP address of that machine and poing tha kamon-statsd module to
 that IP.. regards!


 On Mon, May 11, 2015 at 10:50 PM TS test.te...@gmail.com wrote:

 Diego, Thanks,

 I have installed the docker container for grafana/graphite/statsd.
 However netstat does not show port 8125 to be open. Tried without host and
 port for statsd.

 However, I do see these messages while starting

 2015-05-11 20:49:50,357 INFO supervisord started with pid 1 2015-05-11
 20:49:51,360 INFO spawned: 'statsd' with pid 8 2015-05-11 20:49:51,362
 INFO spawned: 'graphite-webapp' with pid 9 2015-05-11 20:49:51,365 INFO
 spawned: 'nginx' with pid 10 2015-05-11 20:49:51,367 INFO spawned:
 'carbon-cache' with pid 11 2015-05-11 20:49:51,369 INFO spawned:
 'elasticsearch' with pid 13 2015-05-11 20:49:51,373 INFO spawned:
 'dashboard_loader' with pid 14 2015-05-11 20:49:52,428 INFO success:
 statsd entered RUNNING state, process has stayed up for  than 1 seconds
 (startsecs) 2015-05-11 20:49:52,428 INFO success: graphite-webapp
 entered RUNNING state, process has stayed up for  than 1 seconds
 (startsecs) 2015-05-11 20:49:52,428 INFO success: nginx entered RUNNING
 state, process has stayed up for  than 1 seconds (startsecs) 2015-05-11
 20:49:52,428 INFO success: carbon-cache entered RUNNING state, process has
 stayed up for  than 1 seconds (startsecs) 2015-05-11 20:49:52,428 INFO
 success: elasticsearch entered RUNNING state, process has stayed up for 
 than 1 seconds (startsecs) 2015-05-11 20:49:52,428 INFO success:
 dashboard_loader entered RUNNING state, process has stayed up for  than 1
 seconds (startsecs)

 I can see the dashboard, However no metrics are shown. It says no data
 points. Any help is appreciated.

 I have this in my configuration

 kamon {


   #log-reporter {

 #need this as a placeholder

   #}



   metrics {

 filters = [

   {

 actor {

   includes = [ user/* ]

   excludes = [ system/* ]

 }

   },

   {

 trace {

   includes = [ * ]

   excludes = []

 }

   }

 ]


 tick-interval = 1 second

   }



   # ~~


   statsd {

 hostname = 127.0.0.1

 port = 8125

 flush-interval = 1 second

 max-packet-size = 1024 bytes

 includes {

   actor   = [ * ]

   trace   = [ * ]

   dispatcher  = [ * ]

 }


 report-system-metrics = true

   }

 On Saturday, May 9, 2015 at 1:58:00 AM UTC-7, Diego Parra wrote:

 Hi,

 you can try with:

 kamon {
 ...
 statsd {
 ...
 report-system-metrics = true
 ...
 }}


 Cheers,

 Diego.


 On Fri, May 8, 2015 at 10:27 PM, TS test.te...@gmail.com wrote:

 Never mind. I was missing some configuration.
 I do see

  kamon.logreporter.LogReporterSubscriber  : No user metrics reported

 I need to get the kamon configuration for actorCount etc.

 On Friday, May 8, 2015 at 6:16:44 PM UTC-7, TS wrote:

 OK.
 Good news: Using

Re: [akka-user] Akka with org.apache.log4j.MDC

2015-05-12 Thread Ivan Topolnjak
Hello guys!

As Yann said, the only Kamon thing that officially can be put in your log
patterns is the trace token via the provided converter, but, Kamon has
something called TraceLocal Storage which is basically a map where you
can put info and retrieve later on wherever you have access to the same
TraceContext, including support for providing key/value pairs that should
be available to MDC. We did not include any documentation on that feature
because it's API is a bit ugly and certainly not Java-friendly and we will
work on improving that soon [1], but if you want to give a try to the
current implementation then take a look at the hidden docs on that [2].

Let us know if you need any further assistance, regards!

[1] https://github.com/kamon-io/Kamon/issues/196
[2]
http://master.kamon.io/integrations/logback/mdc-in-an-asyncronous-environment/

On Tue, May 12, 2015 at 1:07 PM Yann Simon yann.simon...@gmail.com wrote:

 Le mar. 12 mai 2015 à 12:31, bysen...@gmail.com a écrit :

 Thanks a lot Yann! This is super cool :D. I'm still browsing the
 documents, would it be possible to use other conversionRule aside from
 *traceToken*


 conversionRule conversionWord=traceToken 
 converterClass=kamon.trace.logging.LogbackTraceTokenConverter/


 Yes, I think so but I have not checked it myself.
 But it seems quite easy: just write your own converter.


 I am planning to put my requestId in the metaData of the traceContext but
 I can't find the docs on how to modify the logback.xml for rules other than
 traceToken


 class RequestHandler() extends Actor with ActorLogging {

def receive: Receive = {
 case req: TypeA =
 val context = Kamon.tracer.newContext(req.requestId)
 context.addMetada(requestId, req.requestId)
 context.addMetada(otherKeyId, req.otherKeyId)

 Tracer.withNewContext(context){

   log.debug(RECEIVE req typeA)
   val thirdPartyA = context.ActorOf(thirdPartyA.props)
   thirdPartyA ! req
 }

}
 }

 logback.xml

 configuration
 conversionRule conversionWord=requestId converterClass=
 kamon.trace.logging.LogbackTraceTokenConverter/
 conversionRule conversionWord=otherKeyId converterClass=
 kamon.trace.logging.LogbackTraceTokenConverter/
 conversionRule conversionWord=name converterClass=
 kamon.trace.logging.LogbackTraceTokenConverter/

  appender name=STDOUT class=ch.qos.logback.core.ConsoleAppender
 filter class=ch.qos.logback.classic.filter.ThresholdFilter
 
  levelDEBUG/level
/filter
   encoder
   pattern%date{ISO8601} [%-5level] [%messageId] [%
 iccid] [%name] %logger{36} %X{sourceThread} - %msg%n/pattern
/encoder
   /appender

 ...
 /configuration



 [%messageId] [%iccid] [%name] still output the data for traceToken
 instead of the value I assigned for the name and metadata of the context


 I personally put the request ID in the context token, as the existing
 converter is implemented only for the context token.
 If we want to access different data, you need a different converter class
 for each of your conversionWord.



 Also, have you encountered this while using Kamon during startup?
 [error] objc[5646]: Class JavaLaunchHelper is implemented in both
 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/bin/java
 and
 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libinstrument.dylib.
 One of the two will be used. Which one is undefined.

 Yes, I see that. It has to do with Aspectj.
 I can recommend you to post your questions on the kamon users mailing
 list, they are very friendly and reactive.



 On Tuesday, May 12, 2015 at 2:30:39 PM UTC+8, Yann Simon wrote:

 another alternative is to use http://kamon.io/

 Use a trace context instead of MDC, and the trace context is propagated:
 http://kamon.io/integrations/akka/automatic-trace-context-propagation/
 Then, in your log configuration, use converter to access the data you
 put in the trace context:
 http://kamon.io/integrations/logback/trace-token-converter/


 Le mar. 12 mai 2015 à 08:18, byse...@gmail.com a écrit :

 Thanks Nils, I am planning to use this approach now, but how do you
 keep context between actors if you are using third party lib actors? I
 can't modify them to include the context in their messages.


 class RequestHandler() extends Actor with akka.actor.
 DiagnosticActorLogging{

   override def mdc(currentMessage: Any): MDC = {
 currentMessage match {

   case req: TraitWithRequestId = Map(requestId - req.id)
   case _ = Map()
 }
   }

def receive: Receive = {
  case req: TypeA =//TypeA extends
 TraitWithRequestId

 log.debug(RECEIVE req typeA) //logged with
 correct [requestId - someRandom]
 val thirdPartyA = context.ActorOf(thirdPartyA.props)
 thirdPartyA ! req

  case thirdPartyResponse =  

Re: [akka-user] using Akka with Kamon...

2015-05-12 Thread Ivan Topolnjak
Hello TS!

May I ask what operating system are you using? Please remember that if you
are running on Windows or OSX then the Docker image is not really started
in your localhost but rather on a Virtualbox VM, you will need to find the
IP address of that machine and poing tha kamon-statsd module to that IP..
regards!

On Mon, May 11, 2015 at 10:50 PM TS test.tester1...@gmail.com wrote:

 Diego, Thanks,

 I have installed the docker container for grafana/graphite/statsd. However
 netstat does not show port 8125 to be open. Tried without host and port for
 statsd.

 However, I do see these messages while starting

 2015-05-11 20:49:50,357 INFO supervisord started with pid 1 2015-05-11
 20:49:51,360 INFO spawned: 'statsd' with pid 8 2015-05-11 20:49:51,362
 INFO spawned: 'graphite-webapp' with pid 9 2015-05-11 20:49:51,365 INFO
 spawned: 'nginx' with pid 10 2015-05-11 20:49:51,367 INFO spawned:
 'carbon-cache' with pid 11 2015-05-11 20:49:51,369 INFO spawned:
 'elasticsearch' with pid 13 2015-05-11 20:49:51,373 INFO spawned:
 'dashboard_loader' with pid 14 2015-05-11 20:49:52,428 INFO success:
 statsd entered RUNNING state, process has stayed up for  than 1 seconds
 (startsecs) 2015-05-11 20:49:52,428 INFO success: graphite-webapp entered
 RUNNING state, process has stayed up for  than 1 seconds (startsecs) 
 2015-05-11
 20:49:52,428 INFO success: nginx entered RUNNING state, process has stayed
 up for  than 1 seconds (startsecs) 2015-05-11 20:49:52,428 INFO success:
 carbon-cache entered RUNNING state, process has stayed up for  than 1
 seconds (startsecs) 2015-05-11 20:49:52,428 INFO success: elasticsearch
 entered RUNNING state, process has stayed up for  than 1 seconds
 (startsecs) 2015-05-11 20:49:52,428 INFO success: dashboard_loader
 entered RUNNING state, process has stayed up for  than 1 seconds
 (startsecs)

 I can see the dashboard, However no metrics are shown. It says no data
 points. Any help is appreciated.

 I have this in my configuration

 kamon {


   #log-reporter {

 #need this as a placeholder

   #}



   metrics {

 filters = [

   {

 actor {

   includes = [ user/* ]

   excludes = [ system/* ]

 }

   },

   {

 trace {

   includes = [ * ]

   excludes = []

 }

   }

 ]


 tick-interval = 1 second

   }



   # ~~


   statsd {

 hostname = 127.0.0.1

 port = 8125

 flush-interval = 1 second

 max-packet-size = 1024 bytes

 includes {

   actor   = [ * ]

   trace   = [ * ]

   dispatcher  = [ * ]

 }


 report-system-metrics = true

   }

 On Saturday, May 9, 2015 at 1:58:00 AM UTC-7, Diego Parra wrote:

 Hi,

 you can try with:

 kamon {
 ...
 statsd {
 ...
 report-system-metrics = true
 ...
 }}


 Cheers,

 Diego.


 On Fri, May 8, 2015 at 10:27 PM, TS test.te...@gmail.com wrote:

 Never mind. I was missing some configuration.
 I do see

  kamon.logreporter.LogReporterSubscriber  : No user metrics reported

 I need to get the kamon configuration for actorCount etc.

 On Friday, May 8, 2015 at 6:16:44 PM UTC-7, TS wrote:

 OK.
 Good news: Using 2.3.10, no errors.
 However, I am using kamon log reporter. I do not see any actor metrics
 on my logs. Should I enable something on application.conf?


 On Friday, May 8, 2015 at 4:40:14 PM UTC-7, Ivan Topolnjak wrote:

 Oh, that can be a problem! We have not tested Kamon with 2.4 yet and
 probably the issue you are facing is due to Kamon's bytecode being liked 
 to
 certain Akka internals that changed between 2.3 and 2.4. Is it possible 
 for
 you to use Akka 2.3? I will let you know when we get ready to support Akka
 2.4, regards!

 On Sat, May 9, 2015 at 1:20 AM TS test.te...@gmail.com wrote:

 BTW, I am using akka 2.4-SNAPSHOT


 On Friday, May 8, 2015 at 3:54:41 PM UTC-7, TS wrote:

 This is what I have in the pom

 dependency

   groupIdio.kamon/groupId

   artifactIdkamon-core_2.11/artifactId

   version0.3.5/version

 /dependency

 dependency

   groupIdio.kamon/groupId

   artifactIdkamon-log-reporter_2.11/artifactId

   version0.3.5/version

 /dependency

 plugin

 groupIdorg.apache.maven.plugins/groupId

 artifactIdmaven-surefire-plugin/artifactId

 version2.18.1/version

 configuration

   argLine-javaagent:path to aspectjweaver
 -1.7.4.jar/argLine

 /configuration

   /plugin


 and in my application.conf


 extensions = [kamon.metric.Metrics]


 a test like will cause the error to happen.

  @Test

 public void testForFoo() {

 final TestActorRefFooActor ref = TestActorRef.create(
 system, Props.create(FooActor.class), testFoo);

 Object obj = ref
 .underlyingActor().testFoo(ByteString.fromArray(abc.getBytes()));

 }


 On Friday, May 8, 2015 at 4:47:36 AM UTC-7, Ivan Topolnjak wrote:

 Hello TS,

 I have been

Re: [akka-user] using Akka with Kamon...

2015-05-08 Thread Ivan Topolnjak
Hello TS,

I have been trying to find some additional info regarding this issue, but
couldn't find anything yet :(... is it possible for you to provide us a
little example to reproduce the issue?

On Fri, May 8, 2015 at 2:59 AM TS test.tester1...@gmail.com wrote:

 Ivan, Any updates on this. Thanks in advance.


 On Wednesday, May 6, 2015 at 11:05:54 AM UTC-7, TS wrote:

 Ivan, Sorry about the cross post. I was not sure where I should post. I
 am using Kamon 0.3.5

 On Wednesday, May 6, 2015 at 5:51:27 AM UTC-7, Ivan Topolnjak wrote:

 Hello TS!

 I just replied to you other email, please disregard that thread and post
 your answer here.. what Kamon version are you using?

 On Wed, May 6, 2015 at 3:07 AM TS test.te...@gmail.com wrote:

 I just started using Kamon. I am getting an error while weaving (This
 happens when my tests run. My surefire plugin has argLine with javaagent
 pointing to aspectjweaver.jar

 Any words of wisdom would be appreciated.

 Thanks in advance,

 TS

 java.lang.Exception: Unexpected exception,
 expectedjava.lang.ClassCastException but
 wasjava.lang.IncompatibleClassChangeError

 at
 akka.instrumentation.ActorCellInstrumentation.afterCreation(ActorCellInstrumentation.scala:42)

 at akka.actor.ActorCell.init(ActorCell.scala:397)

 at akka.actor.LocalActorRef.newActorCell(ActorRef.scala:320)

 at akka.actor.LocalActorRef.init(ActorRef.scala:316)

 at
 akka.actor.LocalActorRefProvider$$anon$1.init(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian$lzycompute(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian(ActorRefProvider.scala:573)

 at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:628)

 at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663)

 at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:143)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:110)

 at akka.actor.ActorSystem$.create(ActorSystem.scala:58)

 at akka.actor.ActorSystem.create(ActorSystem.scala:1)

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives:
 https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google
 Groups Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to akka-user+...@googlegroups.com.
 To post to this group, send email to akka...@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.

  --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] using Akka with Kamon...

2015-05-08 Thread Ivan Topolnjak
Oh, that can be a problem! We have not tested Kamon with 2.4 yet and
probably the issue you are facing is due to Kamon's bytecode being liked to
certain Akka internals that changed between 2.3 and 2.4. Is it possible for
you to use Akka 2.3? I will let you know when we get ready to support Akka
2.4, regards!

On Sat, May 9, 2015 at 1:20 AM TS test.tester1...@gmail.com wrote:

 BTW, I am using akka 2.4-SNAPSHOT


 On Friday, May 8, 2015 at 3:54:41 PM UTC-7, TS wrote:

 This is what I have in the pom

 dependency

   groupIdio.kamon/groupId

   artifactIdkamon-core_2.11/artifactId

   version0.3.5/version

 /dependency

 dependency

   groupIdio.kamon/groupId

   artifactIdkamon-log-reporter_2.11/artifactId

   version0.3.5/version

 /dependency

 plugin

 groupIdorg.apache.maven.plugins/groupId

 artifactIdmaven-surefire-plugin/artifactId

 version2.18.1/version

 configuration

   argLine-javaagent:path to aspectjweaver-1.7.4.jar/argLine

 /configuration

   /plugin


 and in my application.conf


 extensions = [kamon.metric.Metrics]


 a test like will cause the error to happen.

  @Test

 public void testForFoo() {

 final TestActorRefFooActor ref = TestActorRef.create(system,
 Props.create(FooActor.class), testFoo);

 Object obj = ref.underlyingActor().testFoo(ByteString.fromArray(
 abc.getBytes()));

 }


 On Friday, May 8, 2015 at 4:47:36 AM UTC-7, Ivan Topolnjak wrote:

 Hello TS,

 I have been trying to find some additional info regarding this issue,
 but couldn't find anything yet :(... is it possible for you to provide us a
 little example to reproduce the issue?

 On Fri, May 8, 2015 at 2:59 AM TS test.te...@gmail.com wrote:

 Ivan, Any updates on this. Thanks in advance.


 On Wednesday, May 6, 2015 at 11:05:54 AM UTC-7, TS wrote:

 Ivan, Sorry about the cross post. I was not sure where I should post.
 I am using Kamon 0.3.5

 On Wednesday, May 6, 2015 at 5:51:27 AM UTC-7, Ivan Topolnjak wrote:

 Hello TS!

 I just replied to you other email, please disregard that thread and
 post your answer here.. what Kamon version are you using?

 On Wed, May 6, 2015 at 3:07 AM TS test.te...@gmail.com wrote:

 I just started using Kamon. I am getting an error while weaving
 (This happens when my tests run. My surefire plugin has argLine with
 javaagent pointing to aspectjweaver.jar

 Any words of wisdom would be appreciated.

 Thanks in advance,

 TS

 java.lang.Exception: Unexpected exception,
 expectedjava.lang.ClassCastException but
 wasjava.lang.IncompatibleClassChangeError

 at
 akka.instrumentation.ActorCellInstrumentation.afterCreation(ActorCellInstrumentation.scala:42)

 at akka.actor.ActorCell.init(ActorCell.scala:397)

 at akka.actor.LocalActorRef.newActorCell(ActorRef.scala:320)

 at akka.actor.LocalActorRef.init(ActorRef.scala:316)

 at
 akka.actor.LocalActorRefProvider$$anon$1.init(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian$lzycompute(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian(ActorRefProvider.scala:573)

 at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:628)

 at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663)

 at
 akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:143)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:110)

 at akka.actor.ActorSystem$.create(ActorSystem.scala:58)

 at akka.actor.ActorSystem.create(ActorSystem.scala:1)

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives:
 https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google
 Groups Akka User List group.
 To unsubscribe from this group and stop receiving emails from it,
 send an email to akka-user+...@googlegroups.com.
 To post to this group, send email to akka...@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.

  --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives:
 https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google
 Groups Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to akka-user+...@googlegroups.com.
 To post to this group, send email to akka...@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.

  --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka

Re: [akka-user] using Akka with Kamon...

2015-05-06 Thread Ivan Topolnjak
Hello TS!

I just replied to you other email, please disregard that thread and post
your answer here.. what Kamon version are you using?

On Wed, May 6, 2015 at 3:07 AM TS test.tester1...@gmail.com wrote:

 I just started using Kamon. I am getting an error while weaving (This
 happens when my tests run. My surefire plugin has argLine with javaagent
 pointing to aspectjweaver.jar

 Any words of wisdom would be appreciated.

 Thanks in advance,

 TS

 java.lang.Exception: Unexpected exception,
 expectedjava.lang.ClassCastException but
 wasjava.lang.IncompatibleClassChangeError

 at
 akka.instrumentation.ActorCellInstrumentation.afterCreation(ActorCellInstrumentation.scala:42)

 at akka.actor.ActorCell.init(ActorCell.scala:397)

 at akka.actor.LocalActorRef.newActorCell(ActorRef.scala:320)

 at akka.actor.LocalActorRef.init(ActorRef.scala:316)

 at
 akka.actor.LocalActorRefProvider$$anon$1.init(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian$lzycompute(ActorRefProvider.scala:574)

 at
 akka.actor.LocalActorRefProvider.rootGuardian(ActorRefProvider.scala:573)

 at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:628)

 at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663)

 at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660)

 at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:143)

 at akka.actor.ActorSystem$.apply(ActorSystem.scala:110)

 at akka.actor.ActorSystem$.create(ActorSystem.scala:58)

 at akka.actor.ActorSystem.create(ActorSystem.scala:1)

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] ANNOUNCE: Akka Streams HTTP 1.0-M3

2015-02-09 Thread Ivan Topolnjak
Hello there!

It's really exciting to see where the Akka Streams  HTTP projects are
heading, congrats to the team and to all contributors for such a great gift
to the community. Now, I know you get asked for WebSockets support a lot,
but this announcement made me wonder: Is the first release of akka-http
going to include WebSockets support? I always thought that there was
going to be a first release that was feature wise equal to Spray and then
afterwards another release with WebSockets support, but the fact that it is
the next task on the HTTP front seems quite interesting! Hope you have good
news on this matter :D.

On Fri Feb 06 2015 at 4:05:23 PM Roland Kuhn goo...@rkuhn.info wrote:

 And in the rush of course I forgot one thing: Thanks a lot to Greg Beech
 for adding the “Age” and “Expires” headers to our HTTP model!

 6 feb 2015 kl. 15:56 skrev Roland Kuhn goo...@rkuhn.info:

 Dear hakkers,

 it has been over a month, so we figured that another milestone of our
 Streams  HTTP projects is in order. The Christmas break was a bit longer
 on the HTTP side (i.e. not so many changes there), so most of the work went
 into streams:


- consistently use the word “failure” instead of “error” in the API
(see here http://www.reactivemanifesto.org/glossary#Failure for the
definitions)
- rename all materializing actions such that they start with “run”
(e.g. “runForeach”) to distinguish them from non-materializing ones
- rename ActorBasedFlowMaterializer to ActorFlowMaterializer (which
now uses ActorFlowMaterializerSettings)
- make use of DeadLetterSuppression to avoid pointless warning
messages, also sanitize failure logging in stream stages to avoid 
 duplicates
- fix a few issues with StreamTcp concerning connection termination
- last but certainly not least: translate the Scala reference
documentation to Java (cookbook still missing at this point)


 *What next?*

 When starting to work on the integration for our SslTlsStage we
 encountered some difficulties with the current internal design—in fact this
 reminded us that we had not yet implemented some of the semantics of
 reusing flow topology blueprints within larger graphs. This triggered a
 rewrite of the internal representation of FlowGraph that is currently under
 way. While doing this we discovered another difficulty related to
 extracting materialized values (like the local socket address for a server
 binding, or a completion future for a Sink) when reusing the same blueprint
 multiple times within a larger graph, and the solution for this needs an
 API change: version 1.0-M4 (to be released in two weeks time) will
 introduce one more type parameter for all graph elements that materialize
 to a value, namely the type of that value. Composition operators and graph
 constructors (like Source(), FlowGraph() and Sink()) will require explicit
 functions that describe how these materialized values are composed, and
 overall materialization of a RunnableFlow will then yield only the overall
 (composed) value instead of a MaterializedMap. This should be safer and
 more intuitive to use than what we have currently. After this change we
 plan on keeping the API stable (with the caveat that future enlightenment
 might reveal flaws yet unknown).

 On the HTTP front the next task is to start the implementation of
 WebSockets, and once TLS is available on the Streams layer we will hook
 that up into HTTP as well.

 All your feedback (on this list and on github) has been very helpful in
 pushing Akka Streams  HTTP forward, please stay awesome :-)

 Regards,

 *Dr. Roland Kuhn*
 *Akka Tech Lead*
 Typesafe http://typesafe.com/ – Reactive apps on the JVM.
 twitter: @rolandkuhn
 http://twitter.com/#!/rolandkuhn


 --

  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.


 For more options, visit https://groups.google.com/d/optout.


 *Dr. Roland Kuhn*
 *Akka Tech Lead*
 Typesafe http://typesafe.com/ – Reactive apps on the JVM.
 twitter: @rolandkuhn
 http://twitter.com/#!/rolandkuhn

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to 

[akka-user] Re: Kamon metrics on Akka actors in New Relic

2014-12-16 Thread Ivan Topolnjak
Vlad, 

First, at the time this posting, we (the Kamon team) do not offer any kind 
of payed support to our users, we do as much as we can to reply to all user 
enquiries/concerns and address the bugs and enhancements reported by the 
community in a open and free manner and we hope to continue doing so. 

What I meant was that the feature of creating a Custom Dashboard with New 
Relic is only available to New Relic customers with Pro and Enterprise 
subscriptions (payed) and not to customers with Lite subscriptions (free). 
So, if we get enough interest in our user base to get actor metrics data 
into New Relic, even knowing that not all New Relic users will be able to 
see it, we can do the efforts to make it real. If you feel like it, please 
fill an issue in our repo and make your fellow Kamon users show their 
support for that feature there :).

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] Re: Kamon metrics on Akka actors in New Relic

2014-12-09 Thread Ivan Topolnjak
** This post was forwarded to kamon-user 
(https://groups.google.com/forum/#!topic/kamon-user/fyeHDR7G0AU), here is a 
copy of what I replied over there, just for the record.

Hello guys!

The reason for not seeing the actor metrics in New Relic is that we are not 
reporting them at all :s... the information about traces and http client 
calls was clearly fitted into the web transactions and external services in 
the New Relic model and it was kind of easy to put that information there, 
but what would we do with actors or dispatchers? there is no clear place to 
put it in the UI.

We might try to report actor/dispatcher information as custom metrics in 
the future, but since custom metrics are only available to paying customers 
we don't feel like putting a lot of efforts on that. Regardless of that, we 
are open to contributions from people that want to see that happen :).

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] Re: [ANNOUNCE] Akka Streams HTTP 1.0 MILESTONE 1

2014-12-04 Thread Ivan Topolnjak
Congratulations guys! I'm super excited to see this out and to start 
playing with it :), keep rocking!

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Manifest Event Sourcing Application's Performance

2014-09-11 Thread Ivan Topolnjak
Prakhyat,

for the record: Kamon does provide metrics on number of HTTP requests,
average, min, max, counts per response status code and more, we don't have
metrics for bytes transferred.. are you using Spray or Play for HTTP? we do
support them! When we talk about Trace Metrics we talk about the
invocation of a given functionality in your app and that usually means a
HTTP request to your Play App or your Spray API, if you need help on that
please let us know in the Kamon mailing list, best regards!


On Thu, Sep 11, 2014 at 10:10 AM, Prakhyat Mallikarjun 
prakhyat...@gmail.com wrote:

 Hi Todd,

 Thanks.

 I have worked on Kamon. Already deployed it and integrated with the
 application successfully.

 But Kamon will give only the metrics of the applications specific to akka
 actors.

 Kamon will not provide performance metrics when application goes through
 load testing. Performance metrics like,
 1. Number of requests to system
 2. Average time for processing per request URI
 3. Min time per request URI
 4. Max time per request URI
 5. % Errors
 6. Throughput
 7. Bytes/sec

 -Prakhyat M M


 On Thursday, 11 September 2014 18:01:58 UTC+5:30, Todd Nist wrote:

 @Prakhyat,

 Would a tool lik http://kamon.io help you out with gathering stats for
 performance analysis.  There is a good post here
 http://mukis.de/pages/monitoring-akka-with-kamon/ on using it with
 Akka and the docker container which provides Graphite(statsd backend),
 Grafana (Graphite Dashboard), Elasticsearch (Graphan Storage).

 One can configure what should be recorded through the *application.conf* and
 adding the *kamon* configuration key.

 The post above defines the integration and configuration very well as
 does the Kamon.io site.

 HTH.

 -Todd

 On Wednesday, September 10, 2014 8:31:12 AM UTC-4, Prakhyat Mallikarjun
 wrote:

 Konard,

 I agree with you effort is required. Glad analysis has narrowed down to
 one solution of using log. As always your points are really helpful. Thanks
 again.

 -Prakhyat M M

 On Wednesday, 10 September 2014 17:17:15 UTC+5:30, Konrad Malawski wrote:


  It would be easier to perform this using log analysis.
  [Prakhyat] Yes. We have this in mind as one of the alternative. But
 it wont provide performance metrics.

 I don’t agree.
 You would get SOME performance metrics this way – the time from start
 of request to various stages of your processing pipeline.
 You can graph and analyse this. Relate these numbers with the load
 generated during a concrete test run etc. You can also see how it relates
 to your “200” response times etc etc.

 There certainly is value and data to be gained from such benchmarks.
 As always, to perform a proper benchmark you need to put some effort
 into it.

 Hope this point of view helps.

  --
 Konrad 'ktoso' Malawski
 hAkker @ typesafe
 http://akka.io

  --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] Re: ANNOUNCE: First akka-http-core preview and updated akka-stream preview

2014-06-27 Thread Ivan Topolnjak
Congratulations guys! 

I had the chance to look trough the code a few days ago and was really 
surprised with how simple and concise it is, akka-http is (as Spray is 
also) a very interesting piece of engineering, keep up with the awesome 
work!

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Is there any to measure the sending time in actor

2014-06-03 Thread Ivan Topolnjak
Lee,

can you please elaborate a bit more on what timing do you want to measure?,
if I literally read your post, it seems like you want to measure the time
taken from the moment in which you start the call to tell on a ActorRef
until the moment the message has been successfully added to that actor's
mailbox. That is something you can achieve easily with any decent profiler,
but I guess that what you really want to measure is how long did it take to
process the Status Update functionality in your app, and that
functionality requires sending messages between a couple actors... let us
know exactly what you need and we will be happy to assist, best regards!

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Tutorial on how to get started with Scala and Akka

2014-03-31 Thread Ivan Topolnjak
Heiko,

Hope you can help me with this little doubt.. if using the non deprecated
version of Props.apply, shouldn't we create actors by doing
`actorOf(Props[SomeActor](new SomeActor))`?, it is a bit odd to mention the
type twice, but it seems to be the way to go to ensure compatibility with
future versions where the non parametrized version of Props.apply is gone.
Thanks in advance!


On Mon, Mar 31, 2014 at 9:57 AM, Heiko Seeberger
heiko.seeber...@gmail.comwrote:

 Nice! Thanks for putting it together.

 Some comments:

- Don't ever block inside an actor: Don't use `Thread.sleep`, but
better show the scheduler service
- It's better to not use `actorOf(Props[SomeActor])`, but
`actorOf(Props(new SomeActor))` instead, because the latter is refactoring
safe and performs better (no reflection)
- Inside of an actor, access the actor system via `context.system`,
not `HowdyAkka.system.shutdown`
- You might want to use `system.awaitTermination()` at the end of your
`App`
- If you want to teach Scala, follow the Scala Style Guide, i.e. write
`system.shutdown()` with parentheses

 Thanks
 Heiko


 On Mon, Mar 31, 2014 at 1:56 PM, Robert Sosinski 
 robert.sosin...@reactive.io wrote:

 Hello Fellow Akka Users,

 Just wanted to share a new tutorial about how to get started with Akka.
  I'm sure everyone here is familiar with the basics; but it might help
 those who are getting started to compile their first Akka app.

 *http://www.reactive.io/tips/2014/03/28/getting-started-with-actor-based-programming-using-scala-and-akka/
 http://www.reactive.io/tips/2014/03/28/getting-started-with-actor-based-programming-using-scala-and-akka/*

 Feel free to chime in with your comments. Hope it helps to get more
 developers onto Akka ;)

 Thanks, and happy concurrent programming!

 -Robert

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.




 --

 Heiko Seeberger
 Twitter: @hseeberger
 Blog: blog.heikoseeberger.name

 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Production monitoring tools?

2014-03-27 Thread Ivan Topolnjak
Roland,

I certainly feel like moving towards bounded queues as the rule rather than
the exception is the way to go. Setting reasonable bounds is a task
requiring deep knowledge of the application domain, actor/dispatcher
dynamics and running platforms (just to name a few), and it is difficult to
propose a checklist that will guide people through the optimal bounds for
their case, but I guess that with time and more information taken out of
live systems the community will develop a better understanding on this
topics and it will be a lot easier and common to set bounds. Maybe
introducing bounds in terms of low-latency and performance might rise more
interest in the topic.

Your proposal about firing monitoring events upon reaching some mailbox
size watermarks seems pretty neat, we will certainly consider adding some
of that goodness into Kamon :), is there any ticket tracking that feature
in assembla/github?, maybe we can give a hand on adding this feature to
akka as well.

Patrick,

thanks for mentioning LoggingMailbox, it certainly looks pretty nice and
people can use it right away, will keep it on my toolbox.


have a nice day guys, best regards!



On Thu, Mar 27, 2014 at 5:43 AM, Patrik Nordwall
patrik.nordw...@gmail.comwrote:

 The LoggingMailbox https://gist.github.com/patriknw/5946678 has helped
 me debugging bottlenecks many times.
 /Patrik



 On Thu, Mar 27, 2014 at 8:22 AM, Roland Kuhn goo...@rkuhn.info wrote:

 Thanks for sharing, this will be very useful for people searching this
 forum!

 Regards,

 Roland

 26 mar 2014 kl. 20:55 skrev Edward Steel edward.st...@gmail.com:

 We're using a combination of things at work. Sensu when alerts are needed
 and graphite/statsd for collecting, displaying, monitoring metrics.
 Statsd's pretty powerful, and graphite does the job as far as powering
 dashboards (there are some alternatives though).

 More specifically:

 1) java.lang.management._ + statsd -- an actor schedules itself at the
 rate we need to report heap size and gc time. We also monitor sub-jvm
 system stats in statsd using diamond.

 2) Statsd, ad-hoc as needed. Mailbox size isn't really accessible, and
 trying to monitor it is discouraged (
 http://letitcrash.com/post/17707262394/why-no-mailboxsize-in-akka-2).
 Instead you can monitor time between the message being sent from one actor
 and worked on by another (by injecting timestamps in the message), or you
 can monitor all requests and see if there's a time lag between reducing the
 load on the sender and a corresponding reduction appearing on the receiver
 (while it chews through its mailbox).  However if you monitor message count
 and various timings, especially if you measure timing for specific
 components and compare them, you can generally see bottlenecks pretty
 clearly.

 3) Statsd again. We use it a ton. And since the client is nio/udp and
 supports sampling, we never see a problem with overhead. The worst you'll
 see is strange graphs if you overload graphite itself.

 You're very welcome to try our statsd client. It's on github at
 github.com/hootsuite/statsd-client . It's pretty much a wrapper around
 etsy's client with some scala niceties and typesafe config.  It's missing
 some examples but is pretty straightforward (see
 https://github.com/hootsuite/statsd-client/blob/master/src/main/scala/com/hootsuite/statsd/StatsdReporting.scala
 )

 Would always love to hear of better solutions! I've heard vague rumours
 typesafe are working on something for production.

 Cheers,
 Edd


 On 26 March 2014 11:48, Chris Toomey ctoo...@gmail.com wrote:

 Are any of you folks in this group running production Akka systems, and
 if so, which of the following classes of metrics are you collecting and
 monitoring?

 1) Generic JVM metrics

 2) Generic Akka metrics (mailbox sizes, message rates, etc.)

 3) Application-specific metrics

 If you're collecting/monitoring generic Akka metrics, how are you doing
 it?

 If you're not, is it because 1) and 3) are sufficient, or because you've
 not found a good way to do 2)?

 Thanks for any guidance.

 Chris


 On Tuesday, March 25, 2014 7:25:38 AM UTC-7, Chris Toomey wrote:

 We're developing our first Akka application and are thus new to the
 larger ecosystem.  I've spent the last hour or so searching for Akka
 monitoring tools but haven't come across much of anything as far as
 production monitoring tools.  I see that Typesafe Console is aimed at
 development time and not recommended for production usage, and I've seen a
 few things on github, but that's about it.

 What tools are folks using or would you recommend using to monitor
 production Akka applications for Akka-specific metrics like message rates,
 mailbox sizes, actor counts, etc.?

 thx,
 Chris


 --
  Read the docs: http://akka.io/docs/
  Check the FAQ:
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives:
 https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to 

Re: [akka-user] Re: Production monitoring tools?

2014-03-26 Thread Ivan Topolnjak
Chris,

sorry, I didn't express myself correctly, what I wanted to say is that not
having constant time .size() implementations by default doesn't mean that
we shouldn't monitor mailbox sizes, but instead find a alternative,
efficient way to get those numbers, which in my opinion are very important
when monitoring akka actors. Glad to know you are interested in Kamon, hope
you find it useful and that this answer clarifies your doubt, best regards!

-- 
  Read the docs: http://akka.io/docs/
  Check the FAQ: 
 http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups Akka 
User List group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Play, Spray, ...

2014-01-21 Thread Ivan Topolnjak
Charlie,

doing DB calls in Spray has nothing special or different from what you
would do with plain Akka, Play or any other toolkit. Certainly, there is a
preference for using async and non-blocking drivers, but that is not a
requisite. What really matters in case you are doing blocking calls to a
database (using JDBC, for example) is that you set up a dedicated
dispatcher (like a thread-pool) to be used by those blocking tasks. That
way the blocking part of your app wont eat all the threads and starve the
rest of the components.

With regards to managing and monitoring, of course the first option would
be the Typesafe Console [1], built by the same people working in Akka/Play.
Also, there is a project we are working on right now [2], focused in Akka
and Spray (Play support might arrive in the future).. we are in the process
of tidying up the basic set of features and writing docs for our first
public release which will get out very soon. Last, but not least, there is
the monitor [3] tool for Akka created by the Cake Solutions team (correct
me if I'm wrong!) which is also open source. Hope this info helps! best
regards!.

[1] http://typesafe.com/platform/runtime/console
[2] http://kamon.io
[3] https://github.com/eigengo/monitor




On Tue, Jan 21, 2014 at 11:27 AM, Pascal Voitot Dev 
pascal.voitot@gmail.com wrote:

 I'm not an expert in Spray in prod (more Play experience) but there are a
 few articles you can find on Google on how to monitor an Akka app...
 You've got Typesafe Console naturally which is specifically dedicated to
 this and a few tools to add on top of Akka!

 Other people might have far better advices than mine on this point!

 Pascal

 On Tue, Jan 21, 2014 at 3:18 PM, charlie robert reefed...@gmail.comwrote:

 Oh, yes, could you also mention about management and monitoring with
 Spray, as well?

 - charlie

 On Jan 21, 2014, at 7:15 AM, charlie robert reefed...@gmail.com wrote:

 Hi pascal,

 This sounds promising.  However, our kafka consumers need to do some DB
 calls, but in a high volume sort of way.  Could you say a few words about
 database interactions in Spray?

 thanks,
 charlie

 On Jan 21, 2014, at 1:03 AM, Pascal Voitot Dev 
 pascal.voitot@gmail.com wrote:

 Yes clearly you can get rid of servlet stuff and go to frameworks like
 Play or Spray!
 Spray is more low-level and is better if you want pure REST (more is
 possible too but it's more manual than Play). It's also 100% actor based
 with akka.io
 Play is full-stack and can help if you want more than just REST (it
 provides everything to build web apps)... It uses Netty for now as network
 layer (spray will be integrated later) and doesn't rely on actors for
 network part (you can use actors in your application)

 Both are performant.
 In terms of connection pooling, you won't manage it anymore as with
 servlets as you'll enter the world of stateless/non-blocking/async where
 you have a very few threads switching very quickly instead of a big pool
 like servlets.
 So you have to stop thinking about sticky sessions, stateful sessions and
 blocking code etc...
 But it brings real benefits, you'll see ;)

 pascal


 On Tue, Jan 21, 2014 at 3:28 AM, Robert Withers reefed...@gmail.comwrote:

 Which Akka-based REST servers include support for connection pooling,
 without a Servlet 3.0 container?  It may be fun to ditch Tomcat.  We had an
 issue where multiple jars were stomping on each other and the WAR was
 exiting with no information.   2 weeks of team investigation finally
 identified the setting that needed to change…turn off string-encodings in
 wily.  If Play or Spray can match performance, connection pooling and log
 configuration, it would be an option for a proof-of-concept.  Any
 recommendations?

 Thanks,
   - charlie









   - robert









  --
  Read the docs: http://akka.io/docs/
  Check the FAQ: http://akka.io/faq/
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
  Read the docs: http://akka.io/docs/
  Check the FAQ: http://akka.io/faq/
  Search the archives: https://groups.google.com/group/akka-user
 ---
 You received this message because you are subscribed to the Google Groups
 Akka User List group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
  Read the docs: