Giter Site home page Giter Site logo

anvil's People

Contributors

brent-knight-bl avatar dirkraft avatar karmakettle avatar raowang87 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

dirkraft

anvil's Issues

ability to reorder boards on a wall

do it in a modal (because the boards are too large to drag-order). Consider click and drag handles. It won't be too horrible in the minimal elements of the modal (drag would be very horrible trying to attach to the actual boards on the main page)

unreferenced metrics

Metrics cost $. A lot of metrics probably go unused. Generate a report of metrics that are not referenced by any wall.

e2e tests

should really get some tests in here because prior things are going to start breaking as more features are added. The current rough set of features follows, which could be broken down into smaller scenarios, or could all be stitched into one giant "story"

  • Create/delete several walls
  • Add/remove several boards
  • Add/remove several series
  • Rename a wall
  • Rename boards
  • Adjust window/period
  • "Save as default" window/period

configuration/auth check is insufficient

auth check works, but other configuration isn't involved (like s3 bucket, prefix) and so is not verified.

Make the check better. Inform check failures to users in a useful way, e.g.

Failed to read Anvil data for your organization. Did you receive a "shared configuration link" provided by your organization? Did you click "Check and Save" on the configuration page?

command click on list should open new tab

This is standard browser behavior which has been somehow subverted by our application (probably ui-router).
Because all pages have proper linking navigation, this should be possible. Just need to
turn the "View" button into an <a href="..." class="btn" ...> and I think the browser will do the right thing.

overlay adjacent windows

Time/window/period sliders/dials will quickly become absolutely onerous if done to 100%. Start with a small input on the window/period which reads something like "overlay adjacent windows".

This will require some help text to explain what the hell it is.

better default display name

Often in practice the metric name is the same across many series added to the same board. Often dimensions are the only part of the metric identifier that differs.

Concatenate all identifiers of a metric and then default the displayed name to portion of that string which is unique (differentiable) from all other such series identifiers (new behavior).

If that produces no string, fallback to the plain name field (existing behavior).

document architecture and AWS resources

so that a potential user understands what AWS resources are in play, and a general idea of how anvil works (walls defined in JSON stored in S3, all data is read directly from AWS APIs, ...)

make walls bucket and prefix configurable

so that this app can be used by anyone

  • If bucket and prefix are not defined, let user define them.
    • Provide means to create the bucket directly from the UI? screep
  • Links should include this information, so that such boards can be shared.

graph refresh race condition

possibly a race condition between

  • modifying window
  • and "save as default"

graph refresh purple spinner disppears before graph is actually refreshed

searching is weak because AWS exposes no such API

All solutions seem to require a backend?

In configuration provide optional indexer http endpoint, which is a search backend. If a backend has been defined, make searches run against that instead of against CloudWatch.listMetrics

explicitly set x-axis range

Currently the x-axis is the min/max datetime of data points. If the window is set to 12 hours, but the series only go as far as 2 hours back, the x-axis starts 2 hours ago, which can be confusing since the window is set to 12.

Explicitly set the range of the x-axis to [now - window, now]

edit board, metric search - click text to fill search

example: current series includes something with name "the orange metric"

user clicks on "the orange metric" and that is copied into the corresponding search field. This will be particularly useful on namespaces which are likely the same for a particular board

don't connect gaps

There's a big difference between no-data and "I'm not sure if this is data or flot is just connecting the dots"

There's a flot plugin that might work

http://joeloughton.com/blog/web-applications/flot-plugins-x-gap-threshold/

Set gaps threshold based on aggregation period, e.g. if aggregation periods of 15 minutes is selected,
then a continuous set of data would have a point every 15 minutes. A gap is any consecutive pair of points more than 15 minutes apart.

add layouts

The present value of anvil is simply to save, recall, and share selections of series. Take it to the next (nearby) level of allowing a few basic layouts.

  • come up with a rough layout pattern (codewise)
  • Start with just one layout: columnar, and user selects number of columns
    • #25 reorder modal must then become a more general layout reorganization modal

add refresh button, auto-refresh lock

Would be slightly nicer than refreshing the whole page because scroll.

  • Refresh "recycle" arrows, fixed to top of window?
  • Some way to lock the refresh button (every 1 minute)

pack deployable

Loading is a little slow (but not really) because there are a bunch of individual files that the browser must retrieve. Right now it's not too many, but eventually there will be more and slow load is always unacceptable (says me).

gulp-concat all the js into one file?
webpack?
browserify?

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.