Giter Club home page Giter Club logo

Comments (22)

waywardmonkeys avatar waywardmonkeys commented on July 29, 2024

You should consider using this: https://github.com/codahale/metrics ... it is great.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Thanks for the comment.
Yes, "metrics" is a great project.
As is https://github.com/twitter/ostrich ...
Unfortunately both libs somewhat do "too much" and are not "actor enabled".
So currently we are planning to roll our own solution but turn to the existing ones for structure and ideas...

from spray.

waywardmonkeys avatar waywardmonkeys commented on July 29, 2024

We're using Metrics extensively in Actor-based code ... would be really nice to just have this in place. There's really not a big need to replace with something new (and then we'd have to cook up new integration code for Graphite and Nagios and ...)

I'd be happy to assist with a patch to get some of this rolling.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Alright, would you be able to provide a few examples on how you use Metrics in your actor code? (preferably on the mailing list)

from spray.

sirthias avatar sirthias commented on July 29, 2024

Current thinking: provide a thin adapter layer to Graphite, probably implemented as a singleton actor representing the "gateway" to Graphite.

from spray.

waywardmonkeys avatar waywardmonkeys commented on July 29, 2024

I might have time to show the metrics stuff soon ... what would you want to see?

Metrics talks to Graphite and Ganglia (and JMX). If you want real stats, you'll end up needing a lot of what Metrics provides.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Sound cool.
I guess a small example project somewhere would be excellent!

from spray.

sirthias avatar sirthias commented on July 29, 2024

Metrics really has come a long way and is nicely modular by now.
No point in trying to roll our own monitoring solution anymore.
We should provide MetricsSupport trait and a few simple directives to get Metrics support rolling...

from spray.

dpratt avatar dpratt commented on July 29, 2024

I've been playing a lot with Metrics lately - I'd be happy to take a first pass at this. Off the top of my head, I can think of a few directives that would be handy

  • A directive that acts as a timer so that you can get aggregate performance data on your app
  • A directive that acts as a simple counter, so you can get counts

We might want to think about instrumenting the internals of spray with some handy metrics as well - I don't think keeping track of simple rejections would be useful (since I suspect that 90% of them would be red herrings), but certainly logging things like timeouts, completely rejected requests and the like would be interesting to have available.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Excellent, David!
We are incredibly busy with all the things we have planned for the 1.0 release, and unfortunately we had to leave this feature off the list. So if you'd like to pick it up, we'd likely be able to support it.
Otherwise we'll have a go at this later...

from spray.

velvia avatar velvia commented on July 29, 2024

I'm in the middle of instrumenting our app, so I'll have a stab at this in the next few days. How about these directives?

count(couterName: String) {  }        // Adds a simple counter for every request that comes in
countAll(metricPrefix: String) {}    // Adds request counter, meter for request handler (frequency + duration), and counter for responses by type (200, 3xx, 4xx, 5xx)

Measuring the duration of Futures and things like that will be pretty tricky though.

from spray.

sirthias avatar sirthias commented on July 29, 2024

I'd say we first try to get the basic metrics abstractions (gauges, counters, histograms, etc.) mirrored by directives and then build more complex things from the basics.

from spray.

velvia avatar velvia commented on July 29, 2024

Sure, but the directives operate at a level of request and response, right? So we can have primitives but they must be at that level, eg

RequestCounter
ResponseCounter
RequestMeter
InnerRouteDurationHistogram
LastErrorGauge

Etc

On Dec 20, 2012, at 2:09 AM, Mathias [email protected] wrote:

I'd say we first try to get the basic metrics abstractions (gauges, counters, histograms, etc.) mirrored by directives and then build more complex things from the basics.


Reply to this email directly or view it on GitHub.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Well, I might want to log custom things to metrics from my directives, so something generic underneath is probably the best foundation.

from spray.

ccarter avatar ccarter commented on July 29, 2024

If someone already has the ball rolling on this get a link out. I'd like to work on it.

from spray.

velvia avatar velvia commented on July 29, 2024

Go ahead, don't think anybody has started yet.

-Evan
Carry your candle, run to the darkness
Seek out the helpless, deceived and poor
Hold out your candle for all to see it
Take your candle, and go light your world

On Dec 31, 2012, at 10:44 AM, Curtis Carter [email protected] wrote:

If someone already has the ball rolling on this get a link out. I'd like to work on it.


Reply to this email directly or view it on GitHub.

from spray.

sirthias avatar sirthias commented on July 29, 2024

Curtis, indeed, as far as I know there is noone working on this issue at the moment. If you have something worthwhile including we'd be more than happy to take a look.

from spray.

erikvanoosten avatar erikvanoosten commented on July 29, 2024

Hi people, have you looked at https://github.com/erikvanoosten/metrics-scala ?

from spray.

duncancrawford avatar duncancrawford commented on July 29, 2024

Hi, I was wondering if this is on your roadmap and if so any idea when we might see the implementation?

from spray.

sirthias avatar sirthias commented on July 29, 2024

There is somewhat longer-standing PR: #359
that"s we hope to get to soon...

from spray.

sirthias avatar sirthias commented on July 29, 2024

I just closed @derekwyatt's PR #359, which will not make it into spray anymore. Still, we should definitely use it as a basis for any future work on this feature in Akka HTTP.

from spray.

jrudolph avatar jrudolph commented on July 29, 2024

Superseded by akka/akka#16858

from spray.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.