Giter Site home page Giter Site logo

Graph gists about descartes HOT 13 OPEN

obfuscurity avatar obfuscurity commented on September 28, 2024
Graph gists

from descartes.

Comments (13)

obfuscurity avatar obfuscurity commented on September 28, 2024

Some input ideas:

  • taking a "snapshot" of an existing graph
  • pasting a json representation of the graph params
  • using the to-be-designed graph constructor UI

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

Totally want this now so I can "bookmark" graphs for later use.

from descartes.

brntbeer avatar brntbeer commented on September 28, 2024

I love the idea of pasting a json representation to get a mock/test of a graph out. 👍'ing this simply for testing and disposable purposes. I'm new to this project so i cant totally wrap my head around the details, but im not quite certain how you'd take this mock and make it a real graph? plz2explain

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

@tehviking pointed me to https://github.com/jnicklas/carrierwave which should be useful for image conversion and file management with Sequel and S3. Still need to figure out how we'd convert the D3 SVG asset into an actual image first.

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

github/ops#23

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

After (ahem) 5 months of meditation, I think that instead of taking an honest-to-goodness image snapshot and storing that in S3, we should instead be capturing the data returned by Graphite and storing that in postgres. One of the things that bothers me about capturing an image is that the data immediately stops being interactive. By storing the data we can manipulate it and transform the chart as we see fit at some later date.

from descartes.

damm avatar damm commented on September 28, 2024

Perhaps i'm a bad net-citizen but I tend to upload the png's directly into gist.

It works for me, and I am able to make the original 'gist' context about the graphs i'm sharing.

(ignore this if it doesn't help)

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

Sorry guise, I've done a really bad job explaining what this feature entails. I should have focused the description on the practical goals rather than the implementation. It doesn't help that I'm applying the "gist" name to something that really has nothing to do with GitHub gists; rather, it is intended to be a meta snapshot of data in time.

The goal of this feature is to preserve information around a specifc metric or state of metrics for a defined period. Although it is analogous to simply taking a screenshot of a graph, we really want something that remains interactive while at the same time avoiding the loss of granularity that otherwise comes with the aging/rollups of Graphite metrics. Originally I envisioned that we would simply grab the png, upload it to S3, store some metadata about it, and then recall that image at various times in our workflow.

Rather, we should be storing the data itself as returned by Graphite (presumably the json output) and using that to recreate and interact with live graphs. Any data that needs to be shared "publicly" (as alluded to in the original description) can be accomplished by screenshotting the client-side image, uploading to S3, and then handing that url out.

Hope this makes a little more sense.

from descartes.

damm avatar damm commented on September 28, 2024

Oh totally makes sense :) Sorry about that.

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

No need to apologize. Clearly I've done a 💩 job of explaining the feature.

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

Per the work done in #86 we can now "snapshot" a graph metadata (and source data) into the Gists model for later retrieval. There isn't anything in the UI to take advantage of this... yet.

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

#18

from descartes.

obfuscurity avatar obfuscurity commented on September 28, 2024

Today I've been thinking about the association between Gists and Graphs and how "loose" they should be. When we take a gist snapshot, we gather all of the configuration and datapoints that represent the current state of the graph being viewed and store that. We want to be able to look at gists as snapshots over time of the original graph. However I also think gists should behave like forks of the original graph, with the ability to create a new Graph from the gist at a later date.

When we Graph#destroy we also cascade delete the associated Gists. I wonder if this is the correct behavior, and if not, how to rework the model in such a way that we have a "loose" association wherein we can benefit from foreign keys when the parent Graph exists, but not be so tightly coupled that deleting a Graph breaks any child Gists.

Thoughts?

/cc @b @jnewland because they've expressed an interest in this feature in past conversations.

from descartes.

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.