vm_tools: sommelier: Add some simple surface tracing.

BUG=b:171318722
TEST=sommelier --trace-filename=/tmp/trace.pftrace -X xterm &; kill -USR1 %1

Change-Id: Ie4a59b92e60b7676176b5d7e120c48d345237dd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2476815
Tested-by: David Riley <davidriley@chromium.org>
Commit-Queue: David Riley <davidriley@chromium.org>
Reviewed-by: Fergus Dall <sidereal@google.com>
diff --git a/vm_tools/sommelier/sommelier-compositor.cc b/vm_tools/sommelier/sommelier-compositor.cc
index 86f08e1..61cbe7f 100644
--- a/vm_tools/sommelier/sommelier-compositor.cc
+++ b/vm_tools/sommelier/sommelier-compositor.cc
@@ -2,7 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "sommelier.h"  // NOLINT(build/include_directory)
+#include "sommelier.h"          // NOLINT(build/include_directory)
+#include "sommelier-tracing.h"  // NOLINT(build/include_directory)
 
 #include <assert.h>
 #include <errno.h>
@@ -138,6 +139,7 @@
 }
 
 static void sl_output_buffer_release(void* data, struct wl_buffer* buffer) {
+  TRACE_EVENT("surface", "sl_output_buffer_release");
   struct sl_output_buffer* output_buffer =
       static_cast<sl_output_buffer*>(wl_buffer_get_user_data(buffer));
   struct sl_host_surface* host_surface = output_buffer->surface;
@@ -476,6 +478,8 @@
   struct sl_viewport* viewport = NULL;
   struct sl_window* window;
 
+  TRACE_EVENT("surface", "sl_host_surface_commit");
+
   if (!wl_list_empty(&host->contents_viewport))
     viewport = wl_container_of(host->contents_viewport.next, viewport, link);
 
@@ -645,8 +649,10 @@
   }
 
   if (host->contents_shm_mmap) {
-    if (host->contents_shm_mmap->buffer_resource)
+    if (host->contents_shm_mmap->buffer_resource) {
+      TRACE_EVENT("surface", "sl_host_surface_commit wl_buffer_send_release");
       wl_buffer_send_release(host->contents_shm_mmap->buffer_resource);
+    }
     sl_mmap_unref(host->contents_shm_mmap);
     host->contents_shm_mmap = NULL;
   }
diff --git a/vm_tools/sommelier/sommelier.cc b/vm_tools/sommelier/sommelier.cc
index 629dd0f..dc8ab11 100644
--- a/vm_tools/sommelier/sommelier.cc
+++ b/vm_tools/sommelier/sommelier.cc
@@ -844,6 +844,8 @@
     sl_host_buffer_destroy};
 
 static void sl_buffer_release(void* data, struct wl_buffer* buffer) {
+  TRACE_EVENT("surface", "sl_buffer_release");
+
   struct sl_host_buffer* host =
       static_cast<sl_host_buffer*>(wl_buffer_get_user_data(buffer));