Giter Club home page Giter Club logo

buildogram's People

Contributors

fabjan avatar

Stargazers

 avatar

Watchers

 avatar

buildogram's Issues

Reverse the bar chart sorting

The rendered diagram has the most recent runs to the left, and older runs to the right. This may be a confusing default.

The default should be to sort oldest to the left and newest to the right.

expose cache headers in image response

The SVG image response does not provide cache headers.

This means services which cache images correctly might never fetch the latest version of a graph SVG.

To fix this it seems we need to at least have an ETag header: github/markup#224 (I think we can reuse the one we already have for the upstream API call).

Add workflow name filter

When getting the workflow runs for diagramming, we currently get runs for all workflows.

It should be possible to get only the runs of a particular pipeline. They are identified by name.

Add branch filter

When getting the workflow runs for diagramming, we currently get them for all branches.

It should be possible to get only the runs for a particular branch in order to get more specific diagrams, for the right things.

Grouping by run_number is incorrect

The run number is reset when the workflow is renamed, so we can't use it to group attempts together.
The groups of stacked bars are meant to represent runs that have had to be retried.

We can instead build the groups while following the previous_attempt_url property to fetch them.

Cache fills up forever

A simple solution: Set a max limit, throw away half the map when full before inserting.

Must clear etag cache at the same time, otherwise the 304 check flow will be broken when we start deleting cached items.

calculate median and max in windows instead of for all

Right now this series of runs:

100s, 100s, 50s, 50s, 50s, 50s, 50s, 50s, 50s, 50s, 10s, 10s, 10s, 10s, 10s, 10s, 10s, 10s

Results in a max of 100 and median of 50 seconds.

It would be more useful if it the median and max were calculated in segments or windows of configurable length. If the window size was 10, the runs above would be split in (windows are built from the end, the newest runs)

100s, 100s, 50s, 50s, 50s, 50s, 50s, 50s

max: 100, median: 50

50s, 50s, 10s, 10s, 10s, 10s, 10s, 10s, 10s, 10s

max: 50, median: 10

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.