Merge lp:~kdub/mir/anw-logger into lp:mir
| Status: | Merged |
|---|---|
| Merged at revision: | 3589 |
| Proposed branch: | lp:~kdub/mir/anw-logger |
| Merge into: | lp:mir |
| Diff against target: |
1511 lines (+574/-110) 17 files modified
src/platforms/android/client/android_client_platform.cpp (+14/-35) src/platforms/android/common/CMakeLists.txt (+1/-0) src/platforms/android/common/mir_native_window.cpp (+55/-6) src/platforms/android/common/native_window_report.cpp (+170/-0) src/platforms/android/include/mir_native_window.h (+7/-1) src/platforms/android/include/native_window_report.h (+81/-0) src/platforms/android/server/display.cpp (+7/-1) src/platforms/android/server/display.h (+3/-0) src/platforms/android/server/platform.cpp (+55/-34) src/platforms/android/server/platform.h (+3/-0) tests/unit-tests/client/android/test_android_native_window.cpp (+27/-28) tests/unit-tests/graphics/android/CMakeLists.txt (+1/-0) tests/unit-tests/graphics/android/test_anw_logger.cpp (+107/-0) tests/unit-tests/graphics/android/test_display.cpp (+31/-0) tests/unit-tests/graphics/android/test_display_buffer.cpp (+3/-1) tests/unit-tests/graphics/android/test_display_hotplug.cpp (+2/-0) tests/unit-tests/graphics/android/test_platform.cpp (+7/-4) |
| To merge this branch: | bzr merge lp:~kdub/mir/anw-logger |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Mir CI Bot | continuous-integration | Needs Fixing on 2016-07-12 | |
| Andreas Pokorny (community) | 2016-07-06 | Approve on 2016-07-12 | |
| Alan Griffiths | Approve on 2016-07-12 | ||
| Chris Halse Rogers | Approve on 2016-07-12 | ||
|
Review via email:
|
|||
Commit Message
android: add loggers for ANativeWindow events. The logging can be turned on for the server context with "--report-
Description of the Change
android: add loggers for ANativeWindow events. The logging can be turned on for the server context with "--report-
logging this information is helpful in diagnosing android driver problems.
sample log:
[2016-07-11 05:48:52.454842] <DEBUG> AndroidNativeWi
[2016-07-11 05:48:52.455548] <DEBUG> AndroidNativeWi
[2016-07-11 05:48:52.456375] <DEBUG> AndroidNativeWi
[2016-07-11 05:48:52.457877] <DEBUG> AndroidNativeWi
[2016-07-11 05:48:52.459220] <DEBUG> AndroidNativeWi
[2016-07-11 05:48:52.469637] <DEBUG> AndroidNativeWi
^CSignal 2 received. Good night.
| Andreas Pokorny (andreas-pokorny) wrote : | # |
Why logger and not report? It kind of stands out next to HwcReport and DisplayReport.
Looks fine.
| Kevin DuBois (kdub) wrote : | # |
ci failure was somewhat strange, looks unrelated and device-setup specific:
19:59:49 Failed to set up camera device
| Kevin DuBois (kdub) wrote : | # |
> Why logger and not report? It kind of stands out next to HwcReport and
> DisplayReport.
>
> Looks fine.
the option is called report to line up with the hwc-report, is that what is being referred to?
| Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:3585
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Kevin DuBois (kdub) wrote : | # |
^failure needs fixing
| Kevin DuBois (kdub) wrote : | # |
> ^failure needs fixing
poking around a bit more, not so sure if this is pre-existing smoke test problem or not. Will keep investigating
| Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:3586
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
| Kevin DuBois (kdub) wrote : | # |
previous CI failure was similar to LP: #1597768, could not reproduce on my device.
| Andreas Pokorny (andreas-pokorny) wrote : | # |
> > Why logger and not report? It kind of stands out next to HwcReport and
> > DisplayReport.
> >
> > Looks fine.
>
> the option is called report to line up with the hwc-report, is that what is
> being referred to?
I was referring to the class names.. ConsoleNativeWi
| Alan Griffiths (alan-griffiths) wrote : | # |
Can we justify this design?
+ std::cout << win << type << ": " << buf << ", fence: ";
Should we be using std::cout directly?
We have a logging facility that provides timestamps and log levels (and can be redirected to other outputs).
In the server where, AFAICS, this code could be running we have a "reports" infrastructure that can provide logs (using the logging facility) or other analysis of system behavior. That could also be an alternative design.
~~~~
- return self->queueBuff
+ return self->queueBuff
How is this related to adding a logger?
| Kevin DuBois (kdub) wrote : | # |
IMO, writing to stdout is sufficient for the intented purposes. I don't mind reworking to use the common/ logging facilities though.
Its useful to know whether a device is using a deprecated function or not, and splitting the queueBuffer entry points to the MirNativeWindow lets us distinguish what hook the driver is calling.
| Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:3587
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
| Kevin DuBois (kdub) wrote : | # |
^ #1573293, retriggering
| Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:3587
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
| Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
| Kevin DuBois (kdub) wrote : | # |
^LP: #1602199, seems to be an ongoing CI storm, will retrigger once problem is resolved.

FAILED: Continuous integration, rev:3585 /mir-jenkins. ubuntu. com/job/ mir-ci/ 1235/ /mir-jenkins. ubuntu. com/job/ build-mir/ 1437/console /mir-jenkins. ubuntu. com/job/ build-0- fetch/1489 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 1480 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 1480 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 1451 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 1451/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 1451 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 1451/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 1451/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 1451/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 1451 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 1451/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 1451 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 1451/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 1235/rebuild
https:/