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

Change Measurement table to store iteration values in an array instead of in rows #100

Merged
merged 33 commits into from
Mar 23, 2024

Commits on Mar 20, 2024

  1. Use value array per invocation in Measurement table instead of row pe…

    …r iteration
    
    - added measurement table migration script
    
    Co-authored-by: Humphrey Burchell <[email protected]>
    Co-authored-by: Stefan Marr <[email protected]>
    Signed-off-by: Stefan Marr <[email protected]>
    smarr and HumphreyHCB committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    09a2dc9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0a12938 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. Adapt more code to the assumption that iterations are encoded as part…

    … of Measurement.values
    
    - add a little more typing
    - rename Measurement.value to values
    - refactor data preparation to simply create value batches for insertion
    - remove old test not needed anymore
    - updated small-payload.json to new API format
    - only consider non-null values for timeline computation
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    3f2c723 View commit details
    Browse the repository at this point in the history
  2. Don’t need to explictly record metadata and runs

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    f7d6f4f View commit details
    Browse the repository at this point in the history
  3. Added support to convert data from old API to new format

    This is not a feature to be exposed, this is merely intended for testing, and converting the large-payload file.
    It also helps to define more explicitly what the complete API definition is, because of missing values and criteria without data.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    7e2640d View commit details
    Browse the repository at this point in the history
  4. Use loadLargePayload() in other tests and benchmarks

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    36ae6ee View commit details
    Browse the repository at this point in the history
  5. Reimplement pref-tracking for self-tracking

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    a537700 View commit details
    Browse the repository at this point in the history
  6. Added completeRequestAndHandlePromise which is hiding the promise

    This is hopefully easier to use, and reports errors consistently.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    a5c2206 View commit details
    Browse the repository at this point in the history
  7. Added perf-tracker test

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    83f606d View commit details
    Browse the repository at this point in the history
  8. Fix up test with large payload

    Some of these numbers are still odd, but oh well…
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    a28f465 View commit details
    Browse the repository at this point in the history
  9. Fix resolveCriteria, need to use the id in the client’s data, not the…

    … database id
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    bff392b View commit details
    Browse the repository at this point in the history
  10. Move loadLargePayload() to separate file to avoid issues with jest in…

    … benchmarks
    
    It complains as follows, which we can just avoid:
    
    file:///project/dist/tests/helpers.js:1
            import { expect } from '@jest/globals';
                     ^^^^^^
            SyntaxError: Named export 'expect' not found. The requested module '@jest/globals' is a CommonJS module, which may not support all module.exports as named exports.
            CommonJS modules can always be imported via the default export, for example using:
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    e80ad3f View commit details
    Browse the repository at this point in the history
  11. Fix benchmark sizing by using old data format

    - load old format, do sizing as before, and then convert
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    1e3cf20 View commit details
    Browse the repository at this point in the history
  12. Added basic tests for the standard responses

    This is mostly to have them covered…
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    827c172 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ee03b9c View commit details
    Browse the repository at this point in the history
  14. Add basic tests for BatchingTimelineUpdater and do a little bit of an…

    … optimization
    
    - rename methods for benchmarking (also used for convenience in test)
    - avoid creating empty jobs
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    9a2d81b View commit details
    Browse the repository at this point in the history
  15. Send timeline compute jobs as batches

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    a4fccca View commit details
    Browse the repository at this point in the history
  16. Add more tests for addValues()

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    2871e02 View commit details
    Browse the repository at this point in the history
  17. Quiescence needs to check for new pending jobs

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    0acea95 View commit details
    Browse the repository at this point in the history
  18. Refactor BatchingTimelineUpdater to make it easier to test

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    9fdcaac View commit details
    Browse the repository at this point in the history
  19. Added tests for createValueBatchForInsertion()

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    6092879 View commit details
    Browse the repository at this point in the history
  20. Fix bug in createValueBatchForInsertion() which leads to wrong criter…

    …ion ids being used.
    
    We didn’t increment the criterionId when no measurements were available, which lead to a wrong mapping of the ids used in the input data to ids used in the database.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    8655fa3 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    adb31c1 View commit details
    Browse the repository at this point in the history
  22. Fix Measurements type for data retrived from DB

    - account for new data format with ValuesPossiblyMissing
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    f6530c3 View commit details
    Browse the repository at this point in the history
  23. Use new helper functions to load data and convert it to new format

    The functions are in the next commit.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    f18b768 View commit details
    Browse the repository at this point in the history
  24. Finish the migration to the new MeasurementData encoding

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    100a04b View commit details
    Browse the repository at this point in the history
  25. Finish migration script

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    b57df52 View commit details
    Browse the repository at this point in the history
  26. Unnest arrays in data export to be easier to work with and closer to …

    …the ReBench data file format
    
    - merge redundant type declaration
    - filter out NULL value in the database
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    107ded2 View commit details
    Browse the repository at this point in the history
  27. Check for use of API version 2, if not report an error

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    5edef30 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    b48b9d9 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2024

  1. Remove old todo comments

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 23, 2024
    Configuration menu
    Copy the full SHA
    1777292 View commit details
    Browse the repository at this point in the history
  2. Bump version to 0.5.0

    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 23, 2024
    Configuration menu
    Copy the full SHA
    94dfe6c View commit details
    Browse the repository at this point in the history
  3. Rely on ReBench main branch

    The corresponding PR for the new API support is now merged. And since I didn’t update the docker file, the merge there is actually needed to see whether the benchmarking of ReBenchDB with ReBench itself works.
    
    Signed-off-by: Stefan Marr <[email protected]>
    smarr committed Mar 23, 2024
    Configuration menu
    Copy the full SHA
    e8d018f View commit details
    Browse the repository at this point in the history