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

2014-09-14 Thread Prakhyat Mallikarjun
Hi Ivan,

My bad. By socket I meant web socket. I missed out writing websocket and 
just wrote socket.

I don't have questions on using Kamon with Spray. But how kamon will link a 
particular request to its corresponding asynchronous response to user 
browser?

Consider an use case,
Reactive application takes requests via web socket, responds back to user 
with status "200"(which means server took the request) with empty 
response(in short it means server took request and will respond in future 
after distributed processing), consider this request name as "REQ1". Server 
will process request in backend distributed server and reply's back to user 
browser via web socket, consider this response as "RESP1".

Will kamon link this request "REQ1" to response "RESP1"? 

Consider we are applying load on system while performance testing, and 
apply burst of 1000 different requests to system in a span of seconds, will 
kamon provide?
1. Number of requests to system : Kamon should display 1000.
2. Average time for processing per request URI : Per request avg time 
should display(avg time calculation should consider time request sent to 
system and time corresponding response received from server). 
3. Min time per request URI: Consider we are doing iteration of 3 times of 
applying 1000 requests, min of 3 time load should come. 
4. Max time per request URI: Consider we are doing iteration of 3 times of 
applying 1000 requests, max of 3 time load should come. 
5. % Errors
6. Throughput
7. Bytes/sec

If you want I can create this thread in Kamon group and continue the 
discussion.

-Prakhyat M M

On Monday, 15 September 2014 10:30:26 UTC+5:30, Ivan Topolnjak wrote:
>
> Prakhyat,
>
> if by Socket connections you mean something opening a socket to a Spray 
> API, sending a HTTP request and getting a response back then yes, we 
> support that. I know that our documentation still has big holes but Spray 
> support is one of the first things we put together to make Kamon usable.. 
> in fact, most of our users use Kamon because no other library has support 
> for it, at least not the way we do. 
>
> Do we support sync/async requests? Yes we do. We are hooking in parts of 
> Spray that catch the response being sent to the client, regardless of that 
> response being generated by a blocking call or something totally 
> asynchronous. If you have more questions with regards to how to use Kamon 
> with Spray please drop us a line in our mailing list, best regards!
>
> On Fri, Sep 12, 2014 at 3:21 AM, Prakhyat Mallikarjun  > wrote:
>
>> Hi Ivan,
>>
>> Will kamon support Socket connections? 
>>
>> Also I looked at http://kamon.io/integrations/spray/server-side/. It was 
>> TODO.
>>
>> 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!
>> [Prakhyat] Do you expect the http requests to the app responded 
>> synchronously or as per Reactive asynchronously? 
>>
>> -Prakhyat M M
>>
>> On Friday, 12 September 2014 04:18:53 UTC+5:30, Ivan Topolnjak wrote:
>>>
>>> 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 <
>>> prakh...@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 
> 

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

2014-09-14 Thread Ivan Topolnjak
Prakhyat,

if by Socket connections you mean something opening a socket to a Spray
API, sending a HTTP request and getting a response back then yes, we
support that. I know that our documentation still has big holes but Spray
support is one of the first things we put together to make Kamon usable..
in fact, most of our users use Kamon because no other library has support
for it, at least not the way we do.

Do we support sync/async requests? Yes we do. We are hooking in parts of
Spray that catch the response being sent to the client, regardless of that
response being generated by a blocking call or something totally
asynchronous. If you have more questions with regards to how to use Kamon
with Spray please drop us a line in our mailing list, best regards!

On Fri, Sep 12, 2014 at 3:21 AM, Prakhyat Mallikarjun  wrote:

> Hi Ivan,
>
> Will kamon support Socket connections?
>
> Also I looked at http://kamon.io/integrations/spray/server-side/. It was
> TODO.
>
> 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!
> [Prakhyat] Do you expect the http requests to the app responded
> synchronously or as per Reactive asynchronously?
>
> -Prakhyat M M
>
> On Friday, 12 September 2014 04:18:53 UTC+5:30, Ivan Topolnjak wrote:
>>
>> 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 <
>> prakh...@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
  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/
>>> >>

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

2014-09-11 Thread Prakhyat Mallikarjun
Hi Ivan,

Will kamon support Socket connections? 

Also I looked at http://kamon.io/integrations/spray/server-side/. It was 
TODO.

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!
[Prakhyat] Do you expect the http requests to the app responded 
synchronously or as per Reactive asynchronously? 

-Prakhyat M M

On Friday, 12 September 2014 04:18:53 UTC+5:30, Ivan Topolnjak wrote:
>
> 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  > 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 
>>>  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+...@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"

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

2014-09-11 Thread Richard Rodseth
Not sure if this helps
https://github.com/erikvanoosten/metrics-scala/blob/master/docs/Actors.md

On Thu, Sep 11, 2014 at 3:48 PM, Ivan Topolnjak  wrote:

> 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
>>>  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.
>

-- 
>>  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 receiv

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
>>  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.


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

2014-09-11 Thread Prakhyat Mallikarjun
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 
>  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.


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

2014-09-11 Thread Todd Nist
@Prakhyat,

Would a tool lik http://kamon.io help you out with gathering stats for 
performance analysis.  There is a good post here 
 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.


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

2014-09-10 Thread Prakhyat Mallikarjun
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.


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

2014-09-10 Thread Konrad 'ktoso' Malawski

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.


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

2014-09-10 Thread Prakhyat Mallikarjun
Hi Konard,

Thanks.

You would have to measure time between your request, and something else 
being triggered.
[Prakhyat] I accept this way for single request. But wrt to performance 
testing, with bulk of requests, its a complex task. 

This is not trivial and must be implemented in some way by you.
[Prakhyat] True. Its going to be one heck of a work. Was looking at 
available tool to reduce redundant effort. 

No tool will magically know when your request is “done”, you need to “ping 
someone” to notify what you mean by “done”.
[Prakhyat] True.

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.

Log stuff, with a correlation id, and then measure time from the initial 
log message to the “final” log message.


-Prakhyat M M

On Wednesday, 10 September 2014 16:50:24 UTC+5:30, Konrad Malawski wrote:
>
> In short: it’s harder.
>
> You cannot do this as a complete blackbox test.
> You would have to measure time between your request, and something else 
> being triggered.
> This is not trivial and must be implemented in some way by you.
> No tool will magically know when your request is “done”, you need to “ping 
> someone” to notify what you mean by “done”.
>
> It would be easier to perform this using log analysis. 
> Log stuff, with a correlation id, and then measure time from the initial 
> log message to the “final” log message.
>
>
> On 10 September 2014 at 12:21:01, Prakhyat Mallikarjun (prakh...@gmail.com 
> ) wrote:
>  Hi Konard, 
>
> Thanks for the tool. 
>
> I want to understand fundamental question, how to measure performance of 
> reactive applications(event sourcing)?
>
> Let me take an example, in reactive apps the user requests are processed 
> asynchronously compared to traditional web apps synchronous behavior. In 
> reactive applications the user requests are taken, responded with 200 
> status and asynchronously the request is processed further. 
>
> If you load test traditional web applications(I mean non reactive 
> application) with say tool like JMeter. JMeter will give below results per 
> request,
>
> 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
>
> From the above results you can make out the health or perfromance of 
> entire application.
>
> Since reactive applications, user requests will not wait and handled 
> asynchronously in distributed environment. Also response's will be pushed 
> to user browser from server. In reactive applications, *how can we get 
> the same results as above?* i.e.
>
>  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
>  
> I think 1st is simple to get, but 2-7 ?how
>
> -Prakhyat M M
>
>
> On Wednesday, 10 September 2014 13:36:40 UTC+5:30, Konrad Malawski wrote: 
>>
>> For end-to-end tests I have used and liked http://gatling.io a bit. 
>> For microbenchmarks (not what you need for your case IMO), I'd recommend 
>> JMH http://openjdk.java.net/projects/code-tools/jmh/ and the sbt plugin: 
>> https://github.com/ktoso/sbt-jmh
>>
>> Happy hakking
>>  
>> On Wed, Sep 10, 2014 at 9:53 AM, Prakhyat Mallikarjun > > wrote:
>>
>>> Team, 
>>>
>>> We are using akka persistence/akka sharding/akka cluster in our app. In 
>>> short we are using event sourcing.
>>>
>>> Wanted to understand how Typesafe or any other akka users do the 
>>> performance tests/benchmarking.  
>>>
>>> I am more concerned in knowing *tools* used for creating load on system 
>>> built on akka persistence/akka sharding/akka cluster(i.e. event 
>>> sourcing). 
>>>
>>> What are the pointers for event sourcing application to pass 
>>> performance bench marking? How to manifest event sourcing application 
>>> passes all performance benchmarks?
>>>
>>> I know performance testing but want to understand from the perspective 
>>> of performance bench marking applications having eventsourcing. 
>>>
>>> -Prakhyat M M
>>>  --
>>> >> 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.
>>>
>>  
>>
>>
>> --
>>  Cheers,
>> Konrad 'ktoso' Malawski
>>  hAkker @ Typesafe
>>  
>>   
>>   
>  --
> >> Read the

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

2014-09-10 Thread Konrad 'ktoso' Malawski
In short: it’s harder.

You cannot do this as a complete blackbox test.
You would have to measure time between your request, and something else being 
triggered.
This is not trivial and must be implemented in some way by you.
No tool will magically know when your request is “done”, you need to “ping 
someone” to notify what you mean by “done”.

It would be easier to perform this using log analysis. 
Log stuff, with a correlation id, and then measure time from the initial log 
message to the “final” log message.


On 10 September 2014 at 12:21:01, Prakhyat Mallikarjun (prakhyat...@gmail.com) 
wrote:

Hi Konard,

Thanks for the tool. 

I want to understand fundamental question, how to measure performance of 
reactive applications(event sourcing)?

Let me take an example, in reactive apps the user requests are processed 
asynchronously compared to traditional web apps synchronous behavior. In 
reactive applications the user requests are taken, responded with 200 status 
and asynchronously the request is processed further. 

If you load test traditional web applications(I mean non reactive application) 
with say tool like JMeter. JMeter will give below results per request,

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

>From the above results you can make out the health or perfromance of entire 
>application.

Since reactive applications, user requests will not wait and handled 
asynchronously in distributed environment. Also response's will be pushed to 
user browser from server. In reactive applications, how can we get the same 
results as above? i.e.

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

I think 1st is simple to get, but 2-7 ?how

-Prakhyat M M


On Wednesday, 10 September 2014 13:36:40 UTC+5:30, Konrad Malawski wrote:
For end-to-end tests I have used and liked http://gatling.io a bit.
For microbenchmarks (not what you need for your case IMO), I'd recommend JMH 
http://openjdk.java.net/projects/code-tools/jmh/ and the sbt plugin: 
https://github.com/ktoso/sbt-jmh

Happy hakking

On Wed, Sep 10, 2014 at 9:53 AM, Prakhyat Mallikarjun  
wrote:
Team,

We are using akka persistence/akka sharding/akka cluster in our app. In short 
we are using event sourcing.

Wanted to understand how Typesafe or any other akka users do the performance 
tests/benchmarking.  

I am more concerned in knowing tools used for creating load on system built on 
akka persistence/akka sharding/akka cluster(i.e. event sourcing). 

What are the pointers for event sourcing application to pass performance bench 
marking? How to manifest event sourcing application passes all performance 
benchmarks?

I know performance testing but want to understand from the perspective of 
performance bench marking applications having eventsourcing. 

-Prakhyat M M
--
>> 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.



--
Cheers,
Konrad 'ktoso' Malawski
hAkker @ Typesafe

  
--
>> 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.
-- 
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-us

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

2014-09-10 Thread Prakhyat Mallikarjun
Hi Konard,

Thanks for the tool. 

I want to understand fundamental question, how to measure performance of 
reactive applications(event sourcing)?

Let me take an example, in reactive apps the user requests are processed 
asynchronously compared to traditional web apps synchronous behavior. In 
reactive applications the user requests are taken, responded with 200 
status and asynchronously the request is processed further. 

If you load test traditional web applications(I mean non reactive 
application) with say tool like JMeter. JMeter will give below results per 
request,

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

>From the above results you can make out the health or perfromance of entire 
application.

Since reactive applications, user requests will not wait and handled 
asynchronously in distributed environment. Also response's will be pushed 
to user browser from server. In reactive applications, *how can we get the 
same results as above?* i.e.

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

I think 1st is simple to get, but 2-7 ?how

-Prakhyat M M


On Wednesday, 10 September 2014 13:36:40 UTC+5:30, Konrad Malawski wrote:
>
> For end-to-end tests I have used and liked http://gatling.io a bit.
> For microbenchmarks (not what you need for your case IMO), I'd recommend 
> JMH http://openjdk.java.net/projects/code-tools/jmh/ and the sbt plugin: 
> https://github.com/ktoso/sbt-jmh
>
> Happy hakking
>
> On Wed, Sep 10, 2014 at 9:53 AM, Prakhyat Mallikarjun  > wrote:
>
>> Team,
>>
>> We are using akka persistence/akka sharding/akka cluster in our app. In 
>> short we are using event sourcing.
>>
>> Wanted to understand how Typesafe or any other akka users do the 
>> performance tests/benchmarking.  
>>
>> I am more concerned in knowing *tools *used for creating load on system 
>> built on akka persistence/akka sharding/akka cluster(i.e. event 
>> sourcing). 
>>
>> What are the pointers for event sourcing application to pass performance 
>> bench marking? How to manifest event sourcing application passes all 
>> performance benchmarks?
>>
>> I know performance testing but want to understand from the perspective of 
>> performance bench marking applications having eventsourcing. 
>>
>> -Prakhyat M M
>>
>> -- 
>> >> 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.
>>
>
>
>
> -- 
> Cheers,
> Konrad 'ktoso' Malawski
> hAkker @ Typesafe
>
> 
>  

-- 
>>  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-10 Thread Konrad Malawski
For end-to-end tests I have used and liked http://gatling.io a bit.
For microbenchmarks (not what you need for your case IMO), I'd recommend
JMH http://openjdk.java.net/projects/code-tools/jmh/ and the sbt plugin:
https://github.com/ktoso/sbt-jmh

Happy hakking

On Wed, Sep 10, 2014 at 9:53 AM, Prakhyat Mallikarjun  wrote:

> Team,
>
> We are using akka persistence/akka sharding/akka cluster in our app. In
> short we are using event sourcing.
>
> Wanted to understand how Typesafe or any other akka users do the
> performance tests/benchmarking.
>
> I am more concerned in knowing *tools *used for creating load on system
> built on akka persistence/akka sharding/akka cluster(i.e. event
> sourcing).
>
> What are the pointers for event sourcing application to pass performance
> bench marking? How to manifest event sourcing application passes all
> performance benchmarks?
>
> I know performance testing but want to understand from the perspective of
> performance bench marking applications having eventsourcing.
>
> -Prakhyat M M
>
> --
> >> 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.
>



-- 
Cheers,
Konrad 'ktoso' Malawski
hAkker @ Typesafe



-- 
>>  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] Manifest Event Sourcing Application's Performance

2014-09-10 Thread Prakhyat Mallikarjun
Team,

We are using akka persistence/akka sharding/akka cluster in our app. In 
short we are using event sourcing.

Wanted to understand how Typesafe or any other akka users do the 
performance tests/benchmarking.  

I am more concerned in knowing *tools *used for creating load on system 
built on akka persistence/akka sharding/akka cluster(i.e. event sourcing). 

What are the pointers for event sourcing application to pass performance 
bench marking? How to manifest event sourcing application passes all 
performance benchmarks?

I know performance testing but want to understand from the perspective of 
performance bench marking applications having eventsourcing. 

-Prakhyat M M

-- 
>>  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.