Giter Site home page Giter Site logo

Comments (5)

Eric-Fontana-Bose avatar Eric-Fontana-Bose commented on May 17, 2024

YES PLEASE!

from client_ruby.

SamSaffron avatar SamSaffron commented on May 17, 2024

Having implemented https://github.com/discourse/prometheus_exporter one of the weakest point the official library has is the Summary implementation, it just uses estimates which make all results pretty nonsensical. Other weaknesses are lack of multi process support which is enormous, lack of standard instrumentation people can easily lean on and lack of standalone robust web server implementation short of mounting rack.

I highly recommend any work on improving the default library has a look at the prom exporter implementation for ideas, there is a lot there and the thing is very battle tested.

from client_ruby.

dmagliola avatar dmagliola commented on May 17, 2024

@SamSaffron Thank you for your comments! These are all very good points.

the Summary implementation, it just uses estimates

Yeah, we're actually proposing "downgrading" the Summary to the level which Python offers, which is just having Sum and Count, without quantiles, which is the minimum the Best Practices require. We're doing this for practical reasons, since we want to be able to only store Floats in our stores, and the Quantile::Estimator doesn't play well with that.
Here's the relevant commit

Lack of multi process support

This is the main thing we're aiming at improving with this work. We're currently leaning more towards a "shared memory" implementation (an example of which can be seen in Gitlab's implementation, or in the Python client), but it'd be quite easy for someone to have a store that pushes things to your Collector process.

lack of standard instrumentation people can easily lean on and lack of standalone robust web server implementation short of mounting rack.

We're also planning on looking at these, if we have time, but they're a bit more long-term plans, for now, we're focusing on solving the multi-process issue

from client_ruby.

dmagliola avatar dmagliola commented on May 17, 2024

Update: We've updated PR #95 with actual data stores, including one that works for pre-fork servers 🎉
We'd love everyone's comments on this!

from client_ruby.

dmagliola avatar dmagliola commented on May 17, 2024

All of this is done now that we've merged PR #95

from client_ruby.

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.