Calcuates and reports frame buffer latencies

This change implements logics to calculate multiple frame buffer
latencies and reports them to statds and the users.  For example, below
example shows LSHAL status dump with frame buffer latencies.

$ adb shell lshal debug \
    android.hardware.automotive.evs@1.1::IEvsEnumerator/default \
    --dump camera all --collected

/dev/video1
    Number of collections: 1
    Collection interval: 10secs
        Time Collected: @1560033ms
        Frames Received: 136
        Frames Returned: 135
        Frames Ignored : 0
        Frames Skipped To Sync: 0
        Frames First Roundtrip: 1
        Frames Peak Roundtrip: 94
        Frames Average Roundtrip: 69.133333
        Peak Number of Clients: 1

Fix: 156131016
Test: Run above example
Change-Id: I77faf15fce99207189b95484f3c4a0d334501cdc
3 files changed
tree: 59118d5e05de9a28fcc4cb4fc1c2d9eb2f133dc2
  1. car-bugreportd/
  2. car-default-input-service/
  3. car-internal-lib/
  4. car-lib/
  5. car-maps-placeholder/
  6. car-systemtest-lib/
  7. car-test-lib/
  8. car-usb-handler/
  9. car_product/
  10. computepipe/
  11. EncryptionRunner/
  12. evs/
  13. experimental/
  14. FrameworkPackageStubs/
  15. obd2-lib/
  16. procfs-inspector/
  17. service/
  18. surround_view/
  19. tests/
  20. tools/
  21. user/
  22. vehicle-hal-support-lib/
  23. watchdog/
  24. .clang-format
  25. .gitignore
  26. Android.mk
  27. CleanSpec.mk
  28. CPPLINT.cfg
  29. OWNERS
  30. PREUPLOAD.cfg
  31. README.md
  32. TEST_MAPPING
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.