profile-viewer 0.0.3 → 0.0.5

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/dist/029b9e4fd0218d7b09c6.svg +8 -0
  3. data/dist/{f0599659345cf76717cd.svg → 118632062f4755918dac.svg} +1 -1
  4. data/dist/{136.4ad3301b8aacf759ea70.bundle.js → 136.ad4176dc2a8e5cf33ef3.bundle.js} +2 -2
  5. data/dist/{136.4ad3301b8aacf759ea70.bundle.js.map → 136.ad4176dc2a8e5cf33ef3.bundle.js.map} +1 -1
  6. data/dist/{171.621b9df5978342be5662.bundle.js → 171.37d1e1824587d8df0ae2.bundle.js} +2 -2
  7. data/dist/{171.621b9df5978342be5662.bundle.js.map → 171.37d1e1824587d8df0ae2.bundle.js.map} +1 -1
  8. data/dist/234ed61ab185caff67e3.svg +8 -0
  9. data/dist/280.4edd20bd6228986bbf2e.bundle.js +2 -0
  10. data/dist/280.4edd20bd6228986bbf2e.bundle.js.map +1 -0
  11. data/dist/{79eaad4fc0c398100809.svg → 3a829bf1fcf02598aa4b.svg} +1 -1
  12. data/dist/556.b8d3d4d402ced081615a.bundle.js +2 -0
  13. data/dist/{556.2be67a37a0c61fdc2485.bundle.js.map → 556.b8d3d4d402ced081615a.bundle.js.map} +1 -1
  14. data/dist/874.7cb94ee0732c5a2ca826.bundle.js +2 -0
  15. data/dist/874.7cb94ee0732c5a2ca826.bundle.js.map +1 -0
  16. data/dist/8846b19a497771fe0e9d.svg +4 -0
  17. data/dist/957.2f40be4cef3037bc352b.bundle.js +3 -0
  18. data/dist/957.2f40be4cef3037bc352b.bundle.js.LICENSE.txt +19 -0
  19. data/dist/957.2f40be4cef3037bc352b.bundle.js.map +1 -0
  20. data/dist/999.a1119c25d77e1883c1e1.bundle.js +2 -0
  21. data/dist/999.a1119c25d77e1883c1e1.bundle.js.map +1 -0
  22. data/dist/docs/_navbar.md +3 -3
  23. data/dist/docs/_sidebar.md +28 -28
  24. data/dist/docs/advanced-topics.md +5 -5
  25. data/dist/docs/async-posix-signal-control.md +5 -6
  26. data/dist/docs/bunny-2.md +3 -2
  27. data/dist/docs/bunny.md +29 -26
  28. data/dist/docs/gitpod.md +5 -10
  29. data/dist/docs/guide-android-profiling.md +18 -2
  30. data/dist/docs/guide-filtering-call-trees.md +11 -11
  31. data/dist/docs/guide-getting-started.md +4 -5
  32. data/dist/docs/guide-perf-profiling.md +8 -8
  33. data/dist/docs/guide-profiling-android-directly-on-device.md +14 -13
  34. data/dist/docs/guide-profiling-firefox-android.md +2 -3
  35. data/dist/docs/guide-remote-profiling.md +24 -23
  36. data/dist/docs/guide-removing-profiler.md +1 -0
  37. data/dist/docs/guide-stack-samples-and-call-trees.md +2 -0
  38. data/dist/docs/guide-startup-shutdown.md +14 -9
  39. data/dist/docs/guide-ui-tour-panels.md +4 -3
  40. data/dist/docs/guide-ui-tour-timeline.md +3 -0
  41. data/dist/docs/index.html +21 -18
  42. data/dist/docs/ipc-messages.md +6 -6
  43. data/dist/docs/js/docsify_v4.12.2+.min.js +1 -1
  44. data/dist/docs/memory-allocations.md +28 -6
  45. data/dist/docs/videos.md +10 -10
  46. data/dist/index.html +1 -1
  47. data/dist/locales/be/app.ftl +108 -0
  48. data/dist/locales/de/app.ftl +20 -0
  49. data/dist/locales/el/app.ftl +36 -11
  50. data/dist/locales/en-CA/app.ftl +29 -5
  51. data/dist/locales/en-GB/app.ftl +25 -5
  52. data/dist/locales/en-US/app.ftl +23 -4
  53. data/dist/locales/es-CL/app.ftl +19 -2
  54. data/dist/locales/fr/app.ftl +61 -0
  55. data/dist/locales/fur/app.ftl +16 -0
  56. data/dist/locales/fy-NL/app.ftl +20 -0
  57. data/dist/locales/ia/app.ftl +14 -0
  58. data/dist/locales/it/app.ftl +14 -0
  59. data/dist/locales/kab/app.ftl +19 -0
  60. data/dist/locales/nl/app.ftl +20 -0
  61. data/dist/locales/pt-BR/app.ftl +14 -0
  62. data/dist/locales/ru/app.ftl +20 -0
  63. data/dist/locales/sv-SE/app.ftl +20 -0
  64. data/dist/locales/tr/app.ftl +52 -0
  65. data/dist/locales/uk/app.ftl +20 -0
  66. data/dist/locales/zh-CN/app.ftl +18 -3
  67. data/dist/locales/zh-TW/app.ftl +61 -47
  68. data/dist/main.6cdc9308b67c00785584.bundle.js +198 -0
  69. data/dist/{main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt → main.6cdc9308b67c00785584.bundle.js.LICENSE.txt} +2 -2
  70. data/dist/main.6cdc9308b67c00785584.bundle.js.map +1 -0
  71. data/dist/photon/{f0599659345cf76717cd.svg → 118632062f4755918dac.svg} +1 -1
  72. data/dist/photon/index.html +1 -1
  73. data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js +2 -0
  74. data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js.map +1 -0
  75. data/dist/sw.js +1 -1
  76. data/dist/sw.js.map +1 -1
  77. data/ruby-bin/profile-viewer +10 -1
  78. data/ruby-bin/profile-viewer-version.rb +1 -1
  79. metadata +29 -25
  80. data/dist/280.b4210a48e650408000c3.bundle.js +0 -2
  81. data/dist/280.b4210a48e650408000c3.bundle.js.map +0 -1
  82. data/dist/556.2be67a37a0c61fdc2485.bundle.js +0 -2
  83. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js +0 -2
  84. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js.map +0 -1
  85. data/dist/b805360fcc91834556c9.svg +0 -4
  86. data/dist/main.ac7130d34ce3b872712a.bundle.js +0 -201
  87. data/dist/main.ac7130d34ce3b872712a.bundle.js.map +0 -1
  88. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js +0 -2
  89. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map +0 -1
@@ -1,10 +1,11 @@
1
1
  # Memory Allocations
2
2
 
3
- The Firefox Profiler supports three different types of memory profiling
3
+ The Firefox Profiler supports different types of memory profiling
4
4
 
5
5
  1. Memory Track
6
- 2. Native Allocations (experimental)
7
- 3. JavaScript Allocations (experimental)
6
+ 2. Native Allocations
7
+ 3. JavaScript Allocations
8
+ 4. Valgrind DHAT Profiles
8
9
 
9
10
  ## Memory Track
10
11
 
@@ -14,9 +15,9 @@ The memory track graphs overall allocation and deallocation numbers over time fo
14
15
 
15
16
  The graph visualization tracks the relative memory usage over the committed range of time. It's important to note that this is not absolute memory usage. The graph and numbers will change when committing a range selection.
16
17
 
17
- ## Native Memory Allocations (experimental)
18
+ ## Native Memory Allocations
18
19
 
19
- The profiler has experimental support for analyzing allocations in native code (C++ and Rust) via stack sampling. These features require Nightly. To follow along you can open this [example showing DevTools opening and closing](https://perfht.ml/2LKZsfY)
20
+ The profiler has support for analyzing allocations in native code (C++ and Rust) via stack sampling. These features require Nightly. To follow along you can open this [example showing DevTools opening and closing](https://perfht.ml/2LKZsfY)
20
21
 
21
22
  The Native Allocations feature works by collecting the stack and size of memory allocations from native (C++ or Rust) code. It does not collect every allocation, but only samples a subset of them. The sampling is biased towards larger allocations and larger frees. Larger allocations are more likely show up in the profile, and will most likely be more representative of the actual memory usage. Keep in mind that since these allocations are only sampled, not all allocations will be recorded. This means that memory track (the orange graph at the top) will most likely report different numbers for memory usage.
22
23
 
@@ -63,8 +64,29 @@ This option shows all of the deallocations that were sampled. Keep in mind that
63
64
 
64
65
  Some components inside of Gecko may implement their own memory management systems, and bypass the usage of system-level functions like `malloc` that are instrumented with this feature. For instance, some code could create a large buffer, and manage its own memory inside of that buffer. This feature would know about the allocation of the larger chunk of memory, but not how smaller allocations could be created inside of that buffer of memory. If this happens, information could be missing or misleading.
65
66
 
66
- ## JavaScript Allocations (experimental)
67
+ ## JavaScript Allocations
67
68
 
68
69
  There is also a JavaScript-only allocation feature. This may be less useful as it only samples the creation of JS objects, and does not track garbage collection or frees. In fact, the Native Allocations feature is a superset of the JavaScript allocations feature, and includes the JavaScript stack information. Enable this through the `Features` section of the popup.
69
70
 
70
71
  ![A screenshot of the call tree showing JS.](images/allocation-js.png)
72
+
73
+ ## Valgrind's "Dynamic Heap Analysis Tool" DHAT
74
+
75
+ When working outside of Firefox, you can use [Valgrind's DHAT tool](https://valgrind.org/docs/manual/dh-manual.html). DHAT has its own viewer, but it lacks some of the visualization and filtering capabilities of the Firefox Profiler. The converted profile will lack some of the finer details like read, write, and access information, but it does contain the amount of bytes allocated. On a Linux system (or even a Linux docker image), you can install it via:
76
+
77
+ ```sh
78
+ sudo apt-get install valgrind
79
+ ```
80
+
81
+ Then run your command:
82
+
83
+ ```
84
+ valgrind --tool=dhat ./my-program
85
+ ```
86
+
87
+ A dhat profile will be output in the same directory as your program: `dhat.out.<pid>`. Drag that file into the profiler to view it. There will be 4 tracks containing the memory information. Only the call tree and flame graph are supported.
88
+
89
+ - **Bytes at End** - Allocations that were never freed when the program ended.
90
+ - **Bytes at Global Max** - Bytes allocated when the global heap size peaked.
91
+ - **Maximum Bytes** - The maximum bytes allocated at that call site at one time.
92
+ - **Total Bytes** - The total bytes allocated over the course of the program.
data/dist/docs/videos.md CHANGED
@@ -4,24 +4,24 @@
4
4
 
5
5
  These videos go through an introduction of how to use the Firefox Profiler and some of the theory behind how profilers work. They are a good way to get up and running with the workflow of how the tools work.
6
6
 
7
- | Video | Description |
8
- | ----- | ----------- |
9
- | [Firefox Profiler intro][intro] | This intro video explains how to get set up and start profiling. It explains a little bit of how the architecture works to better understand the relationship of the various tools and data sources. |
10
- | [Samples and markers][samples] | Profilers have two main different types of data they collect. Thinking of the profile in terms of samples and markers is a useful way to understand what is going on with the underlying data. |
11
- | [Call Tree (Part 1) - The basics][calltree1] | Call trees are one of the most useful reports on understanding profiles. This video walks through some very simplified examples and explains how the call tree is constructed and what it represents. |
12
- | [Call Tree (Part 2) - Real recording][calltree2] | Take the theory of call stack and call trees to the interface of profiler.firefox.com |
13
- | [Call Tree (Part 3) - Branching][calltree3] | Real code branches and this demonstration walk you through how call trees are affected by branching and show how to understand them in a simplified code example. |
14
- | [Multiple threads and async code][threads] | Walk through the steps of understanding and looking at a multi-process profile. |
7
+ | Video | Description |
8
+ | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | [Firefox Profiler intro][intro] | This intro video explains how to get set up and start profiling. It explains a little bit of how the architecture works to better understand the relationship of the various tools and data sources. |
10
+ | [Samples and markers][samples] | Profilers have two main different types of data they collect. Thinking of the profile in terms of samples and markers is a useful way to understand what is going on with the underlying data. |
11
+ | [Call Tree (Part 1) - The basics][calltree1] | Call trees are one of the most useful reports on understanding profiles. This video walks through some very simplified examples and explains how the call tree is constructed and what it represents. |
12
+ | [Call Tree (Part 2) - Real recording][calltree2] | Take the theory of call stack and call trees to the interface of profiler.firefox.com |
13
+ | [Call Tree (Part 3) - Branching][calltree3] | Real code branches and this demonstration walk you through how call trees are affected by branching and show how to understand them in a simplified code example. |
14
+ | [Multiple threads and async code][threads] | Walk through the steps of understanding and looking at a multi-process profile. |
15
15
 
16
16
  ## Joy of Profiling
17
17
 
18
18
  These semi-weekly episodes examine Firefox performance profiles using the Firefox Profiler. They are long-form and are a nice way to gain insights on how profile analysis is done on real-world profiles. Note that in the past, this project was referred to as "perf.html", and many videos still refer to it that way.
19
19
 
20
- * [View all episodes][joy]
20
+ - [View all episodes][joy]
21
21
 
22
22
  ## Other recordings
23
23
 
24
- * [Ehsan giving a profiling tutorial](https://vid.ly/e6v7s4?content=video&amp;format=hd_webm)
24
+ - [Ehsan giving a profiling tutorial](https://vid.ly/e6v7s4?content=video&format=hd_webm)
25
25
 
26
26
  [intro]: https://www.youtube.com/watch?v=MxgWOTqxOTg&list=PLxaZqnd-OQM620EZ_6eT8qurOnZ4eu6dz&index=1
27
27
  [samples]: https://www.youtube.com/watch?v=BBDErudR_8Q&index=2&list=PLxaZqnd-OQM620EZ_6eT8qurOnZ4eu6dz
data/dist/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1"/><title>Firefox Profiler</title><link rel="preload" href="locales/en-US/app.ftl" as="fetch"/><link rel="icon" href="/sidekiq/profile-viewer/favicon.png"><script defer="defer" src="/sidekiq/profile-viewer/main.ac7130d34ce3b872712a.bundle.js"></script></head><body style="background-color: #363959; /* ink-70 */"><div id="root"></div><div id="root-overlay"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1"/><title>Firefox Profiler</title><link rel="preload" href="locales/en-US/app.ftl" as="fetch"/><link rel="icon" href="/favicon.png"><script defer="defer" src="/main.6cdc9308b67c00785584.bundle.js"></script></head><body style="background-color: #363959; /* ink-70 */"><svg id="svg-filters"></svg><div id="root"></div><div id="root-overlay"></div></body></html>
@@ -30,6 +30,7 @@ AppHeader--github-icon =
30
30
  ## AppViewRouter
31
31
  ## This is used for displaying errors when loading the application.
32
32
 
33
+ AppViewRouter--error-from-post-message = Немагчыма імпартаваць профіль.
33
34
  AppViewRouter--error-unpublished = Не ўдалося атрымаць профіль з { -firefox-brand-name }.
34
35
  AppViewRouter--error-from-file = Не ўдалося прачытаць файл або разабраць профіль у ім.
35
36
  AppViewRouter--error-local = Яшчэ не рэалізавана.
@@ -109,6 +110,7 @@ CallNodeContextMenu--searchfox = Шукаць назву функцыі у Searc
109
110
  CallNodeContextMenu--copy-function-name = Капіяваць назву функцыі
110
111
  CallNodeContextMenu--copy-script-url = Капіяваць URL-адрас скрыпту
111
112
  CallNodeContextMenu--copy-stack = Капіяваць стэк
113
+ CallNodeContextMenu--show-the-function-in-devtools = Паказаць функцыю ў DevTools
112
114
 
113
115
  ## CallTree
114
116
  ## This is the component for Call Tree panel.
@@ -160,6 +162,46 @@ CallTree--inlining-badge = (убудаваны)
160
162
  ## This is the sidebar component that is used in Call Tree and Flame Graph panels.
161
163
 
162
164
  CallTreeSidebar--select-a-node = Выберыце вузел, каб паказаць інфармацыю аб ім.
165
+ CallTreeSidebar--call-node-details = Падрабязнасці вузла выкліку
166
+
167
+ ## CallTreeSidebar timing information
168
+ ##
169
+ ## Firefox Profiler stops the execution of the program every 1ms to record the
170
+ ## stack. Only thing we know for sure is the stack at that point of time when
171
+ ## the stack is taken. We try to estimate the time spent in each function and
172
+ ## translate it to a duration. That's why we use the "traced" word here.
173
+ ## There is actually no difference between "Traced running time" and "Running
174
+ ## time" in the context of the profiler. We use "Traced" to emphasize that this
175
+ ## is an estimation where we have more space in the UI.
176
+ ##
177
+ ## "Self time" is the time spent in the function itself, excluding the time spent
178
+ ## in the functions it called. "Running time" is the time spent in the function
179
+ ## itself, including the time spent in the functions it called.
180
+
181
+ CallTreeSidebar--traced-running-time =
182
+ .label = Асочаны час працы
183
+ CallTreeSidebar--traced-self-time =
184
+ .label = Асочаны ўласны час
185
+ CallTreeSidebar--running-time =
186
+ .label = Час працы
187
+ CallTreeSidebar--self-time =
188
+ .label = Уласны час
189
+ CallTreeSidebar--running-samples =
190
+ .label = Выкананыя ўзоры
191
+ CallTreeSidebar--self-samples =
192
+ .label = Уласныя ўзоры
193
+ CallTreeSidebar--running-size =
194
+ .label = Выкананы памер
195
+ CallTreeSidebar--self-size =
196
+ .label = Уласны памер
197
+ CallTreeSidebar--categories = Катэгорыі
198
+ CallTreeSidebar--implementation = Рэалізацыя
199
+ CallTreeSidebar--running-milliseconds = Выкананыя мілісекунды
200
+ CallTreeSidebar--running-sample-count = Колькасць выкананых узораў
201
+ CallTreeSidebar--running-bytes = Выкананыя байты
202
+ CallTreeSidebar--self-milliseconds = Уласныя мілісекунды
203
+ CallTreeSidebar--self-sample-count = Колькасць уласных узораў
204
+ CallTreeSidebar--self-bytes = Уласныя байты
163
205
 
164
206
  ## CompareHome
165
207
  ## This is used in the page to compare two profiles.
@@ -278,6 +320,15 @@ Home--load-files-from-other-tools2 =
278
320
  <perf>Linux perf</perf>, <simpleperf>Android SimplePerf</simpleperf>,
279
321
  панэль прадукцыйнасці Chrome, <androidstudio>Android Studio</androidstudio> або
280
322
  любы файл, які выкарыстоўвае фарматы <dhat>dhat</dhat> або <traceevent>Google Trace Event</traceevent>. <write>Даведайцеся, як напісаць свой уласны імпарцёр</write>.
323
+ Home--install-chrome-extension = Усталяваць пашырэнне Chrome
324
+ Home--chrome-extension-instructions =
325
+ Выкарыстоўвайце пашырэнне <a>{ -profiler-brand-name } для Chrome</a>
326
+ каб захапіць профілі прадукцыйнасці ў Chrome і прааналізаваць іх
327
+ у { -profiler-brand-name }. Усталюйце пашырэнне з інтэрнэт-крамы Chrome.
328
+ Home--chrome-extension-recording-instructions =
329
+ Пасля ўсталявання выкарыстоўвайце значок пашырэння
330
+ на панэлі інструментаў або цэтлікі для запуску і спынення прафілявання.
331
+ Вы таксама можаце экспартаваць профілі і загрузіць іх тут для аналізу.
281
332
 
282
333
  ## IdleSearchField
283
334
  ## The component that is used for all the search inputs in the application.
@@ -593,6 +644,14 @@ NumberFormat--short-date = { SHORTDATE($date) }
593
644
 
594
645
  PanelSearch--search-field-hint = Вы ведаеце, што для пошуку па некалькіх тэрмінах можна выкарыстоўваць коску (,)?
595
646
 
647
+ ## Profile Name Button
648
+
649
+ ProfileName--edit-profile-name-button =
650
+ .title = Змяніць назву профілю
651
+ ProfileName--edit-profile-name-input =
652
+ .title = Змяніць назву профілю
653
+ .aria-label = Назва профілю
654
+
596
655
  ## Profile Delete Button
597
656
 
598
657
  # This string is used on the tooltip of the published profile links delete button in uploaded recordings page.
@@ -640,6 +699,7 @@ ProfileFilterNavigator--full-range-with-duration = Поўны дыяпазон (
640
699
 
641
700
  ## Profile Loader Animation
642
701
 
702
+ ProfileLoaderAnimation--loading-from-post-message = Імпарт і апрацоўка профілю…
643
703
  ProfileLoaderAnimation--loading-unpublished = Імпарт профілю непасрэдна з { -firefox-brand-name }…
644
704
  ProfileLoaderAnimation--loading-from-file = Чытанне файла і апрацоўка профілю…
645
705
  ProfileLoaderAnimation--loading-local = Яшчэ не рэалізавана.
@@ -713,6 +773,13 @@ TabBar--marker-table-tab = Маркерная табліца
713
773
  TabBar--network-tab = Сетка
714
774
  TabBar--js-tracer-tab = JS Tracer
715
775
 
776
+ ## TabSelectorMenu
777
+ ## This component is a context menu that's opened when you click on the root
778
+ ## range at the top left corner for profiler analysis view. It's used to switch
779
+ ## between tabs that were captured in the profile.
780
+
781
+ TabSelectorMenu--all-tabs-and-windows = Усе карткі і вокны
782
+
716
783
  ## TrackContextMenu
717
784
  ## This is used as a context menu for timeline to organize the tracks in the
718
785
  ## analysis UI.
@@ -729,6 +796,10 @@ TrackContextMenu--hide-other-screenshots-tracks = Схаваць дарожкі
729
796
  TrackContextMenu--hide-track = Схаваць “{ $trackName }”
730
797
  TrackContextMenu--show-all-tracks = Паказаць усе дарожкі
731
798
  TrackContextMenu--show-local-tracks-in-process = Паказаць усе дарожкі ў гэтым працэсе
799
+ # This is used as the context menu item to hide all tracks of the selected track's type.
800
+ # Variables:
801
+ # $type (String) - Name of the type of selected track to hide.
802
+ TrackContextMenu--hide-all-tracks-by-selected-track-type = Схаваць усе трэкі тыпу “{ $type }”
732
803
  # This is used in the tracks context menu as a button to show all the tracks
733
804
  # that match the search filter.
734
805
  TrackContextMenu--show-all-matching-tracks = Паказаць усе адпаведныя дарожкі
@@ -754,6 +825,7 @@ TrackNameButton--hide-process =
754
825
 
755
826
  TrackMemoryGraph--relative-memory-at-this-time = адносная памяць на гэты момант
756
827
  TrackMemoryGraph--memory-range-in-graph = дыяпазон памяці ў графіку
828
+ TrackMemoryGraph--allocations-and-deallocations-since-the-previous-sample = размеркаванні і вызваленні з моманту папярэдняга ўзору
757
829
 
758
830
  ## TrackPower
759
831
  ## This is used to show the power used by the CPU and other chips in a computer,
@@ -780,6 +852,21 @@ TrackPower--tooltip-power-watt = { $value } Вт
780
852
  # $value (String) - the power value at this location
781
853
  TrackPower--tooltip-power-milliwatt = { $value } мВт
782
854
  .label = Магутнасць
855
+ # This is used in the tooltip when the power value uses the kilowatt unit.
856
+ # Variables:
857
+ # $value (String) - the power value at this location
858
+ TrackPower--tooltip-average-power-kilowatt = { $value } кВт
859
+ .label = Сярэдняя магутнасць у бягучым вылучэнні
860
+ # This is used in the tooltip when the power value uses the watt unit.
861
+ # Variables:
862
+ # $value (String) - the power value at this location
863
+ TrackPower--tooltip-average-power-watt = { $value } Вт
864
+ .label = Сярэдняя магутнасць у бягучым вылучэнні
865
+ # This is used in the tooltip when the instant power value uses the milliwatt unit.
866
+ # Variables:
867
+ # $value (String) - the power value at this location
868
+ TrackPower--tooltip-average-power-milliwatt = { $value } мВт
869
+ .label = Сярэдняя магутнасць у бягучым вылучэнні
783
870
  # This is used in the tooltip when the energy used in the current range uses the
784
871
  # kilowatt-hour unit.
785
872
  # Variables:
@@ -855,6 +942,27 @@ TrackBandwidthGraph--speed = { $value } у секунду
855
942
  # $value (String) - how many read or write operations were performed since the previous sample
856
943
  TrackBandwidthGraph--read-write-operations-since-the-previous-sample = { $value }
857
944
  .label = аперацый уводу/вываду з часу папярэдняй выбаркі
945
+ # This is used in the tooltip of the bandwidth track.
946
+ # Variables:
947
+ # $value (String) - the total of transfered data until the hovered time.
948
+ # Will contain the unit (eg. B, KB, MB)
949
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
950
+ TrackBandwidthGraph--cumulative-bandwidth-at-this-time = { $value } ({ $carbonValue } г CO₂e)
951
+ .label = Звесткі, перасланыя да гэтага часу
952
+ # This is used in the tooltip of the bandwidth track.
953
+ # Variables:
954
+ # $value (String) - the total of transfered data during the visible time range.
955
+ # Will contain the unit (eg. B, KB, MB)
956
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
957
+ TrackBandwidthGraph--total-bandwidth-in-graph = { $value } ({ $carbonValue } г CO₂e)
958
+ .label = Звесткі, перасланыя ў бачным прамежку
959
+ # This is used in the tooltip of the bandwidth track when a range is selected.
960
+ # Variables:
961
+ # $value (String) - the total of transfered data during the selected time range.
962
+ # Will contain the unit (eg. B, KB, MB)
963
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
964
+ TrackBandwidthGraph--total-bandwidth-in-range = { $value } ({ $carbonValue } г CO₂e)
965
+ .label = Звесткі, перасланыя ў бягучым вылучэнні
858
966
 
859
967
  ## TrackSearchField
860
968
  ## The component that is used for the search input in the track context menu.
@@ -30,6 +30,7 @@ AppHeader--github-icon =
30
30
  ## AppViewRouter
31
31
  ## This is used for displaying errors when loading the application.
32
32
 
33
+ AppViewRouter--error-from-post-message = Das Profil konnte nicht importiert werden.
33
34
  AppViewRouter--error-unpublished = Das Profil von { -firefox-brand-name } konnte nicht abgerufen werden.
34
35
  AppViewRouter--error-from-file = Die Datei konnte nicht gelesen oder das darin enthaltene Profil nicht verarbeitet werden.
35
36
  AppViewRouter--error-local = Noch nicht implementiert.
@@ -112,6 +113,7 @@ CallNodeContextMenu--searchfox = Name der Funktion auf Searchfox nachschlagen
112
113
  CallNodeContextMenu--copy-function-name = Funktionsname kopieren
113
114
  CallNodeContextMenu--copy-script-url = Skript-URL kopieren
114
115
  CallNodeContextMenu--copy-stack = Stapel kopieren
116
+ CallNodeContextMenu--show-the-function-in-devtools = Funktion in den Entwicklerwerkzeugen anzeigen
115
117
 
116
118
  ## CallTree
117
119
  ## This is the component for Call Tree panel.
@@ -318,6 +320,15 @@ Home--load-files-from-other-tools2 =
318
320
  <perf>Linux perf</perf>, <simpleperf>Android SimplePerf</simpleperf>, die
319
321
  Chrome Performance Panel, <androidstudio>Android Studio</androidstudio> oder
320
322
  eine Datei im <dhat>dhat-Format</dhat> oder <traceevent>Googles Trace-Event-Format</traceevent>. <write>Erfahren Sie, wie Sie Ihren eigenen Importeur schreiben</write>.
323
+ Home--install-chrome-extension = Installieren Sie die Chrome-Erweiterung
324
+ Home--chrome-extension-instructions =
325
+ Verwenden Sie die <a>{ -profiler-brand-name }-Erweiterung für Chrome</a>,
326
+ um Leistungsprofile in Chrome zu erfassen und im { -profiler-brand-name }
327
+ zu analysieren. Installieren Sie die Erweiterung aus dem Chrome Web Store.
328
+ Home--chrome-extension-recording-instructions =
329
+ Verwenden Sie nach der Installation das Symbolleisten-Symbol der Erweiterung
330
+ oder die Tastenkombinationen zum Starten und Stoppen der Profilerstellung. Sie können auch
331
+ Profile exportieren und hier zur detaillierten Analyse laden.
321
332
 
322
333
  ## IdleSearchField
323
334
  ## The component that is used for all the search inputs in the application.
@@ -604,6 +615,14 @@ NumberFormat--short-date = { SHORTDATE($date) }
604
615
 
605
616
  PanelSearch--search-field-hint = Wussten Sie, dass Sie das Komma (,) verwenden können, um mit mehreren Begriffen zu suchen?
606
617
 
618
+ ## Profile Name Button
619
+
620
+ ProfileName--edit-profile-name-button =
621
+ .title = Profilnamen bearbeiten
622
+ ProfileName--edit-profile-name-input =
623
+ .title = Profilnamen bearbeiten
624
+ .aria-label = Profilname
625
+
607
626
  ## Profile Delete Button
608
627
 
609
628
  # This string is used on the tooltip of the published profile links delete button in uploaded recordings page.
@@ -651,6 +670,7 @@ ProfileFilterNavigator--full-range-with-duration = Vollständiger Zeitraum ({ $f
651
670
 
652
671
  ## Profile Loader Animation
653
672
 
673
+ ProfileLoaderAnimation--loading-from-post-message = Das Profil wird importiert und verarbeitet…
654
674
  ProfileLoaderAnimation--loading-unpublished = Das Profil wird direkt von { -firefox-brand-name } importiert…
655
675
  ProfileLoaderAnimation--loading-from-file = Datei lesen und Profil verarbeiten…
656
676
  ProfileLoaderAnimation--loading-local = Noch nicht implementiert.
@@ -30,6 +30,7 @@ AppHeader--github-icon =
30
30
  ## AppViewRouter
31
31
  ## This is used for displaying errors when loading the application.
32
32
 
33
+ AppViewRouter--error-from-post-message = Δεν ήταν δυνατή η εισαγωγή του προφίλ.
33
34
  AppViewRouter--error-unpublished = Δεν ήταν δυνατή η ανάκτηση του προφίλ από το { -firefox-brand-name }.
34
35
  AppViewRouter--error-from-file = Δεν ήταν δυνατή η ανάγνωση του αρχείου ή η ανάλυση του προφίλ σε αυτό.
35
36
  AppViewRouter--error-local = Δεν έχει υλοποιηθεί ακόμα.
@@ -40,9 +41,9 @@ AppViewRouter--error-compare = Δεν ήταν δυνατή η ανάκτηση
40
41
  # Importing profiles from URLs such as http://127.0.0.1:someport/ is not possible in Safari.
41
42
  # https://profiler.firefox.com/from-url/http%3A%2F%2F127.0.0.1%3A3000%2Fprofile.json/
42
43
  AppViewRouter--error-from-localhost-url-safari =
43
- Λόγω ενός <a>συγκεκριμένου περιορισμού στο Safari</a>, το { -profiler-brand-name } δεν μπορεί να
44
- εισαγάγει προφίλ από τη συσκευή σε αυτό το πρόγραμμα περιήγησης. Παρακαλούμε
45
- ανοίξτε αυτήν τη σελίδα στο { -firefox-brand-name } ή το Chrome.
44
+ Λόγω ενός <a>συγκεκριμένου περιορισμού του Safari</a>, το { -profiler-brand-name } δεν μπορεί να
45
+ εισαγάγει προφίλ από τη συσκευή σε αυτό το πρόγραμμα περιήγησης.
46
+ Ανοίξτε αυτήν τη σελίδα στο { -firefox-brand-name } ή το Chrome.
46
47
  .title = Το Safari δεν μπορεί να εισαγάγει τοπικά προφίλ
47
48
  AppViewRouter--route-not-found--home =
48
49
  .specialMessage = Δεν αναγνωρίστηκε το URL που προσπαθήσατε να μεταβείτε.
@@ -120,6 +121,7 @@ CallNodeContextMenu--searchfox = Αναζήτηση ονόματος συνάρ
120
121
  CallNodeContextMenu--copy-function-name = Αντιγραφή ονόματος συνάρτησης
121
122
  CallNodeContextMenu--copy-script-url = Αντιγραφή URL σεναρίου
122
123
  CallNodeContextMenu--copy-stack = Αντιγραφή στοίβας
124
+ CallNodeContextMenu--show-the-function-in-devtools = Εμφάνιση της συνάρτησης στα DevTools
123
125
 
124
126
  ## CallTree
125
127
  ## This is the component for Call Tree panel.
@@ -259,8 +261,8 @@ Details--error-boundary-message =
259
261
 
260
262
  # This message will always be displayed after another context-specific message.
261
263
  ErrorBoundary--report-error-to-developers-description =
262
- Παρακαλώ αναφέρετε αυτό το ζήτημα στους προγραμματιστές, μαζί με το
263
- πλήρες σφάλμα, όπως εμφανίζεται στην κονσόλα ιστού των εργαλείων ανάπτυξης.
264
+ Αναφέρετε αυτό το ζήτημα στους προγραμματιστές, μαζί με το πλήρες
265
+ σφάλμα, όπως εμφανίζεται στην κονσόλα ιστού των εργαλείων ανάπτυξης.
264
266
  # This is used in a call to action button, displayed inside the error box.
265
267
  ErrorBoundary--report-error-on-github = Αναφορά σφάλματος στο GitHub
266
268
 
@@ -300,7 +302,7 @@ Home--menu-button-instructions =
300
302
  επιδόσεων στο { -firefox-brand-name } και έπειτα, να το αναλύσετε και να το μοιραστείτε με το profiler.firefox.com.
301
303
  Home--profile-firefox-android-instructions =
302
304
  Μπορείτε επίσης να καταγράψετε προφίλ για το { -firefox-android-brand-name }.
303
- Για περισσότερες πληροφορίες, παρακαλούμε συμβουλευτείτε την τεκμηρίωση:
305
+ Για περισσότερες πληροφορίες, συμβουλευτείτε την τεκμηρίωση:
304
306
  <a>Καταγραφή προφίλ του { -firefox-android-brand-name } απευθείας στη συσκευή</a>.
305
307
  # The word WebChannel should not be translated.
306
308
  # This message can be seen on https://main--perf-html.netlify.app/ in the tooltip
@@ -337,6 +339,15 @@ Home--load-files-from-other-tools2 =
337
339
  επιδόσεων του Chrome, το <androidstudio>Android Studio</androidstudio> ή οποιοδήποτε
338
340
  αρχείο των μορφών <dhat>dhat</dhat> ή <traceevent>Trace Event της Google</traceevent>.
339
341
  <write>Μάθετε πώς να γράψετε το δικό σας εργαλείο εισαγωγής</write>.
342
+ Home--install-chrome-extension = Εγκατάσταση της επέκτασης για Chrome
343
+ Home--chrome-extension-instructions =
344
+ Χρησιμοποιήστε την <a>επέκταση του { -profiler-brand-name } για Chrome</a>
345
+ για να καταγράψετε προφίλ επιδόσεων στο Chrome και να τα αναλύσετε στο
346
+ { -profiler-brand-name }. Εγκαταστήστε την επέκταση από το Chrome Web Store.
347
+ Home--chrome-extension-recording-instructions =
348
+ Μόλις εγκατασταθεί, χρησιμοποιήστε το εικονίδιο της επέκτασης στη γραμμή
349
+ εργαλείων ή τις συντομεύσεις για να ξεκινήσετε και να διακόψετε την καταγραφή.
350
+ Μπορείτε επίσης να εξαγάγετε τα προφίλ και να τα φορτώσετε εδώ για λεπτομερή ανάλυση.
340
351
 
341
352
  ## IdleSearchField
342
353
  ## The component that is used for all the search inputs in the application.
@@ -476,11 +487,16 @@ MenuButtons--index--hide-moreInfo-button = Εμφάνιση λιγότερων
476
487
  # $physicalCPUs (Number), $logicalCPUs (Number) - Number of Physical and Logical CPU Cores
477
488
  MenuButtons--metaInfo--physical-and-logical-cpu =
478
489
  { $physicalCPUs ->
479
- [one] { $physicalCPUs } φυσικός πυρήνας
480
- *[other] { $physicalCPUs } φυσικοί πυρήνες
481
- }, { $logicalCPUs ->
482
- [one] { $logicalCPUs } λογικός πυρήνας
483
- *[other] { $logicalCPUs } λογικοί πυρήνες
490
+ [one]
491
+ { $logicalCPUs ->
492
+ [one] { $physicalCPUs } φυσικός πυρήνας, { $logicalCPUs } λογικός πυρήνας
493
+ *[other] { $physicalCPUs } φυσικός πυρήνας, { $logicalCPUs } λογικοί πυρήνες
494
+ }
495
+ *[other]
496
+ { $logicalCPUs ->
497
+ [one] { $physicalCPUs } φυσικοί πυρήνες, { $logicalCPUs } λογικός πυρήνας
498
+ *[other] { $physicalCPUs } φυσικοί πυρήνες, { $logicalCPUs } λογικοί πυρήνες
499
+ }
484
500
  }
485
501
  # This string is used when we only have the information about the number of
486
502
  # physical CPU cores.
@@ -623,6 +639,14 @@ NumberFormat--short-date = { SHORTDATE($date) }
623
639
 
624
640
  PanelSearch--search-field-hint = Ξέρατε ότι μπορείτε να χρησιμοποιήσετε το κόμμα (,) για αναζήτηση με πολλαπλούς όρους;
625
641
 
642
+ ## Profile Name Button
643
+
644
+ ProfileName--edit-profile-name-button =
645
+ .title = Επεξεργασία ονόματος προφίλ
646
+ ProfileName--edit-profile-name-input =
647
+ .title = Επεξεργασία ονόματος προφίλ
648
+ .aria-label = Όνομα προφίλ
649
+
626
650
  ## Profile Delete Button
627
651
 
628
652
  # This string is used on the tooltip of the published profile links delete button in uploaded recordings page.
@@ -670,6 +694,7 @@ ProfileFilterNavigator--full-range-with-duration = Πλήρες εύρος ({ $f
670
694
 
671
695
  ## Profile Loader Animation
672
696
 
697
+ ProfileLoaderAnimation--loading-from-post-message = Εισαγωγή και επεξεργασία προφίλ…
673
698
  ProfileLoaderAnimation--loading-unpublished = Εισαγωγή προφίλ απευθείας από το { -firefox-brand-name }…
674
699
  ProfileLoaderAnimation--loading-from-file = Ανάγνωση αρχείου και επεξεργασία προφίλ…
675
700
  ProfileLoaderAnimation--loading-local = Δεν έχει υλοποιηθεί ακόμα.
@@ -14,11 +14,11 @@
14
14
 
15
15
  ## The following feature names must be treated as a brand. They cannot be translated.
16
16
 
17
- -firefox-brand-name = Firefox
18
- -firefox-android-brand-name = Firefox for Android
19
- -profiler-brand-name = Firefox Profiler
20
- -profiler-brand-short-name = Profiler
21
- -firefox-nightly-brand-name = Firefox Nightly
17
+ -firefox-brand-name = Ruby
18
+ -firefox-android-brand-name = Ruby
19
+ -profiler-brand-name = Vernier Profiler
20
+ -profiler-brand-short-name = Vernier
21
+ -firefox-nightly-brand-name = Ruby
22
22
 
23
23
  ## AppHeader
24
24
  ## This is used at the top of the homepage and other content pages.
@@ -30,6 +30,7 @@ AppHeader--github-icon =
30
30
  ## AppViewRouter
31
31
  ## This is used for displaying errors when loading the application.
32
32
 
33
+ AppViewRouter--error-from-post-message = Could not import the profile.
33
34
  AppViewRouter--error-unpublished = Couldn’t retrieve the profile from { -firefox-brand-name }.
34
35
  AppViewRouter--error-from-file = Couldn’t read the file or parse the profile in it.
35
36
  AppViewRouter--error-local = Not implemented yet.
@@ -120,6 +121,7 @@ CallNodeContextMenu--searchfox = Look up the function name on Searchfox
120
121
  CallNodeContextMenu--copy-function-name = Copy function name
121
122
  CallNodeContextMenu--copy-script-url = Copy script URL
122
123
  CallNodeContextMenu--copy-stack = Copy stack
124
+ CallNodeContextMenu--show-the-function-in-devtools = Show the function in DevTools
123
125
 
124
126
  ## CallTree
125
127
  ## This is the component for Call Tree panel.
@@ -342,6 +344,15 @@ Home--load-files-from-other-tools2 =
342
344
  any file using the <dhat>dhat format</dhat> or <traceevent>Google’s Trace Event
343
345
  Format</traceevent>. <write>Learn how to write your
344
346
  own importer</write>.
347
+ Home--install-chrome-extension = Install the Chrome extension
348
+ Home--chrome-extension-instructions =
349
+ Use the <a>{ -profiler-brand-name } extension for Chrome</a>
350
+ to capture performance profiles in Chrome and analyze them in the
351
+ { -profiler-brand-name }. Install the extension from the Chrome Web Store.
352
+ Home--chrome-extension-recording-instructions =
353
+ Once installed, use the extension’s
354
+ toolbar icon or the shortcuts to start and stop profiling. You can also
355
+ export profiles and load them here for detailed analysis.
345
356
 
346
357
  ## IdleSearchField
347
358
  ## The component that is used for all the search inputs in the application.
@@ -633,6 +644,14 @@ NumberFormat--short-date = { SHORTDATE($date) }
633
644
 
634
645
  PanelSearch--search-field-hint = Did you know you can use the comma (,) to search using several terms?
635
646
 
647
+ ## Profile Name Button
648
+
649
+ ProfileName--edit-profile-name-button =
650
+ .title = Edit the profile name
651
+ ProfileName--edit-profile-name-input =
652
+ .title = Edit the profile name
653
+ .aria-label = Profile name
654
+
636
655
  ## Profile Delete Button
637
656
 
638
657
  # This string is used on the tooltip of the published profile links delete button in uploaded recordings page.
@@ -680,6 +699,7 @@ ProfileFilterNavigator--full-range-with-duration = Full Range ({ $fullRangeDurat
680
699
 
681
700
  ## Profile Loader Animation
682
701
 
702
+ ProfileLoaderAnimation--loading-from-post-message = Importing and processing the profile…
683
703
  ProfileLoaderAnimation--loading-unpublished = Importing the profile directly from { -firefox-brand-name }…
684
704
  ProfileLoaderAnimation--loading-from-file = Reading the file and processing the profile…
685
705
  ProfileLoaderAnimation--loading-local = Not implemented yet.
@@ -778,6 +798,10 @@ TrackContextMenu--hide-other-screenshots-tracks = Hide other Screenshots tracks
778
798
  TrackContextMenu--hide-track = Hide “{ $trackName }”
779
799
  TrackContextMenu--show-all-tracks = Show all tracks
780
800
  TrackContextMenu--show-local-tracks-in-process = Show all tracks in this process
801
+ # This is used as the context menu item to hide all tracks of the selected track's type.
802
+ # Variables:
803
+ # $type (String) - Name of the type of selected track to hide.
804
+ TrackContextMenu--hide-all-tracks-by-selected-track-type = Hide all tracks of type “{ $type }”
781
805
  # This is used in the tracks context menu as a button to show all the tracks
782
806
  # that match the search filter.
783
807
  TrackContextMenu--show-all-matching-tracks = Show all matching tracks
@@ -14,11 +14,11 @@
14
14
 
15
15
  ## The following feature names must be treated as a brand. They cannot be translated.
16
16
 
17
- -firefox-brand-name = Firefox
18
- -firefox-android-brand-name = Firefox for Android
19
- -profiler-brand-name = Firefox Profiler
20
- -profiler-brand-short-name = Profiler
21
- -firefox-nightly-brand-name = Firefox Nightly
17
+ -firefox-brand-name = Ruby
18
+ -firefox-android-brand-name = Ruby
19
+ -profiler-brand-name = Vernier Profiler
20
+ -profiler-brand-short-name = Vernier
21
+ -firefox-nightly-brand-name = Ruby
22
22
 
23
23
  ## AppHeader
24
24
  ## This is used at the top of the homepage and other content pages.
@@ -30,6 +30,7 @@ AppHeader--github-icon =
30
30
  ## AppViewRouter
31
31
  ## This is used for displaying errors when loading the application.
32
32
 
33
+ AppViewRouter--error-from-post-message = Could not import the profile.
33
34
  AppViewRouter--error-unpublished = Couldn’t retrieve the profile from { -firefox-brand-name }.
34
35
  AppViewRouter--error-from-file = Couldn’t read the file or parse the profile in it.
35
36
  AppViewRouter--error-local = Not implemented yet.
@@ -120,6 +121,7 @@ CallNodeContextMenu--searchfox = Look up the function name on Searchfox
120
121
  CallNodeContextMenu--copy-function-name = Copy function name
121
122
  CallNodeContextMenu--copy-script-url = Copy script URL
122
123
  CallNodeContextMenu--copy-stack = Copy stack
124
+ CallNodeContextMenu--show-the-function-in-devtools = Show the function in DevTools
123
125
 
124
126
  ## CallTree
125
127
  ## This is the component for Call Tree panel.
@@ -342,6 +344,15 @@ Home--load-files-from-other-tools2 =
342
344
  any file using the <dhat>dhat format</dhat> or <traceevent>Google’s Trace Event
343
345
  Format</traceevent>. <write>Learn how to write your
344
346
  own importer</write>.
347
+ Home--install-chrome-extension = Install the Chrome extension
348
+ Home--chrome-extension-instructions =
349
+ Use the <a>{ -profiler-brand-name } extension for Chrome</a>
350
+ to capture performance profiles in Chrome and analyse them in the
351
+ { -profiler-brand-name }. Install the extension from the Chrome Web Store.
352
+ Home--chrome-extension-recording-instructions =
353
+ Once installed, use the extension’s
354
+ toolbar icon or the shortcuts to start and stop profiling. You can also
355
+ export profiles and load them here for detailed analysis.
345
356
 
346
357
  ## IdleSearchField
347
358
  ## The component that is used for all the search inputs in the application.
@@ -628,6 +639,14 @@ NumberFormat--short-date = { SHORTDATE($date) }
628
639
 
629
640
  PanelSearch--search-field-hint = Did you know you can use the comma (,) to search using several terms?
630
641
 
642
+ ## Profile Name Button
643
+
644
+ ProfileName--edit-profile-name-button =
645
+ .title = Edit the profile name
646
+ ProfileName--edit-profile-name-input =
647
+ .title = Edit the profile name
648
+ .aria-label = Profile name
649
+
631
650
  ## Profile Delete Button
632
651
 
633
652
  # This string is used on the tooltip of the published profile links delete button in uploaded recordings page.
@@ -675,6 +694,7 @@ ProfileFilterNavigator--full-range-with-duration = Full Range ({ $fullRangeDurat
675
694
 
676
695
  ## Profile Loader Animation
677
696
 
697
+ ProfileLoaderAnimation--loading-from-post-message = Importing and processing the profile…
678
698
  ProfileLoaderAnimation--loading-unpublished = Importing the profile directly from { -firefox-brand-name }…
679
699
  ProfileLoaderAnimation--loading-from-file = Reading the file and processing the profile…
680
700
  ProfileLoaderAnimation--loading-local = Not implemented yet.