Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement per-benchmark over-time plots in comparison view #106

Merged
merged 28 commits into from
Aug 1, 2022

Commits on Jul 28, 2022

  1. Added missing project name for fetching profile data

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    7142243 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2022

  1. Add uPlot dependency and use terser to minify it for use as static re…

    …source
    
    Fix naming of pretest script, was prep-resource before, which doesn’t make sense anymore.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    0ca2198 View commit details
    Browse the repository at this point in the history
  2. Add .btn-timeline and avoid redundant definitions in CSS

    - also adjust button size to be slightly smaller
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    fa35ba8 View commit details
    Browse the repository at this point in the history
  3. Implement timeline plots for use directly on the change report

    This encodes the parameters of the benchmark on the button, and uses project name and baseline and change commit ids from the meta data of the page.
    
    To distinguish the baseline and change branches, we request them first based on the commit ids.
    
    The response to the UI is already prepared for display.
    
    The plots are generated with uPlot, a lightweight canvas-based library. This seems more scalable than plot.ly.
    
    To make TypeScript happy about uPlot, added path mappings, which makes the code work in the browser, too.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    dd77d81 View commit details
    Browse the repository at this point in the history
  4. Probably want the data_en, which is the smallest subset, to identify …

    …the command line
    
    - align whitespace
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    190d04c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c312090 View commit details
    Browse the repository at this point in the history
  6. Extract filename as constant, for shorter code

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    6e6beb7 View commit details
    Browse the repository at this point in the history
  7. Remove debugging stuff

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    19e0710 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    af6bd24 View commit details
    Browse the repository at this point in the history
  9. Ignore JS files in resources folder, since we generate them when depl…

    …oying the system
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    8b1d5ce View commit details
    Browse the repository at this point in the history
  10. Compute needed space for y axis labels

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    10cf9db View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    67943a7 View commit details
    Browse the repository at this point in the history
  12. Highlight the current baseline and change data points the timeline

    - in the database, also determine whether a datapoint is the current one
    - send the time stamp details to the client. this avoids having to send a lot of nulls in arrays
    - on client, add data series that only contain the point to highlight, and display that one larger and filled with the light color
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    83a5013 View commit details
    Browse the repository at this point in the history
  13. Remove unneeded and incorrect class from timeline container

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    312ef42 View commit details
    Browse the repository at this point in the history
  14. Copy and adapt uPlot CSS for our needs

    - make the legend a proper table, that doesn’t jiggle as much around
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    a5c539d View commit details
    Browse the repository at this point in the history
  15. Hide the change data series if it doesn’t contain data

    In the comparison view we however still want the current data point then being indicated as changed data point.
    
    Strictly speaking, we’re missing the current data point for the baseline, though, well, that’s something for another day…
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    b5f26f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2022

  1. Move minimization of uPlot to precompile

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    438c605 View commit details
    Browse the repository at this point in the history
  2. Explicitly resolve uPlot file for jest

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    01be234 View commit details
    Browse the repository at this point in the history
  3. Added todos for writing tests

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    d7d10f1 View commit details
    Browse the repository at this point in the history
  4. Rename numReplicates to numBootstrapSamples to make more clear what i…

    …t is used for
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    18f0e96 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d8faec8 View commit details
    Browse the repository at this point in the history
  6. Implement tests for db.getBranchNames

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    a134bb8 View commit details
    Browse the repository at this point in the history
  7. Fix condition on how many rows we expect

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    c91c33d View commit details
    Browse the repository at this point in the history
  8. Added basic tests for timeline values

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    93363a1 View commit details
    Browse the repository at this point in the history
  9. Start using tslog and add own assert function

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    d1ec386 View commit details
    Browse the repository at this point in the history
  10. Add missing logging.ts

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    8087d61 View commit details
    Browse the repository at this point in the history
  11. Eliminate duplicate results from fetchBranchNamesForChange

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Jul 31, 2022
    Configuration menu
    Copy the full SHA
    c4cd65b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    28597a4 View commit details
    Browse the repository at this point in the history