Giter Site home page Giter Site logo

Comments (4)

marcuswestin avatar marcuswestin commented on July 22, 2024

+1

Rather than having an interval between data points, could the new rpc simply update the value for a metric at the requested ts?

E.g. if in addition to "put " we could "increment ", and have that simply overwrite the previous of at with <value1 + value>.

Perhaps that's exactly what you were saying :)

from opentsdb.

scottcarey avatar scottcarey commented on July 22, 2024

Rather than have OpenTSDB try and increment a value, why not just store the event count over the interval?

Well, I tried this, and all of the aggregation functions break, and the inverse of the 'Rate' checkbox would be needed to see a total.

e.g. metric is event counts during a time interval -
host: [time1, time2, time3]
a: [2, , 1]
b: [1, 1, ]

sum: [3, 2.5, 2]

The problem is that OpenTSDB is inventing data points for time 2 and 3 where there is no value as interpolations between the neighboring values. This makes the sum across hosts completely wrong for this use case, unless I populate all of the empty spots with 0 values, which for my data (very sparse) multiplies the total data stored several fold.

In short, all of OpenTSDB's metrics are treated as "measurements" of an underlying continuous function, and its aggregate functions invent data by interpolation.

There (currently) is no mode to treat metrics as discrete values such that the above sums are as would be required for this use case:

sum-discrete: [3, 1, 1]

If you want a system that instead of sending total counts sends increments, OpenTSDB doesn't need to calculate the sum, it just needs different aggregate function implementations and the inverse of "Rate". This would be much simpler and much more broadly applicable.

from opentsdb.

tcurdt avatar tcurdt commented on July 22, 2024

Wow, this is an old issue - and still open?

Not sure I can follow #184 or f53aad6

@manolama Is ZIM the non-interpolation aggregation one can use for counts as described by @tsuna?

from opentsdb.

manolama avatar manolama commented on July 22, 2024

@tcurdt Yes, the ZimSum supplies zero if missing so it avoids interpolation. Same with mimmax and mimmin.

from opentsdb.

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.