Allow pinning processes
diff --git a/ui/src/core_plugins/dev.perfetto.Timeline/track_view.ts b/ui/src/core_plugins/dev.perfetto.Timeline/track_view.ts
index 7c96c7a..3c1e7e9 100644
--- a/ui/src/core_plugins/dev.perfetto.Timeline/track_view.ts
+++ b/ui/src/core_plugins/dev.perfetto.Timeline/track_view.ts
@@ -163,9 +163,7 @@
           (removable || node.removable) && this.renderCloseButton(),
           this.renderTrackMenuButton(),
           // Always-visible buttons last (pin button is visible when pinned)
-          // We don't want summary tracks to be pinned as they rarely have
-          // useful information.
-          !node.isSummary && this.renderPinButton(),
+          this.renderPinButton(),
           // Area seletion (when in area selection mode is always visible so put
           // it at the end)
           this.renderAreaSelectionCheckbox(),
diff --git a/ui/src/public/workspace.ts b/ui/src/public/workspace.ts
index be0f5a0..943d073 100644
--- a/ui/src/public/workspace.ts
+++ b/ui/src/public/workspace.ts
@@ -607,14 +607,9 @@
    * Adds a track node to this workspace's pinned area.
    */
   pinTrack(track: TrackNode): void {
-    // Make a lightweight clone of this track - just the uri and the title.
-    const cloned = new TrackNode({
-      uri: track.uri,
-      name: track.name,
-      subtitle: track.subtitle,
-      removable: track.removable,
-      chips: track.chips,
-    });
+    const cloned = track.clone(true);
+    // Replace the name with the full path to help with lineage tracking.
+    cloned.name = track.fullPath.join(' > ');
     this.pinnedTracksNode.addChildLast(cloned);
   }