|
3 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | 4 |
|
5 | 5 | import classNames from 'classnames'; |
| 6 | +import { Localized } from '@fluent/react'; |
6 | 7 | import { getBacktraceItemsForStack } from 'firefox-profiler/profile-logic/transforms'; |
| 8 | +import { getFunctionName } from 'firefox-profiler/profile-logic/function-info'; |
7 | 9 |
|
8 | 10 | import type { |
9 | 11 | CategoryList, |
@@ -39,21 +41,34 @@ export function Backtrace(props: Props) { |
39 | 41 | {funcNamesAndOrigins |
40 | 42 | // Truncate the stacks |
41 | 43 | .slice(0, maxStacks) |
42 | | - .map(({ funcName, origin, isFrameLabel, category }, i) => ( |
43 | | - <li |
44 | | - key={i} |
45 | | - className={classNames('backtraceStackFrame', { |
46 | | - backtraceStackFrame_isFrameLabel: isFrameLabel, |
47 | | - })} |
48 | | - > |
49 | | - <span |
50 | | - className={`colored-border category-color-${categories[category].color}`} |
51 | | - title={categories[category].name} |
52 | | - /> |
53 | | - {funcName} |
54 | | - <em className="backtraceStackFrameOrigin">{origin}</em> |
55 | | - </li> |
56 | | - ))} |
| 44 | + .map( |
| 45 | + ({ funcName, origin, isFrameLabel, category, inlineDepth }, i) => ( |
| 46 | + <li |
| 47 | + key={i} |
| 48 | + className={classNames('backtraceStackFrame', { |
| 49 | + backtraceStackFrame_isFrameLabel: isFrameLabel, |
| 50 | + })} |
| 51 | + > |
| 52 | + <span |
| 53 | + className={`colored-border category-color-${categories[category].color}`} |
| 54 | + title={categories[category].name} |
| 55 | + /> |
| 56 | + {inlineDepth > 0 ? ( |
| 57 | + <Localized |
| 58 | + id="Backtrace--inlining-badge" |
| 59 | + vars={{ function: getFunctionName(funcName) }} |
| 60 | + attrs={{ title: true }} |
| 61 | + > |
| 62 | + <span className="backtraceBadge inlined" title="inlined"> |
| 63 | + (inlined) |
| 64 | + </span> |
| 65 | + </Localized> |
| 66 | + ) : null} |
| 67 | + {funcName} |
| 68 | + <em className="backtraceStackFrameOrigin">{origin}</em> |
| 69 | + </li> |
| 70 | + ) |
| 71 | + )} |
57 | 72 | {funcNamesAndOrigins.length > maxStacks |
58 | 73 | ? [ |
59 | 74 | <span |
|
0 commit comments