diff options
author | 2024-10-21 22:15:16 +0000 | |
---|---|---|
committer | 2024-10-21 22:15:16 +0000 | |
commit | eb6bc3d377ff6bde3af9368a0a6f9a20b6c88c08 (patch) | |
tree | f23f61861c0f3881ce287dd185eaa3c1b1ff897c /services/surfaceflinger/SurfaceFlinger.cpp | |
parent | 84b7155fe5026c01a54f3f77d1da3a71c400e623 (diff) | |
parent | d05a745a9b714eaeb8893a6a0db3069c2567726f (diff) |
Merge "Add metrics for logging SurfaceControl events" into main
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index acf50f0076..09dbc59c69 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -83,6 +83,7 @@ #include <renderengine/RenderEngine.h> #include <renderengine/impl/ExternalTexture.h> #include <scheduler/FrameTargeter.h> +#include <statslog_surfaceflinger.h> #include <sys/types.h> #include <ui/ColorSpace.h> #include <ui/DebugUtils.h> @@ -3143,6 +3144,19 @@ void SurfaceFlinger::onCompositionPresented(PhysicalDisplayId pacesetterId, mAddingHDRLayerInfoListener = false; } + for (const auto& layerEvent : mLayerEvents) { + auto result = + stats::stats_write(stats::SURFACE_CONTROL_EVENT, + static_cast<int32_t>(layerEvent.uid), + static_cast<int64_t>(layerEvent.timeSinceLastEvent.count()), + static_cast<int32_t>(layerEvent.dataspace)); + if (result < 0) { + ALOGW("Failed to report layer event with error: %d", result); + } + } + + mLayerEvents.clear(); + if (haveNewListeners || mHdrLayerInfoChanged) { for (auto& [compositionDisplay, listener] : hdrInfoListeners) { HdrLayerInfoReporter::HdrLayerInfo info; |