profile-viewer 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/dist/AssemblyView-codemirror-D6IBMDRW.js +3 -0
  3. data/dist/AssemblyView-codemirror-D6IBMDRW.js.map +7 -0
  4. data/dist/SourceView-codemirror-NF5HZACX.js +14 -0
  5. data/dist/SourceView-codemirror-NF5HZACX.js.map +7 -0
  6. data/dist/_headers +1 -4
  7. data/dist/chunk-46YDEKKM.js +2 -0
  8. data/dist/chunk-46YDEKKM.js.map +7 -0
  9. data/dist/chunk-6K4OT4SN.js +11 -0
  10. data/dist/chunk-6K4OT4SN.js.map +7 -0
  11. data/dist/chunk-FQFFJJVU.js +2 -0
  12. data/dist/chunk-FQFFJJVU.js.map +7 -0
  13. data/dist/chunk-JZQU3SPI.js +2 -0
  14. data/dist/chunk-JZQU3SPI.js.map +7 -0
  15. data/dist/chunk-RMHNU7HN.js +2 -0
  16. data/dist/chunk-RMHNU7HN.js.map +7 -0
  17. data/dist/contribute.json +1 -1
  18. data/dist/docs/css/vue_v4.13.1.min.css +1 -0
  19. data/dist/docs/guide-filtering-call-trees.md +12 -0
  20. data/dist/docs/guide-ui-tour-panels.md +16 -1
  21. data/dist/docs/index.html +5 -6
  22. data/dist/docs/js/docsify_v4.13.1+.min.js +1 -0
  23. data/dist/docs/js/init.js +11 -1
  24. data/dist/docs/js/search_v4.13.1+.min.js +1 -0
  25. data/dist/gecko-profiler-demangle-3UYO3F2Y.js +2 -0
  26. data/dist/gecko-profiler-demangle-3UYO3F2Y.js.map +7 -0
  27. data/dist/gz.worker-C7QSA26N.js +38 -0
  28. data/dist/index-CZ7T6DL2.css +2 -0
  29. data/dist/index-CZ7T6DL2.css.map +7 -0
  30. data/dist/index-P5VLDZC7.js +381 -0
  31. data/dist/index-P5VLDZC7.js.map +7 -0
  32. data/dist/index.html +38 -1
  33. data/dist/index_bg-FTIMKZRG.wasm +0 -0
  34. data/dist/jszip.min-JBI6ADTT.js +18 -0
  35. data/dist/jszip.min-JBI6ADTT.js.map +7 -0
  36. data/dist/locales/be/app.ftl +50 -11
  37. data/dist/locales/de/app.ftl +114 -16
  38. data/dist/locales/el/app.ftl +135 -42
  39. data/dist/locales/en-CA/app.ftl +97 -11
  40. data/dist/locales/en-GB/app.ftl +114 -16
  41. data/dist/locales/en-US/app.ftl +116 -1
  42. data/dist/locales/es-CL/app.ftl +105 -15
  43. data/dist/locales/fr/app.ftl +82 -16
  44. data/dist/locales/fur/app.ftl +35 -11
  45. data/dist/locales/fy-NL/app.ftl +114 -16
  46. data/dist/locales/ia/app.ftl +118 -19
  47. data/dist/locales/it/app.ftl +108 -16
  48. data/dist/locales/kab/app.ftl +6 -80
  49. data/dist/locales/nl/app.ftl +114 -16
  50. data/dist/locales/pt-BR/app.ftl +104 -16
  51. data/dist/locales/ru/app.ftl +116 -23
  52. data/dist/locales/sv-SE/app.ftl +114 -16
  53. data/dist/locales/tr/app.ftl +149 -13
  54. data/dist/locales/uk/app.ftl +27 -19
  55. data/dist/locales/zh-CN/app.ftl +75 -13
  56. data/dist/locales/zh-TW/app.ftl +100 -14
  57. data/dist/photon/index.css +2 -0
  58. data/dist/photon/index.css.map +7 -0
  59. data/dist/photon/index.html +856 -26
  60. data/dist/photon/index.js +1 -0
  61. data/dist/photon/index.js.map +7 -0
  62. data/dist/service-worker-compat.js +51 -1
  63. data/dist/simpleperf-UUIE7C7E.js +25 -0
  64. data/dist/simpleperf-UUIE7C7E.js.map +7 -0
  65. data/dist/sw.js +1 -1
  66. data/dist/sw.js.map +1 -1
  67. data/dist/{workbox-e3490c72.js → workbox-1ef09536.js} +2 -2
  68. data/dist/workbox-1ef09536.js.map +1 -0
  69. data/ruby-bin/profile-viewer +48 -40
  70. data/ruby-bin/profile-viewer-version.rb +1 -1
  71. metadata +56 -103
  72. data/dist/022efb839d22fa54a716.svg +0 -28
  73. data/dist/029b9e4fd0218d7b09c6.svg +0 -8
  74. data/dist/0c510afd6169a0a83f97.svg +0 -14
  75. data/dist/0d5cf282780cd1a5ec64.svg +0 -8
  76. data/dist/118632062f4755918dac.svg +0 -4
  77. data/dist/11c5dca6d97c9e10e5b7.svg +0 -9
  78. data/dist/136.ad4176dc2a8e5cf33ef3.bundle.js +0 -2
  79. data/dist/136.ad4176dc2a8e5cf33ef3.bundle.js.map +0 -1
  80. data/dist/171.37d1e1824587d8df0ae2.bundle.js +0 -2
  81. data/dist/171.37d1e1824587d8df0ae2.bundle.js.map +0 -1
  82. data/dist/18e7fdd45099134897d2.svg +0 -8
  83. data/dist/1ddbc3ce40af8c7a648b.svg +0 -6
  84. data/dist/234ed61ab185caff67e3.svg +0 -8
  85. data/dist/280.4edd20bd6228986bbf2e.bundle.js +0 -2
  86. data/dist/280.4edd20bd6228986bbf2e.bundle.js.map +0 -1
  87. data/dist/2d4b477bc424d35a0245.svg +0 -25
  88. data/dist/2e43ad991eb141fc017f.svg +0 -9
  89. data/dist/2ea5b50b7361e6de561c.svg +0 -11
  90. data/dist/2f37d1addc2d2f5b699e.module.wasm +0 -0
  91. data/dist/31fe933f3a12be1aa7f3.svg +0 -4
  92. data/dist/390aa266f451c1005f61.svg +0 -10
  93. data/dist/3a829bf1fcf02598aa4b.svg +0 -6
  94. data/dist/3c3fda7c08bcc9544c64.svg +0 -6
  95. data/dist/4260d5db8309a6f83637.svg +0 -10
  96. data/dist/4536fd0738f36c3463bc.svg +0 -1
  97. data/dist/490065792b7e903c9f3e.svg +0 -6
  98. data/dist/49da6a2153f62ef73d17.svg +0 -7
  99. data/dist/4ecb077d8715f89c0f87.svg +0 -13
  100. data/dist/524e896f487119a0b832.svg +0 -13
  101. data/dist/556.b8d3d4d402ced081615a.bundle.js +0 -2
  102. data/dist/556.b8d3d4d402ced081615a.bundle.js.map +0 -1
  103. data/dist/6bd0589a27236471fdab.svg +0 -4
  104. data/dist/6c6b49af3a86dfdd44e6.svg +0 -4
  105. data/dist/6c8063be3afa1d95c902.svg +0 -3
  106. data/dist/71730566d6c47ffdc965.svg +0 -12
  107. data/dist/7273fadce89da05535e5.svg +0 -4
  108. data/dist/731673c749e57bf6f544.svg +0 -13
  109. data/dist/76e5b29823c9fd62d90d.svg +0 -3
  110. data/dist/7853c71223701f30d495.svg +0 -19
  111. data/dist/79856ce399cb305fafb8.svg +0 -19
  112. data/dist/7c7ac3c7df370340cfd2.svg +0 -7
  113. data/dist/7e3ac9afb25cfe809520.svg +0 -1
  114. data/dist/81762b0b1aacd3686a6b.svg +0 -12
  115. data/dist/86e81402ef76d28ff55f.svg +0 -15
  116. data/dist/874.7cb94ee0732c5a2ca826.bundle.js +0 -2
  117. data/dist/874.7cb94ee0732c5a2ca826.bundle.js.map +0 -1
  118. data/dist/8846b19a497771fe0e9d.svg +0 -4
  119. data/dist/8aae7b979b04407f71a4.svg +0 -3
  120. data/dist/8b8b909e42722172d494.svg +0 -7
  121. data/dist/8dab2a6ba757bcc6e9a5.svg +0 -3
  122. data/dist/9103e94f1d34c15d44be.svg +0 -6
  123. data/dist/957.2f40be4cef3037bc352b.bundle.js +0 -3
  124. data/dist/957.2f40be4cef3037bc352b.bundle.js.LICENSE.txt +0 -19
  125. data/dist/957.2f40be4cef3037bc352b.bundle.js.map +0 -1
  126. data/dist/999.a1119c25d77e1883c1e1.bundle.js +0 -2
  127. data/dist/999.a1119c25d77e1883c1e1.bundle.js.map +0 -1
  128. data/dist/9a7bd6ec36312a2baa7e.svg +0 -1
  129. data/dist/9d858d1a3ab57f8ee2e1.svg +0 -4
  130. data/dist/9eb1fab2684d1e1f0e26.svg +0 -13
  131. data/dist/a3196e840709b18a3119.svg +0 -1
  132. data/dist/aa867391c311267af5a9.svg +0 -4
  133. data/dist/acb8393f3fb9c59b15c9.svg +0 -20
  134. data/dist/b5698a02eef37ce29146.svg +0 -10
  135. data/dist/c3432220f657733ed05f.svg +0 -10
  136. data/dist/ca2af827049e9039ef9c.svg +0 -8
  137. data/dist/d09537c705fb0878eb63.svg +0 -4
  138. data/dist/d6df0017c0241dfe86ff.svg +0 -6
  139. data/dist/d9c199b3e3e469cc5713.svg +0 -10
  140. data/dist/da1f21c60c7217745dd8.svg +0 -1
  141. data/dist/docs/gitpod.md +0 -34
  142. data/dist/docs/js/docsify_v4.12.2+.min.js +0 -1
  143. data/dist/docs/js/ga_v4.12.2.min.js +0 -1
  144. data/dist/docs/js/search_v4.12.2.min.js +0 -1
  145. data/dist/e4ed50222911c5af9a32.svg +0 -12
  146. data/dist/e70722c0fe0ac3d4227b.svg +0 -10
  147. data/dist/f8e25c2ebeb0a0725a9e.svg +0 -12
  148. data/dist/fcb532a05dd4b09c2d08.svg +0 -10
  149. data/dist/fd040fb5f4e7a515bb3c.svg +0 -15
  150. data/dist/main.6cdc9308b67c00785584.bundle.js +0 -198
  151. data/dist/main.6cdc9308b67c00785584.bundle.js.LICENSE.txt +0 -63
  152. data/dist/main.6cdc9308b67c00785584.bundle.js.map +0 -1
  153. data/dist/photon/118632062f4755918dac.svg +0 -4
  154. data/dist/photon/31fe933f3a12be1aa7f3.svg +0 -4
  155. data/dist/photon/49da6a2153f62ef73d17.svg +0 -7
  156. data/dist/photon/6bd0589a27236471fdab.svg +0 -4
  157. data/dist/photon/6c8063be3afa1d95c902.svg +0 -3
  158. data/dist/photon/76e5b29823c9fd62d90d.svg +0 -3
  159. data/dist/photon/8aae7b979b04407f71a4.svg +0 -3
  160. data/dist/photon/8dab2a6ba757bcc6e9a5.svg +0 -3
  161. data/dist/photon/9103e94f1d34c15d44be.svg +0 -6
  162. data/dist/photon/aa867391c311267af5a9.svg +0 -4
  163. data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js +0 -2
  164. data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js.map +0 -1
  165. data/dist/workbox-e3490c72.js.map +0 -1
  166. data/dist/zee-worker.js +0 -1
  167. /data/dist/{4d26f0e38c22eedde178.jpg → firefox-profiler-button-2021-05-06-ZEMGS6NI.jpg} +0 -0
  168. /data/dist/{18a5d1d99f1c65c33b71.png → perf-screenshot-2024-02-29-4YCKHIPD.png} +0 -0
  169. /data/dist/{favicon.png → res/img/favicon.png} +0 -0
  170. /data/dist/{58c5415e952fb6dddd6b.png → spinner-DC3JCQB7.png} +0 -0
@@ -6,12 +6,6 @@
6
6
  ### Localization for the App UI of Profiler
7
7
 
8
8
 
9
- # Naming convention for l10n IDs: "ComponentName--string-summary".
10
- # This allows us to minimize the risk of conflicting IDs throughout the app.
11
- # Please sort alphabetically by (component name), and
12
- # keep strings in order of appearance.
13
-
14
-
15
9
  ## The following feature names must be treated as a brand. They cannot be translated.
16
10
 
17
11
  -firefox-brand-name = Ruby
@@ -27,6 +21,16 @@ AppHeader--app-header = <header>{ -profiler-brand-name }</header> — <subheader
27
21
  AppHeader--github-icon =
28
22
  .title = Go to our Git repository (this opens in a new window)
29
23
 
24
+ ## ThemeToggle
25
+ ## They are used at the top right side of the home page to switch between themes.
26
+
27
+ ThemeToggle--system =
28
+ .title = Follow system theme preference
29
+ ThemeToggle--light =
30
+ .title = Use light theme
31
+ ThemeToggle--dark =
32
+ .title = Use dark theme
33
+
30
34
  ## AppViewRouter
31
35
  ## This is used for displaying errors when loading the application.
32
36
 
@@ -48,6 +52,14 @@ AppViewRouter--error-from-localhost-url-safari =
48
52
  AppViewRouter--route-not-found--home =
49
53
  .specialMessage = The URL you tried to reach was not recognised.
50
54
 
55
+ ## Backtrace
56
+ ## This is used to display a backtrace (call stack) for a marker or sample.
57
+
58
+ # Variables:
59
+ # $function (String) - Name of the function that was inlined.
60
+ Backtrace--inlining-badge = (inlined)
61
+ .title = { $function } was inlined into its caller by the compiler.
62
+
51
63
  ## CallNodeContextMenu
52
64
  ## This is used as a context menu for the Call Tree, Flame Graph and Stack Chart
53
65
  ## panels.
@@ -77,6 +89,21 @@ CallNodeContextMenu--transform-focus-function = Focus on function
77
89
  .title = { CallNodeContextMenu--transform-focus-function-title }
78
90
  CallNodeContextMenu--transform-focus-function-inverted = Focus on function (inverted)
79
91
  .title = { CallNodeContextMenu--transform-focus-function-title }
92
+
93
+ ## The translation for "self" in these strings should match the translation used
94
+ ## in CallTree--samples-self and CallTree--bytes-self. Alternatively it can be
95
+ ## translated as "self values" or "self time" (though "self time" is less desirable
96
+ ## because this menu item is also shown in "bytes" mode).
97
+
98
+ CallNodeContextMenu--transform-focus-self-title =
99
+ Focusing on self is similar to focusing on a function, but only keeps samples
100
+ that contribute to the function’s self time. Samples in callees
101
+ are dropped and the call tree is re-rooted to the focused function.
102
+ CallNodeContextMenu--transform-focus-self = Focus on self only
103
+ .title = { CallNodeContextMenu--transform-focus-self-title }
104
+
105
+ ##
106
+
80
107
  CallNodeContextMenu--transform-focus-subtree = Focus on subtree only
81
108
  .title =
82
109
  Focusing on a subtree will remove any sample that does not include that
@@ -328,6 +355,13 @@ Home--record-instructions =
328
355
  Home--instructions-content =
329
356
  Recording performance profiles requires <a>{ -firefox-brand-name }</a>.
330
357
  However, existing profiles can be viewed in any modern browser.
358
+ Home--fenix-instructions-directly =
359
+ { -firefox-android-brand-name } can be profiled directly on this device. For
360
+ more information, read <a>Profiling { -firefox-android-brand-name } directly on device</a>.
361
+ Home--fenix-instructions-remotely =
362
+ You can also profile { -firefox-android-brand-name } remotely from { -firefox-brand-name }
363
+ for desktop. For more information, please consult this documentation:
364
+ <a>Profiling { -firefox-android-brand-name } remotely</a>.
331
365
  Home--record-instructions-start-stop = Stop and start profiling
332
366
  Home--record-instructions-capture-load = Capture and load profile
333
367
  Home--profiler-motto = Capture a performance profile. Analyse it. Share it. Make Ruby faster.
@@ -335,6 +369,7 @@ Home--additional-content-title = Load existing profiles
335
369
  Home--additional-content-content = You can <strong>drag and drop</strong> a profile file here to load it, or:
336
370
  Home--compare-recordings-info = You can also compare recordings. <a>Open the comparing interface.</a>
337
371
  Home--your-recent-uploaded-recordings-title = Your recent uploaded recordings
372
+ Home--dark-mode-title = Dark mode
338
373
  # We replace the elements such as <perf> and <simpleperf> with links to the
339
374
  # documentation to use these tools.
340
375
  Home--load-files-from-other-tools2 =
@@ -427,6 +462,13 @@ MarkerContextMenu--select-the-sender-thread = Select the sender thread “<stron
427
462
  # $filter (String) - Search string that will be used to filter the markers.
428
463
  MarkerFiltersContextMenu--drop-samples-outside-of-markers-matching = Drop samples outside of markers matching “<strong>{ $filter }</strong>”
429
464
 
465
+ ## MarkerCopyTableContextMenu
466
+ ## This is the menu when the copy icon is clicked in Marker Chart and Marker
467
+ ## Table panels.
468
+
469
+ MarkerCopyTableContextMenu--copy-table-as-plain = Copy marker table as plain text
470
+ MarkerCopyTableContextMenu--copy-table-as-markdown = Copy marker table as Markdown
471
+
430
472
  ## MarkerSettings
431
473
  ## This is used in all panels related to markers.
432
474
 
@@ -435,6 +477,14 @@ MarkerSettings--panel-search =
435
477
  .title = Only display markers that match a certain name
436
478
  MarkerSettings--marker-filters =
437
479
  .title = Marker Filters
480
+ MarkerSettings--copy-table =
481
+ .title = Copy table as text
482
+ # This string is used when the user tries to copy a marker table with
483
+ # more than 10000 rows.
484
+ # Variable:
485
+ # $rows (Number) - Number of rows the marker table has
486
+ # $maxRows (Number) - Number of maximum rows that can be copied
487
+ MarkerSettings--copy-table-exceeed-max-rows = The number of rows exceeds the limit: { $rows } > { $maxRows }. Only the first { $maxRows } rows will be copied.
438
488
 
439
489
  ## MarkerSidebar
440
490
  ## This is the sidebar component that is used in Marker Table panel.
@@ -449,6 +499,16 @@ MarkerTable--duration = Duration
449
499
  MarkerTable--name = Name
450
500
  MarkerTable--details = Details
451
501
 
502
+ ## MarkerTooltip
503
+ ## This is the component for Marker Tooltip panel.
504
+
505
+ # This is used as the tooltip for the filter button in marker tooltips.
506
+ # Variables:
507
+ # $filter (String) - Search string that will be used to filter the markers.
508
+ MarkerTooltip--filter-button-tooltip =
509
+ .title = Only show markers matching: “{ $filter }”
510
+ .aria-label = Only show markers matching: “{ $filter }”
511
+
452
512
  ## MenuButtons
453
513
  ## These strings are used for the buttons at the top of the profile viewer.
454
514
 
@@ -492,11 +552,16 @@ MenuButtons--index--hide-moreInfo-button = Show less
492
552
  # $physicalCPUs (Number), $logicalCPUs (Number) - Number of Physical and Logical CPU Cores
493
553
  MenuButtons--metaInfo--physical-and-logical-cpu =
494
554
  { $physicalCPUs ->
495
- [one] { $physicalCPUs } physical core
496
- *[other] { $physicalCPUs } physical cores
497
- }, { $logicalCPUs ->
498
- [one] { $logicalCPUs } logical core
499
- *[other] { $logicalCPUs } logical cores
555
+ [one]
556
+ { $logicalCPUs ->
557
+ [one] { $physicalCPUs } physical core, { $logicalCPUs } logical core
558
+ *[other] { $physicalCPUs } physical core, { $logicalCPUs } logical cores
559
+ }
560
+ *[other]
561
+ { $logicalCPUs ->
562
+ [one] { $physicalCPUs } physical cores, { $logicalCPUs } logical core
563
+ *[other] { $physicalCPUs } physical cores, { $logicalCPUs } logical cores
564
+ }
500
565
  }
501
566
  # This string is used when we only have the information about the number of
502
567
  # physical CPU cores.
@@ -520,6 +585,8 @@ MenuButtons--metaInfo--profiling-started = Recording started:
520
585
  MenuButtons--metaInfo--profiling-session = Recording length:
521
586
  MenuButtons--metaInfo--main-process-started = Main process started:
522
587
  MenuButtons--metaInfo--main-process-ended = Main process ended:
588
+ MenuButtons--metaInfo--file-name = File name:
589
+ MenuButtons--metaInfo--file-size = File size:
523
590
  MenuButtons--metaInfo--interval = Interval:
524
591
  MenuButtons--metaInfo--buffer-capacity = Buffer Capacity:
525
592
  MenuButtons--metaInfo--buffer-duration = Buffer Duration:
@@ -535,7 +602,8 @@ MenuButtons--metaInfo--buffer-duration-seconds =
535
602
  MenuButtons--metaInfo--buffer-duration-unlimited = Unlimited
536
603
  MenuButtons--metaInfo--application = Application
537
604
  MenuButtons--metaInfo--name-and-version = Name and version:
538
- MenuButtons--metaInfo--application-uptime = Uptime:
605
+ # The time between application startup and when the profiler was started
606
+ MenuButtons--metaInfo--application-uptime2 = Uptime:
539
607
  MenuButtons--metaInfo--update-channel = Update Channel:
540
608
  MenuButtons--metaInfo--build-id = Build ID:
541
609
  MenuButtons--metaInfo--build-type = Build Type:
@@ -734,8 +802,8 @@ ServiceWorkerManager--hide-notice-button =
734
802
 
735
803
  StackSettings--implementation-all-frames = All frames
736
804
  .title = Do not filter the stack frames
737
- StackSettings--implementation-javascript2 = JavaScript
738
- .title = Show only the stack frames related to JavaScript execution
805
+ StackSettings--implementation-script = Script
806
+ .title = Show only the stack frames related to script execution
739
807
  StackSettings--implementation-native2 = Native
740
808
  .title = Show only the stack frames for native code
741
809
  # This label is displayed in the marker chart and marker table panels only.
@@ -743,8 +811,8 @@ StackSettings--stack-implementation-label = Filter stacks:
743
811
  StackSettings--use-data-source-label = Data source:
744
812
  StackSettings--call-tree-strategy-timing = Timings
745
813
  .title = Summarise using sampled stacks of executed code over time
746
- StackSettings--call-tree-strategy-js-allocations = JavaScript Allocations
747
- .title = Summarise using bytes of JavaScript allocated (no de-allocations)
814
+ StackSettings--call-tree-strategy-js-allocations = Ruby Allocations
815
+ .title = Summarise using bytes of Ruby allocated (no de-allocations)
748
816
  StackSettings--call-tree-strategy-native-retained-allocations = Retained Memory
749
817
  .title = Summarise using bytes of memory that were allocated, and never freed in the current preview selection
750
818
  StackSettings--call-tree-native-allocations = Allocated Memory
@@ -756,6 +824,7 @@ StackSettings--call-tree-strategy-native-deallocations-sites = Deallocation Site
756
824
  StackSettings--invert-call-stack = Invert call stack
757
825
  .title = Sort by the time spent in a call node, ignoring its children.
758
826
  StackSettings--show-user-timing = Show user timing
827
+ StackSettings--use-stack-chart-same-widths = Use the same width for each stack
759
828
  StackSettings--panel-search =
760
829
  .label = Filter stacks:
761
830
  .title = Only display stacks which contain a function whose name matches this substring
@@ -849,6 +918,11 @@ TrackPower--tooltip-power-watt = { $value } W
849
918
  # $value (String) - the power value at this location
850
919
  TrackPower--tooltip-power-milliwatt = { $value } mW
851
920
  .label = Power
921
+ # This is used in the tooltip when the instant power value uses the microwatt unit.
922
+ # Variables:
923
+ # $value (String) - the power value at this location
924
+ TrackPower--tooltip-power-microwatt = { $value } μW
925
+ .label = Power
852
926
  # This is used in the tooltip when the power value uses the kilowatt unit.
853
927
  # Variables:
854
928
  # $value (String) - the power value at this location
@@ -998,6 +1072,12 @@ TransformNavigator--focus-subtree = Focus Node: { $item }
998
1072
  # Variables:
999
1073
  # $item (String) - Name of the function that transform applied to.
1000
1074
  TransformNavigator--focus-function = Focus: { $item }
1075
+ # "Focus self" transform.
1076
+ # See: https://profiler.firefox.com/docs/#/./guide-filtering-call-trees?id=focus-on-function-self
1077
+ # Also see the translation note above CallNodeContextMenu--transform-focus-self.
1078
+ # Variables:
1079
+ # $item (String) - Name of the function that transform applied to.
1080
+ TransformNavigator--focus-self = Focus Self: { $item }
1001
1081
  # "Focus category" transform. The word "Focus" has the meaning of an adjective here.
1002
1082
  # See: https://profiler.firefox.com/docs/#/./guide-filtering-call-trees?id=focus-category
1003
1083
  # Variables:
@@ -1125,6 +1205,13 @@ SourceView--not-in-archive-error-when-obtaining-source = The file { $pathInArchi
1125
1205
  # $url (String) - The URL from which the "archive" file was downloaded.
1126
1206
  # $parsingErrorMessage (String) - The raw internal error message during parsing, not localized
1127
1207
  SourceView--archive-parsing-error-when-obtaining-source = The archive at { $url } could not be parsed: { $parsingErrorMessage }
1208
+ # Displayed below SourceView--cannot-obtain-source, if a JS file could not be found in
1209
+ # the browser.
1210
+ # Variables:
1211
+ # $url (String) - The URL of the JS source file.
1212
+ # $sourceUuid (number) - The UUID of the JS source file.
1213
+ # $errorMessage (String) - The raw internal error message, not localized
1214
+ SourceView--not-in-browser-error-when-obtaining-js-source = The browser was unable to obtain the source file for { $url } with sourceUuid { $sourceUuid }: { $errorMessage }.
1128
1215
 
1129
1216
  ## Toggle buttons in the top right corner of the bottom box
1130
1217
 
@@ -1136,6 +1223,17 @@ AssemblyView--show-button =
1136
1223
  # Assembly refers to the low-level programming language.
1137
1224
  AssemblyView--hide-button =
1138
1225
  .title = Hide the assembly view
1226
+ # The "◀" button above the assembly view.
1227
+ AssemblyView--prev-button =
1228
+ .title = Previous
1229
+ # The "▶" button above the assembly view.
1230
+ AssemblyView--next-button =
1231
+ .title = Next
1232
+ # The label showing the current position and total count above the assembly view.
1233
+ # Variables:
1234
+ # $current (Number) - The current position (1-indexed).
1235
+ # $total (Number) - The total count.
1236
+ AssemblyView--position-label = { $current } of { $total }
1139
1237
 
1140
1238
  ## UploadedRecordingsHome
1141
1239
  ## This is the page that displays all the profiles that user has uploaded.
@@ -24,6 +24,16 @@ AppHeader--app-header = <header>{ -profiler-brand-name }</header> — <subheader
24
24
  AppHeader--github-icon =
25
25
  .title = Go to our Git repository (this opens in a new window)
26
26
 
27
+ ## ThemeToggle
28
+ ## They are used at the top right side of the home page to switch between themes.
29
+
30
+ ThemeToggle--system =
31
+ .title = Follow system theme preference
32
+ ThemeToggle--light =
33
+ .title = Use light theme
34
+ ThemeToggle--dark =
35
+ .title = Use dark theme
36
+
27
37
  ## AppViewRouter
28
38
  ## This is used for displaying errors when loading the application.
29
39
 
@@ -47,6 +57,14 @@ AppViewRouter--error-from-localhost-url-safari =
47
57
  AppViewRouter--route-not-found--home =
48
58
  .specialMessage = The URL you tried to reach was not recognized.
49
59
 
60
+ ## Backtrace
61
+ ## This is used to display a backtrace (call stack) for a marker or sample.
62
+
63
+ # Variables:
64
+ # $function (String) - Name of the function that was inlined.
65
+ Backtrace--inlining-badge = (inlined)
66
+ .title = { $function } was inlined into its caller by the compiler.
67
+
50
68
  ## CallNodeContextMenu
51
69
  ## This is used as a context menu for the Call Tree, Flame Graph and Stack Chart
52
70
  ## panels.
@@ -78,6 +96,21 @@ CallNodeContextMenu--transform-focus-function = Focus on function
78
96
  .title = { CallNodeContextMenu--transform-focus-function-title }
79
97
  CallNodeContextMenu--transform-focus-function-inverted = Focus on function (inverted)
80
98
  .title = { CallNodeContextMenu--transform-focus-function-title }
99
+
100
+ ## The translation for "self" in these strings should match the translation used
101
+ ## in CallTree--samples-self and CallTree--bytes-self. Alternatively it can be
102
+ ## translated as "self values" or "self time" (though "self time" is less desirable
103
+ ## because this menu item is also shown in "bytes" mode).
104
+
105
+ CallNodeContextMenu--transform-focus-self-title =
106
+ Focusing on self is similar to focusing on a function, but only keeps samples
107
+ that contribute to the function’s self time. Samples in callees
108
+ are dropped, and the call tree is re-rooted to the focused function.
109
+ CallNodeContextMenu--transform-focus-self = Focus on self only
110
+ .title = { CallNodeContextMenu--transform-focus-self-title }
111
+
112
+ ##
113
+
81
114
  CallNodeContextMenu--transform-focus-subtree = Focus on subtree only
82
115
  .title =
83
116
  Focusing on a subtree will remove any sample that does not include that
@@ -348,6 +381,15 @@ Home--instructions-content =
348
381
  Recording performance profiles requires <a>{ -firefox-brand-name }</a>.
349
382
  However, existing profiles can be viewed in any modern browser.
350
383
 
384
+ Home--fenix-instructions-directly =
385
+ { -firefox-android-brand-name } can be profiled directly on this device. For
386
+ more information, read <a>Profiling { -firefox-android-brand-name } directly on device</a>.
387
+
388
+ Home--fenix-instructions-remotely =
389
+ You can also profile { -firefox-android-brand-name } remotely from { -firefox-brand-name }
390
+ for desktop. For more information, please consult this documentation:
391
+ <a>Profiling { -firefox-android-brand-name } remotely</a>.
392
+
351
393
  Home--record-instructions-start-stop = Stop and start profiling
352
394
  Home--record-instructions-capture-load = Capture and load profile
353
395
  Home--profiler-motto = Capture a performance profile. Analyze it. Share it. Make Ruby faster.
@@ -356,6 +398,8 @@ Home--additional-content-content = You can <strong>drag and drop</strong> a prof
356
398
  Home--compare-recordings-info = You can also compare recordings. <a>Open the comparing interface.</a>
357
399
  Home--your-recent-uploaded-recordings-title = Your recent uploaded recordings
358
400
 
401
+ Home--dark-mode-title = Dark mode
402
+
359
403
  # We replace the elements such as <perf> and <simpleperf> with links to the
360
404
  # documentation to use these tools.
361
405
  Home--load-files-from-other-tools2 =
@@ -460,6 +504,16 @@ MarkerContextMenu--select-the-sender-thread =
460
504
  MarkerFiltersContextMenu--drop-samples-outside-of-markers-matching =
461
505
  Drop samples outside of markers matching “<strong>{ $filter }</strong>”
462
506
 
507
+ ## MarkerCopyTableContextMenu
508
+ ## This is the menu when the copy icon is clicked in Marker Chart and Marker
509
+ ## Table panels.
510
+
511
+ MarkerCopyTableContextMenu--copy-table-as-plain =
512
+ Copy marker table as plain text
513
+
514
+ MarkerCopyTableContextMenu--copy-table-as-markdown =
515
+ Copy marker table as Markdown
516
+
463
517
  ## MarkerSettings
464
518
  ## This is used in all panels related to markers.
465
519
 
@@ -470,6 +524,17 @@ MarkerSettings--panel-search =
470
524
  MarkerSettings--marker-filters =
471
525
  .title = Marker Filters
472
526
 
527
+ MarkerSettings--copy-table =
528
+ .title = Copy table as text
529
+
530
+ # This string is used when the user tries to copy a marker table with
531
+ # more than 10000 rows.
532
+ # Variable:
533
+ # $rows (Number) - Number of rows the marker table has
534
+ # $maxRows (Number) - Number of maximum rows that can be copied
535
+ MarkerSettings--copy-table-exceeed-max-rows =
536
+ The number of rows exceeds the limit: { $rows } > { $maxRows }. Only the first { $maxRows } rows will be copied.
537
+
473
538
  ## MarkerSidebar
474
539
  ## This is the sidebar component that is used in Marker Table panel.
475
540
 
@@ -483,6 +548,16 @@ MarkerTable--duration = Duration
483
548
  MarkerTable--name = Name
484
549
  MarkerTable--details = Details
485
550
 
551
+ ## MarkerTooltip
552
+ ## This is the component for Marker Tooltip panel.
553
+
554
+ # This is used as the tooltip for the filter button in marker tooltips.
555
+ # Variables:
556
+ # $filter (String) - Search string that will be used to filter the markers.
557
+ MarkerTooltip--filter-button-tooltip =
558
+ .title = Only show markers matching: “{ $filter }”
559
+ .aria-label = Only show markers matching: “{ $filter }”
560
+
486
561
  ## MenuButtons
487
562
  ## These strings are used for the buttons at the top of the profile viewer.
488
563
 
@@ -563,6 +638,8 @@ MenuButtons--metaInfo--profiling-started = Recording started:
563
638
  MenuButtons--metaInfo--profiling-session = Recording length:
564
639
  MenuButtons--metaInfo--main-process-started = Main process started:
565
640
  MenuButtons--metaInfo--main-process-ended = Main process ended:
641
+ MenuButtons--metaInfo--file-name = File name:
642
+ MenuButtons--metaInfo--file-size = File size:
566
643
  MenuButtons--metaInfo--interval = Interval:
567
644
  MenuButtons--metaInfo--buffer-capacity = Buffer capacity:
568
645
  MenuButtons--metaInfo--buffer-duration = Buffer duration:
@@ -580,7 +657,8 @@ MenuButtons--metaInfo--buffer-duration-seconds =
580
657
  MenuButtons--metaInfo--buffer-duration-unlimited = Unlimited
581
658
  MenuButtons--metaInfo--application = Application
582
659
  MenuButtons--metaInfo--name-and-version = Name and version:
583
- MenuButtons--metaInfo--application-uptime = Uptime:
660
+ # The time between application startup and when the profiler was started
661
+ MenuButtons--metaInfo--application-uptime2 = Uptime:
584
662
  MenuButtons--metaInfo--update-channel = Update channel:
585
663
  MenuButtons--metaInfo--build-id = Build ID:
586
664
  MenuButtons--metaInfo--build-type = Build type:
@@ -811,6 +889,7 @@ StackSettings--call-tree-strategy-native-deallocations-sites = Deallocation Site
811
889
  StackSettings--invert-call-stack = Invert call stack
812
890
  .title = Sort by the time spent in a call node, ignoring its children.
813
891
  StackSettings--show-user-timing = Show user timing
892
+ StackSettings--use-stack-chart-same-widths = Use the same width for each stack
814
893
 
815
894
  StackSettings--panel-search =
816
895
  .label = Filter stacks:
@@ -915,6 +994,12 @@ TrackPower--tooltip-power-watt = { $value } W
915
994
  TrackPower--tooltip-power-milliwatt = { $value } mW
916
995
  .label = Power
917
996
 
997
+ # This is used in the tooltip when the instant power value uses the microwatt unit.
998
+ # Variables:
999
+ # $value (String) - the power value at this location
1000
+ TrackPower--tooltip-power-microwatt = { $value } μW
1001
+ .label = Power
1002
+
918
1003
  # This is used in the tooltip when the power value uses the kilowatt unit.
919
1004
  # Variables:
920
1005
  # $value (String) - the power value at this location
@@ -1082,6 +1167,13 @@ TransformNavigator--focus-subtree = Focus Node: { $item }
1082
1167
  # $item (String) - Name of the function that transform applied to.
1083
1168
  TransformNavigator--focus-function = Focus: { $item }
1084
1169
 
1170
+ # "Focus self" transform.
1171
+ # See: https://profiler.firefox.com/docs/#/./guide-filtering-call-trees?id=focus-on-function-self
1172
+ # Also see the translation note above CallNodeContextMenu--transform-focus-self.
1173
+ # Variables:
1174
+ # $item (String) - Name of the function that transform applied to.
1175
+ TransformNavigator--focus-self = Focus Self: { $item }
1176
+
1085
1177
  # "Focus category" transform. The word "Focus" has the meaning of an adjective here.
1086
1178
  # See: https://profiler.firefox.com/docs/#/./guide-filtering-call-trees?id=focus-category
1087
1179
  # Variables:
@@ -1242,6 +1334,15 @@ SourceView--not-in-archive-error-when-obtaining-source =
1242
1334
  SourceView--archive-parsing-error-when-obtaining-source =
1243
1335
  The archive at { $url } could not be parsed: { $parsingErrorMessage }
1244
1336
 
1337
+ # Displayed below SourceView--cannot-obtain-source, if a JS file could not be found in
1338
+ # the browser.
1339
+ # Variables:
1340
+ # $url (String) - The URL of the JS source file.
1341
+ # $sourceUuid (number) - The UUID of the JS source file.
1342
+ # $errorMessage (String) - The raw internal error message, not localized
1343
+ SourceView--not-in-browser-error-when-obtaining-js-source =
1344
+ The browser was unable to obtain the source file for { $url } with sourceUuid { $sourceUuid }: { $errorMessage }.
1345
+
1245
1346
  ## Toggle buttons in the top right corner of the bottom box
1246
1347
 
1247
1348
  # The toggle button for the assembly view, while the assembly view is hidden.
@@ -1254,6 +1355,20 @@ AssemblyView--show-button =
1254
1355
  AssemblyView--hide-button =
1255
1356
  .title = Hide the assembly view
1256
1357
 
1358
+ # The "◀" button above the assembly view.
1359
+ AssemblyView--prev-button =
1360
+ .title = Previous
1361
+
1362
+ # The "▶" button above the assembly view.
1363
+ AssemblyView--next-button =
1364
+ .title = Next
1365
+
1366
+ # The label showing the current position and total count above the assembly view.
1367
+ # Variables:
1368
+ # $current (Number) - The current position (1-indexed).
1369
+ # $total (Number) - The total count.
1370
+ AssemblyView--position-label = { $current } of { $total }
1371
+
1257
1372
  ## UploadedRecordingsHome
1258
1373
  ## This is the page that displays all the profiles that user has uploaded.
1259
1374
  ## See: https://profiler.firefox.com/uploaded-recordings/