New etrace features

If you’re interested in more data, I did a large analysis over here: Squashfs performance effect on snap startup time

Specifically, what it does is this:

  1. clear the VM caches in the kernel via this code etrace/internal/profiling/profiling.go at master · canonical/etrace · GitHub
  2. uninstall the snap (which unmounts the squashfs and should in effect free the loopback device)
  3. reinstall the snap (which should allocate a new loopback device)
  4. delete all snap user data like profiles (and restore it at the end of the run too so that user’s data isn’t permanently lost)
  5. discard the snap mount namespace (though again this should be done already by removing the snap)
  6. start the snap (either with tracing or without, without tracing is the closest to a real run a user would do)
  7. wait for the snap to display a window and capture the time it took
  8. immediately kill the snap process and display the output
1 Like