Code Monkey home page Code Monkey logo

openjdk-dashboard-v2's Introduction

openjdk-dashboard-v2

The next gen download dashboard

Local run/development steps

  • start DownloadStats
npm install
npm start

Deployment

  • Compile and generate static files
npm run-script build
  • serve ./dist

openjdk-dashboard-v2's People

Contributors

adam-thorpe avatar dependabot[bot] avatar gdams avatar karianna avatar llxia avatar tellison avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openjdk-dashboard-v2's Issues

Proposal for machine usage chart and analysis view

Summary
It would be useful to have the ability to view both the pattern of machine usage over time by platform, and also an analysis of this data (e.g. peak capacity vs peak usage, or total per-day usage vs total per-day capacity).

Reasoning
This data, if correctly analysed, would give us an at-a-glance answer to the following questions:

  • How many machines do we need per platform, vs how many we have (and pay for)?
    Pros: Saves us money.
  • How many builds can we run across all our build machines by platform, per day?
    Pros: Lets us approximate the number of new builds we can add, e.g. fast debug, Amber, etc.
  • How much spare test time do we have?
    Pros: Minimises the risk that a new test will exceed the amount of machine time we have each day.
  • Which platforms have the most spare capacity?
    Pros: Lets us offer nightly build slots to communities, even if we don't have terribly accurate estimates on the amount of time it takes them to build.

Details

The initial vision is of a graph showing available throughput vs used throughput over time, with controls beneath and a side-bar showing analytics.

Optional extras

  • A feature that lets us add multiple hypothetical build and test jobs to each platform, and displays warnings if the addition of these would exceed available machine time.
  • A feature that breaks down machine throughput by cost, and displays the price of adding new builds.

Notes
Some of this may overlap with the Nagios issue. To review when that issue is complete.

Dashboard website is currently down

The website dash.adoptopenjdk.net is currently not responding.

It appears that the Dependabot has made a breaking change to the CNAME file on the gh-pages branch, changing it from dash.adoptopenjdk.net to dash-v2.adoptopenjdk.net.

Note that the master branch still has dash-v2.adoptopenjdk.net.

Feature Request: Normalized graphs for comparing trends

When comparing the trends in OpenJ9 vs Hotspot the differences in absolute values squashes the trends in OpenJ9 into a (more or less) flat line. It would be helpful to see a normalized line graph (probably to the maximum point on each line) to show the trends side by side in a more comparable way.

Adding OpenJ9 vs Hotspot trends

We're looking to increase the v2 dashboard's functionality to be able to show two new sets of data.

  1. A bar chart view of total downloads per month, for both HotSpot and OpenJ9. Eg:

Screenshot 2020-03-25 at 14 25 19

  1. A trend view of HotSpot and OpenJ9's total download figures across a time-period. Eg:

Screenshot 2020-03-25 at 14 35 31

For this we would need some new endpoints from the v3 api (AdoptOpenJDK/openjdk-api-v3#129). Most of the front end work for this seems simple enough as there is already lots of useful framework.

Display download stats using reactjs libraries

With the completion of AdoptOpenJDK/openjdk-api-v3#44, we can use the API to pull the historical download count and compare operating systems, sources, versions and dates. A feature should be added that will allow users to view historical download trends across various fields. This should be possible using reactjs libraries (https://react-dashboard.cube.dev/, https://react-bootstrap.github.io/, etc)

Deliverables

  • Await conversion of website to react.js
  • Show download stats over a specified amount of time
  • Graph download trends across jdk versions, architectures and sources
  • Ensure the stability of the vanilla js website is not upset by the inclusion of react elements

Update dependencies for react and friends

antd ^3.26.18 → ^4.18.7
express ^4.17.1 → ^4.17.2
highcharts ^9.0.0 → ^9.3.3
highcharts-react-official ^2.2.2 → ^3.1.0
http-proxy-middleware ^0.19.2 → ^2.0.3
moment ^2.26.0 → ^2.29.1
react ^16.13.1 → ^17.0.2
react-dom ^16.13.1 → ^17.0.2
react-router ^5.2.0 → ^6.2.1
react-router-dom ^5.2.0 → ^6.2.1
@babel/core ^7.10.2 → ^7.17.2
@babel/plugin-proposal-class-properties ^7.10.1 → ^7.16.7

current master branch won't start (GH Pages deployments also failing)

[email protected] start
node server.js

🚨 Cannot read property 'length' of undefined
at lineCounter (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/utils/lineCounter.js:3:30)
at JSPackager.writeModule (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/packagers/JSPackager.js:127:60)
at async JSPackager.addAsset (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/packagers/JSPackager.js:88:5)
at async Bundle._addDeps (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/Bundle.js:250:5)
at async Bundle._package (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/Bundle.js:219:7)
at async Promise.all (index 0)
at async Bundle.package (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/Bundle.js:202:5)
at async Promise.all (index 2)
at async Bundle.package (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/Bundle.js:202:5)
at async Bundler.bundle (/Users/karianna/Documents/workspace/adoptopenjdk/openjdk-dashboard-v2/node_modules/parcel-bundler/src/Bundler.js:325:27)

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.