cta-wave / device-observation-framework

This repository contains the WAVE Device Observation Framework. The DPCTF Device Observation Framework determines pass or fail results, based on observations taken of tests which are run on a device by the DPCTF Test Runner. DPCTF is the Device Playback Compatibility Task Force of the CTA WAVE Project (https://CTA.tech/WAVE and standards@CTA.tech for more info).
Other
1 stars 3 forks source link

documentation on debugging observation failures #51

Closed jpiesing closed 9 months ago

jpiesing commented 1 year ago

Please consider writing some documentation on debugging observation failures. Perhaps a general section on what's common to all observations and then a paragraph on each observation.

For example, if failing the observation for duration with an error message like "Playback duration 30156.67ms does not match expected duration 30000.0ms +/- tolerance of 20ms. Allowed tolerance is20ms and duration frame tolerance is 0. Starting missing frame number is 0. Starting frames to take out is 0. Endingmissing frame number is 0."

I guess to debug this, someone would need to look at the recording and identify the start and end frames used to compute the duration and calculate the time difference between those frames themselves. If frames are being duplicated or dropped then that would show up as a failure of "The presented sample matches the one reported by the currentTime value within the tolerance of the sample dur…" with the first frame reported in that error message being the one that is duplicated or the first one after the one that has been dropped.

jpiesing commented 1 year ago

Another example;

[OF] The presented sample matches the one reported by the currentTime value within the tolerance of the sample dur… FAIL Xx01: Allowed tolerance is 2 frames, 20ms. Time diff erence between Test Runner reported media currentTime and actual mediatime exceeded tolerance for following events: currentTime=0.0 time_diff =1.7976931348623157e+308; currentTime=0.0time_diff =1.7976931348623157e+308; currentTime=0.0 time_diff =1.7976931348623157e+308; currentTime=0.0time_diff =1.7976931348623157e+308; currentTime=7.946 time_diff =74.0;

The first of these are issue #48 but documentation giving guidance on how to investigate the last one would be helpful.

yanj-github commented 1 year ago

Observation-Algorithms is documented here which can be used for debugging. https://github.com/cta-wave/device-observation-framework/wiki/Observation-Algorithms

OF should be run to enable debug log "--log debug" so that "qr_code_list.csv" file is logged which contains full QR code information

yanj-github commented 1 year ago

I think this is documented feel free to close if you are happy as well @jpiesing

jpiesing commented 1 year ago

@yanj-github I haven't closed it as I think there are things that are obvious to you and less to others. Perhaps a more complete version of the following.

The following steps may help to debug a test where the observation framework reports a failure;

yanj-github commented 1 year ago

Document is added here https://github.com/cta-wave/device-observation-framework/wiki/Debugging-Observation-Failures

gitwjr commented 11 months ago

@jpiesing will read through the document and comment. It is already posted in a repo. @gitwjr Add new issue on how a test engineer would find the document when there are failures.

jpiesing commented 9 months ago

I think this is as good as it's going to get for now. It can be improved later based on more experience.