obfuscurity / descartes Goto Github PK
View Code? Open in Web Editor NEWIntrospective dashboard for Graphite
License: MIT License
Introspective dashboard for Graphite
License: MIT License
Planning to use a combination of https://github.com/filamentgroup/jQuery-UI-Date-Range-Picker and http://haineault.com/media/jquery/ui-timepickr/page/.
Possibly a button in the toolbar (next to refresh) that saves the current Interval/Columns view to the dashboards.configuration blob.
... for lack of a better name. Basically this is a place where all graphs will appear. Common tasks to perform here will be to find and add graphs to personal workspaces, tag graphs, etc.
Advanced graph settings (lineMode, areaMode, logBase and drawNullAsZero) are currently transient. Need them to be written to and read from the graph config (overrides table) in the database.
Need to rework the workflow for importing graphs and creating/appending-to dashboards in the palette. Originally mentioned in #31.
Clicking on a graph from the palette or dashboard should take you to this page. Should allow you to update the name and description, and add tags. It should also contain a larger version of the graph instance with the legend enabled.
The error in gist form: https://gist.github.com/b83b3b3243f5f6f5757d.
I'll see if I can't figure out what's wrong and hopefully send a pull request.
Clicking the "fullscreen" button should load a fullscreen-friendly layout, it should not enable the browser's fullscreen mode.
Support basic HTTP authentication as an alternative to Google OpenID.
We're using constructGraphUrl()
in profile-graph.js but not in render-graph.js or render-dashboard.js. This function should be pulled into render-common.js and used by all three views.
These would be associated with specific annotations. As such, they would (be available to) appear anytime a particular annotation event was visible on the graph / timeframe.
Drag-n-drop graphs in a dashboard to change order of appearance.
Descartes needs to be in an edit/destructive mode when performing actions like deleting a graph or dashboard. Currently we just pop up a delete button on hover. This is also needed for iOS clients.
Graph and dashboard options (e.g. interval, date range) should be capable of being set via the URL. Example URL:
/dashboards/bc3aa3c01973395f118d948824db60f8?columns=1&from=HH:MM_YYMMDD&until=HH:MM_YYMMDD
Ability to adjust the lineWidth (graph-level) setting from the profile details panel. Should probably be a slider using http://jqueryui.com/demos/slider/.
This would provide a workflow around transient (read: mocking) or snapshot graphs. There are two proposed workflows that would seem useful:
Gists would have their own section within Descartes, with complete search functionality. If the gist is associated with a saved graph, its profile page would reference that graph accordingly.
Conversely, any graphs with associated gist snapshots would contain some sort of gallery view of snapshots within the graph profile view.
Both desc and asc.
The jQuery :contains() selector does not appear to work with a single alphabetic character. Demonstrated in the console:
$($('.log_mode.btn-group button.log_mode.btn:contains("e")')).attr('name');
undefined
$($('.log_mode.btn-group button.log_mode.btn:contains("1")')).attr('name');
"2"
$($('.log_mode.btn-group button.log_mode.btn:contains("10")')).attr('name');
"2"
$($('.log_mode.btn-group button.log_mode.btn:contains("2")')).attr('name');
"3"
$($('.log_mode.btn-group button.log_mode.btn:contains("o")')).attr('name');
undefined
$($('.log_mode.btn-group button.log_mode.btn:contains("of")')).attr('name');
"1"
$($('.log_mode.btn-group button.log_mode.btn:contains("off")')).attr('name');
"1"
The DOM in question:
<div class='log_mode btn-group'>
<button class='log_mode btn disabled'>Logarithmic Base</button>
<button class='log_mode btn active' name='1' value='off'>off</button>
<button class='log_mode btn' name='2' value='10'>10</button>
<button class='log_mode btn' name='3' value='2'>2</button>
<button class='log_mode btn' name='4' value='e'>e</button>
</div>
Need a workflow for adding graphs to existing dashboards.
See the PLTS toggle example in http://vadim.ogievetsky.com/projects/TimeInPerspective/.
We should display any current filters somewhere on the page (besides the search box) so it's obvious we're looking at a subset of data.
Once imported they should appear on the palette.
Ability to post comments to a graph. These would be associated with the graph object proper, not any metrics/annotations referenced within.
Also, consider adding a global annotation type that would appear on all graphs.
Drag-select should set the new "from" and "to" end-times. There is an example JS project that does this over at https://github.com/shufgy/graphite-zoom-js.
Like we do in Tasseo, allow users to define their own dashboard spaces ("workspaces?") to display the graphs of their choosing. Users should be able to add graphs to this space from the Palette (visual mode) or using search from inside the dashboard (textual mode).
Ability to add "notes" to a metric via our UI. This would submit a new annotation metric to Graphite.
Instead of requiring users to import from Saved Graphs. For example, a read-only Graphite user with a composed graph but no way to save it. Should be easy enough to add this in the existing accordion form.
This page would allow users to search/filter metrics and ideally present sparklines of each metric as it loads. Eventually this could become a launching point for creating new graphs.
Provide an interface for creating/modifying graphs within Descartes. This should provide users with a native alternative to Graphite's composer.
Filtering by tag in the dashboard list view should query for any dashboards or graphs that contain the tag(s).
Allow the user to select a custom time period / range for the graphs in the current workspace. Ideally, they should be able to save this as the "default view". Unsure if this should be a global default or per-user default.
Ability to adjust the areaAlpha (graph-level) setting from the profile details panel. Should probably be a slider using http://jqueryui.com/demos/slider/.
Perform client-side rendering of charts using D3, rather than relying on the Graphite png output. This will allow us to support interactive features like hover legends, "infinite" axes and multi-dimensional charts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.