GithubHelp home page GithubHelp logo

Comments (5)

brian-brazil avatar brian-brazil commented on July 30, 2024

The Prometheus architecture is that metrics are collected upon request, as any form of caching is going to cause aliasing and related weirdness.

from jmx_exporter.

iksaif avatar iksaif commented on July 30, 2024

And this is probably valid when metric collection is cheap, which clearly isn't the case with the jmx exporter. Having multiple clients fetching data from /metrics makes all that worse.

I totally agree that in this case the software should get fixed as fetching metrics should not really do actual work in general. But since changing all that in something like Cassandra isn't trivial it would be good to have a (discouraged) workaround.

I'll try to profile what is taking so much time exactly tomorrow, and post results here, maybe there is a quick win that can make that less necessary.

from jmx_exporter.

brian-brazil avatar brian-brazil commented on July 30, 2024

The problem with C* was latency when I last investigated it, there's lots of waiting in the various JMX calls. Thus multiple clients doesn't make a difference.

from jmx_exporter.

iksaif avatar iksaif commented on July 30, 2024

The thing is that some of these jmx calls create more load on the machine (the SnapshotSize for example does actually I/O).

This surely should be fixed, but my point is that since not all software will be fixable it might be a good idea to provide a way to mitigate issues when they happen. One solution is to collect metrics in the background.

If you feel that this is not something you want in the official client, that's fine too, we will just build it on top of JMX Exporter :)

from jmx_exporter.

brian-brazil avatar brian-brazil commented on July 30, 2024

Caching is usually considered bad practice, so it's not something I'm inclined to add.

from jmx_exporter.

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.