github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/packages/pyroscope-flamegraph/src/convert/testData.ts (about)

     1  import type { TreeNode } from './flamebearersToTree';
     2  
     3  export const tree: TreeNode = {
     4    name: 'name',
     5    key: '/name',
     6    self: [0],
     7    total: [1000],
     8    children: [
     9      {
    10        name: 'specific-function-name',
    11        key: '/name/specific-function-name',
    12        self: [0],
    13        total: [600],
    14        children: [
    15          {
    16            name: 'specific-function-name',
    17            key: '/name/specific-function-name/specific-function-name',
    18            self: [200],
    19            total: [200],
    20            children: [],
    21          },
    22          {
    23            name: 'wwwwwww',
    24            key: '/name/specific-function-name/wwwwwww',
    25            self: [20],
    26            total: [400],
    27            children: [
    28              {
    29                name: 'name-3-2',
    30                key: '/name/specific-function-name/wwwwwww/name-3-2',
    31                self: [380],
    32                total: [380],
    33                children: [],
    34              },
    35            ],
    36          },
    37        ],
    38      },
    39      {
    40        name: 'name-2-2',
    41        key: '/name/name-2-2',
    42        self: [0],
    43        total: [400],
    44        children: [
    45          {
    46            name: 'name-3-1',
    47            key: '/name/name-2-2/name-3-1',
    48            self: [100],
    49            total: [400],
    50            children: [
    51              {
    52                name: 'specific-function-name',
    53                key: '/name/name-2-2/name-3-1/specific-function-name',
    54                self: [0],
    55                total: [300],
    56                children: [
    57                  {
    58                    name: 'name-5-1',
    59                    key: '/name/name-2-2/name-3-1/specific-function-name/name-5-1',
    60                    self: [150],
    61                    total: [150],
    62                    children: [],
    63                  },
    64                  {
    65                    name: 'name-5-2',
    66                    key: '/name/name-2-2/name-3-1/specific-function-name/name-5-2',
    67                    self: [150],
    68                    total: [150],
    69                    children: [],
    70                  },
    71                ],
    72              },
    73            ],
    74          },
    75        ],
    76      },
    77    ],
    78  };
    79  
    80  const singleAppearanceZeroCalleesTree = {
    81    name: 'name-5-2',
    82    children: [],
    83    self: [0],
    84    total: [150],
    85    key: '/name-5-2',
    86  };
    87  const singleAppearanceSingleCalleeTree = {
    88    name: 'wwwwwww',
    89    key: '/wwwwwww',
    90    self: [0],
    91    total: [400],
    92    children: [
    93      {
    94        name: 'name-3-2',
    95        key: '/wwwwwww/name-3-2',
    96        self: [380],
    97        total: [380],
    98        children: [],
    99      },
   100    ],
   101  };
   102  const singleAppearanceMultipleCalleesTree = {
   103    name: 'name-2-2',
   104    key: '/name-2-2',
   105    total: [400],
   106    self: [0],
   107    children: [
   108      {
   109        name: 'name-3-1',
   110        key: '/name-2-2/name-3-1',
   111        self: [100],
   112        total: [400],
   113        children: [
   114          {
   115            name: 'specific-function-name',
   116            key: '/name-2-2/name-3-1/specific-function-name',
   117            self: [0],
   118            total: [300],
   119            children: [
   120              {
   121                name: 'name-5-1',
   122                key: '/name-2-2/name-3-1/specific-function-name/name-5-1',
   123                self: [150],
   124                total: [150],
   125                children: [],
   126              },
   127              {
   128                name: 'name-5-2',
   129                key: '/name-2-2/name-3-1/specific-function-name/name-5-2',
   130                self: [150],
   131                total: [150],
   132                children: [],
   133              },
   134            ],
   135          },
   136        ],
   137      },
   138    ],
   139  };
   140  
   141  export const singleAppearanceTrees = {
   142    zero: singleAppearanceZeroCalleesTree,
   143    one: singleAppearanceSingleCalleeTree,
   144    multiple: singleAppearanceMultipleCalleesTree,
   145  };