Skip to content

wait interval - time between samples #90

@jamesmarkchan

Description

@jamesmarkchan

add an advanced feature for the user to set a wait interval for their benchmark where a sample write would wait for that interval before writing the next sample. Basically we would take that value and just thread sleep before waiting for the next sample to be written.

This interval could also be referred to as "time between samples"

perhaps a numeric value and a unit can be selected or just a single value where the user would specify mili seconds or seconds.

Image

It would be best to put this on a separate dialog called Advanced Options that can be made visible from the options menu. The wait interval should be saved when set to the jdm.properties file which is loaded at startup.

it is recommended to not just wait for the wait interval and instead after the first sample is written see if the wait interval has passed and if not calculate the time difference remaining before the wait interval, wait for that time and the proceed to write the next sample. this way the start of each sample write will be potentially spaced apart by the wait interval or zero if the wait interval is shorter than the time it takes to write a sample.

Image

note that even though each thread will have the same wait time each thread will need to track it's own last sample write time since threads operate independently of each other.

Definition of Done:

  1. make sure the frame when brought up is centered over the parent frame
  2. user can select and tune the "time between samples" parameter
  3. jdm.properties updated on user select and app loads this value on next app startup.
  4. App.java or some global location has this settings stored and loaded so a swing worker can wait before doing each write
  5. swing worker threads will timestamp each sample write and wait until the duration has fully elapsed before the next sample write. the time between samples writes is regulated by this wait period, not the time between the end of the last sample write and the time of the next sample write.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions