jondot/graphene

drawAsInfinite

aknapp opened this issue · 13 comments

Any chance we can get support for graphite's 'drawAsInfinite()' function? Useful for tracking rollouts and whatnot.

I'll check it out!

Looks completely possible. I'll try implementing it over the weekend.

Any news on this? Just found out it doesn't render infinites properly

Hi Roel,
Yes, I apologize for being under the radar lately. I hope to work on this, additional fixes, and D3 upgrade all in one, as soon as possible!

That'd be great.

We've found Graphene very useful so far, I'd love to show you our
implementation once we've matured it a bit more.

Awaiting your update, cheers!

On Wed, May 23, 2012 at 5:46 PM, Dotan J. Nahum <
reply@reply.github.com

wrote:

Hi Roel,
Yes, I apologize for being under the radar lately. I hope to work on this,
additional fixes, and D3 upgrade all in one, as soon as possible!


Reply to this email directly or view it on GitHub:
#5 (comment)

Roel van der Ven
Product manager Web

Mail: roel@soundcloud.com
Skype: roelvanderven
Cell: +49 1577 5302629
http://soundcloud.com/roelven
http://twitter.com/roelven
Rosenthalerstraße 13, 10119 Berlin, Germany

What is SoundCloud?
http://soundcloud.com/tour

We're hiring!
http://soundcloud.com/jobs

I'm very excited to hear that, thanks! :)

Hey guys,
Here's a first stab at implementing this
https://github.com/jondot/graphene/tree/draw_as_infinite

To use it, just pick up graphene.min.js and drop into your current folder structure.
Then for a given TimeSeries,

"Topics": {
      source: "http://localhost:4567/",
      TimeSeries: {
         parent: '#g1-3',
         as_infinite: [0]
      }
 }

assuming the as-infinite series is the first one (index 0).

There are a couple inconveniences that I'm aware of (and would appreciate feedback on):

  1. You need to refer to your as-infinite series by index (how bad is this?), because unlike Graphite, we're not parsing the actual request URL.
  2. The processing is on the data-level (and not UI). Once a series is marked as_infinite, we're transforming the data points according to the drawAsInfinite rules. Then the UI draws it as usual, so it looks like a graph with very sharp spikes (instead of a straight line). In order to draw it as a line, we'll need to introduce a new drawing layer for adornments, because a line isn't really a time-series graph.

In anycase, let me know if this works sufficiently well for you, and i'll merge it.

Hey Dotan,

Awesome, thanks for this!
I've just implemented your new build, looks good but it seems like it's rendering the initial resource twice, like here:

DrawAsInifinite

Is that a known side-effect?

Cheers

Just noted the update messes with the y scale as well. The curve is looking a lot different in the original graphite graph, maybe that's related to the double line?

Will check when in front of a desktop, thanks
On Jun 7, 2012 7:21 PM, "Roel van der Ven" <
reply@reply.github.com>
wrote:

Just noted the update messes with the y scale as well. The curve is
looking a lot different in the original graphite graph, maybe that's
related to the double line?


Reply to this email directly or view it on GitHub:
#5 (comment)

Hi Roel,
Both of the issues don't initially make sense, it doesn't happen before this update right?

just to let you in on the detail this is the only update: 77d9f79#L1L299

It means that for the series index marked as as_infinite we'll pick the max value (of all the included series) and render that on/off according to the values of the as_infinite series.
the max of all series will serve us as 'infinite'.

However I do want to analyze this behavior i'm seeing in the snapshot -- if not much trouble is it possible for you to dump the JSON array to a Gist or such (coming from the ajax request) ?

thanks

Jell commented

I would also be interested in this feature.

On a side note, I made a pull request that should solve the rendering issue encountered here.

thanks @Jell !, I pulled the change in. Now I'm wondering if draw-as-infinite is good enough as implemented here: 77d9f79#L1L299