Merge "Mark merged callsites as [merged]"
diff --git a/ui/src/common/flamegraph_unittest.ts b/ui/src/common/flamegraph_unittest.ts
index fc19250..6b3e178 100644
--- a/ui/src/common/flamegraph_unittest.ts
+++ b/ui/src/common/flamegraph_unittest.ts
@@ -162,7 +162,7 @@
     {
       id: 2,
       parentId: 1,
-      name: 'A2',
+      name: '[merged]',
       depth: 1,
       totalSize: 10,
       selfSize: 0,
@@ -269,7 +269,7 @@
     {
       id: 3,
       parentId: 1,
-      name: 'A3',
+      name: '[merged]',
       depth: 1,
       totalSize: 5,
       selfSize: 0,
@@ -278,7 +278,7 @@
     {
       id: 6,
       parentId: 3,
-      name: 'A36',
+      name: '[merged]',
       depth: 2,
       totalSize: 3,
       selfSize: 0,
@@ -392,7 +392,7 @@
     {
       id: 3,
       parentId: 1,
-      name: 'A3',
+      name: '[merged]',
       depth: 1,
       totalSize: 5,
       selfSize: 0,
@@ -507,7 +507,7 @@
     {
       id: 3,
       parentId: 1,
-      name: 'A3',
+      name: '[merged]',
       depth: 1,
       totalSize: 4,
       selfSize: 0,
@@ -597,7 +597,7 @@
     {
       id: 1,
       parentId: -1,
-      name: 'A',
+      name: '[merged]',
       depth: 0,
       totalSize: 12,
       selfSize: 0,
@@ -821,7 +821,7 @@
     {
       id: 4,
       parentId: 1,
-      name: 'A4',
+      name: '[merged]',
       depth: 1,
       totalSize: 35,
       selfSize: 0,
@@ -857,7 +857,7 @@
     {
       id: 10,
       parentId: 4,
-      name: 'A410',
+      name: '[merged]',
       depth: 2,
       totalSize: 25,
       selfSize: 0,
@@ -866,7 +866,7 @@
     {
       id: 15,
       parentId: 7,
-      name: 'A715',
+      name: '[merged]',
       depth: 2,
       totalSize: 25,
       selfSize: 0,
diff --git a/ui/src/common/flamegraph_util.ts b/ui/src/common/flamegraph_util.ts
index f4f4d16..383f603 100644
--- a/ui/src/common/flamegraph_util.ts
+++ b/ui/src/common/flamegraph_util.ts
@@ -66,6 +66,7 @@
     copiedCallsite.parentId =
         getCallsitesParentHash(copiedCallsite, mergedCallsites);
 
+    let mergedAny = false;
     // If current callsite is small, find other small callsites with same depth
     // and parent and merge them into the current one, marking them as merged.
     if (copiedCallsite.totalSize <= minSizeDisplayed && i + 1 < data.length) {
@@ -77,10 +78,14 @@
             nextCallsite.totalSize <= minSizeDisplayed) {
           copiedCallsite.totalSize += nextCallsite.totalSize;
           mergedCallsites.set(nextCallsite.id, copiedCallsite.id);
+          mergedAny = true;
         }
         j++;
         nextCallsite = data[j];
       }
+      if (mergedAny) {
+        copiedCallsite.name = '[merged]';
+      }
     }
     mergedData.push(copiedCallsite);
   }
@@ -112,4 +117,4 @@
     i++;
   }
   return totalSize;
-}
\ No newline at end of file
+}