profile-viewer 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/dist/136.4ad3301b8aacf759ea70.bundle.js +2 -0
  3. data/dist/136.4ad3301b8aacf759ea70.bundle.js.map +1 -0
  4. data/dist/171.621b9df5978342be5662.bundle.js +2 -0
  5. data/dist/171.621b9df5978342be5662.bundle.js.map +1 -0
  6. data/dist/18a5d1d99f1c65c33b71.png +0 -0
  7. data/dist/1ddbc3ce40af8c7a648b.svg +6 -0
  8. data/dist/280.b4210a48e650408000c3.bundle.js +2 -0
  9. data/dist/280.b4210a48e650408000c3.bundle.js.map +1 -0
  10. data/dist/556.2be67a37a0c61fdc2485.bundle.js +2 -0
  11. data/dist/{914.b9bc213d93173ce6b0cb.bundle.js.map → 556.2be67a37a0c61fdc2485.bundle.js.map} +1 -1
  12. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js +2 -0
  13. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js.map +1 -0
  14. data/dist/d6df0017c0241dfe86ff.svg +6 -0
  15. data/dist/docs/_sidebar.md +1 -0
  16. data/dist/docs/advanced-topics.md +1 -0
  17. data/dist/docs/async-posix-signal-control.md +102 -0
  18. data/dist/docs/guide-startup-shutdown.md +7 -7
  19. data/dist/docs/js/init.js +1 -1
  20. data/dist/index.html +1 -1
  21. data/dist/locales/be/app.ftl +21 -3
  22. data/dist/locales/de/app.ftl +109 -3
  23. data/dist/locales/el/app.ftl +110 -4
  24. data/dist/locales/en-CA/app.ftl +1125 -0
  25. data/dist/locales/en-GB/app.ftl +110 -4
  26. data/dist/locales/en-US/app.ftl +123 -6
  27. data/dist/locales/es-CL/app.ftl +110 -4
  28. data/dist/locales/fr/app.ftl +66 -4
  29. data/dist/locales/fur/app.ftl +1093 -0
  30. data/dist/locales/fy-NL/app.ftl +109 -3
  31. data/dist/locales/ia/app.ftl +109 -3
  32. data/dist/locales/it/app.ftl +109 -3
  33. data/dist/locales/kab/app.ftl +32 -2
  34. data/dist/locales/nl/app.ftl +110 -4
  35. data/dist/locales/pt-BR/app.ftl +111 -5
  36. data/dist/locales/ru/app.ftl +109 -3
  37. data/dist/locales/sv-SE/app.ftl +109 -3
  38. data/dist/locales/tr/app.ftl +907 -0
  39. data/dist/locales/uk/app.ftl +110 -4
  40. data/dist/locales/zh-CN/app.ftl +112 -6
  41. data/dist/locales/zh-TW/app.ftl +109 -3
  42. data/dist/main.ac7130d34ce3b872712a.bundle.js +201 -0
  43. data/dist/{main.fc4f388a376c68dab444.bundle.js.LICENSE.txt → main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt} +1 -30
  44. data/dist/main.ac7130d34ce3b872712a.bundle.js.map +1 -0
  45. data/dist/photon/index.html +1 -1
  46. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js +2 -0
  47. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map +1 -0
  48. data/dist/sw.js +1 -1
  49. data/dist/sw.js.map +1 -1
  50. data/dist/{workbox-27b29e6f.js → workbox-e3490c72.js} +2 -2
  51. data/dist/{workbox-27b29e6f.js.map → workbox-e3490c72.js.map} +1 -1
  52. data/dist/zee-worker.js +1 -1
  53. data/ruby-bin/profile-viewer +20 -12
  54. data/ruby-bin/profile-viewer-version.rb +1 -1
  55. metadata +28 -22
  56. data/dist/119.92ddbd8a86d8c3ca559e.bundle.js +0 -2
  57. data/dist/119.92ddbd8a86d8c3ca559e.bundle.js.map +0 -1
  58. data/dist/131.c21d348572deab4ece66.bundle.js +0 -2
  59. data/dist/131.c21d348572deab4ece66.bundle.js.map +0 -1
  60. data/dist/308.4d236ce7e6451807cb54.bundle.js +0 -2
  61. data/dist/308.4d236ce7e6451807cb54.bundle.js.map +0 -1
  62. data/dist/9.32828795506af73ed4a1.bundle.js +0 -2
  63. data/dist/9.32828795506af73ed4a1.bundle.js.map +0 -1
  64. data/dist/914.b9bc213d93173ce6b0cb.bundle.js +0 -2
  65. data/dist/b45b29da558efa211628.jpg +0 -0
  66. data/dist/main.fc4f388a376c68dab444.bundle.js +0 -199
  67. data/dist/main.fc4f388a376c68dab444.bundle.js.map +0 -1
  68. data/dist/photon/main.1dffe4a955d6a0630bc4.bundle.js +0 -2
  69. data/dist/photon/main.1dffe4a955d6a0630bc4.bundle.js.map +0 -1
  70. /data/dist/{ad13da76642d8099fe70.module.wasm → 2f37d1addc2d2f5b699e.module.wasm} +0 -0
@@ -0,0 +1,6 @@
1
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
2
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
4
+ <svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zM9.731 4.066a8.257 8.257 0 0 0-5.938 7.09h3.266a13.027 13.027 0 0 1 2.672-7.09zm-2.672 8.84h-3.26a8.258 8.258 0 0 0 5.873 7.01 13.025 13.025 0 0 1-2.613-7.01zm4.911 7.01a11.295 11.295 0 0 1-3.157-7.01h6.369a11.296 11.296 0 0 1-3.212 7.01zm-3.157-8.76a11.298 11.298 0 0 1 3.217-7.072 11.299 11.299 0 0 1 3.161 7.072H8.813zm8.132 0a13.027 13.027 0 0 0-2.616-7.073 8.257 8.257 0 0 1 5.878 7.073h-3.262zm-.008 1.75a13.026 13.026 0 0 1-2.669 7.028 8.257 8.257 0 0 0 5.933-7.028h-3.264z" fill="#000" />
6
+ </svg>
@@ -15,6 +15,7 @@
15
15
  * [Perf profiling on Linux](./guide-perf-profiling.md)
16
16
  * [Perf profiling on Android](./guide-android-profiling.md)
17
17
  * [IPC Messages](./ipc-messages.md)
18
+ * [Profiler control using POSIX signals](./async-posix-signal-control.md)
18
19
  * [Video Tutorials](./videos.md)
19
20
  * [Firefox Profiler intro](./videos-intro.md)
20
21
  * [Samples and markers](./videos-samples-markers.md)
@@ -7,3 +7,4 @@ developers of the Firefox browser.
7
7
  * [Perf profiling on Linux](./guide-perf-profiling.md)
8
8
  * [Perf profiling on Android](./guide-android-profiling.md)
9
9
  * [IPC Messages](./ipc-messages.md)
10
+ * [Profiler control using POSIX signals](./async-posix-signal-control.md)
@@ -0,0 +1,102 @@
1
+
2
+ # Profiler control using POSIX signals
3
+
4
+ The Firefox profiler supports the use of asynchronous POSIX signals for a
5
+ limited number of operations, specifically starting and stopping the profiler.
6
+ This can be useful in situations where the normal UI or keyboard shortcut
7
+ control of the profiler is not available.
8
+
9
+ In brief, a user can send the POSIX signal `SIGUSR1` to the main Firefox process
10
+ to start the profiler, and the signal `SIGUSR2` to stop the profiler. Upon
11
+ recieiving the "stop" signal, the profiler will collect the current profile data
12
+ and write it to a `.json` file in the user's downloads directory. For example,
13
+ on MacOS:
14
+
15
+ // Send signal USR1 to the first (main) process of Firefox.app to start the profiler
16
+ kill -s USR1 `pgrep -f Firefox.app | head -n 1`
17
+ // wait for firefox to gather some data
18
+ sleep 10
19
+ // Send signal USR2 to the same process to stop the profiler
20
+ kill -s USR2 `pgrep -f Firefox.app | head -n 1`
21
+ // Find the result in the download folder
22
+ ls ~/Downloads/ | grep "profile.*json"
23
+
24
+ From there, the user can open the written profile using the standard profiler
25
+ UI, by navigating to [profiler.firefox.com](https://profiler.firefox.com), and selecting
26
+ "Load a profile from file".
27
+
28
+ Typically, sending a signal to a program is done using the `kill`
29
+ [command](https://man7.org/linux/man-pages/man1/kill.1.html), as seen in the
30
+ above example. It is important to specify the correct signal, as the default is
31
+ `TERM`, which will terminate the program. For the profiler, only signals
32
+ `SIGUSR1` (for starting) and `SIGUSR2` (for stopping) should be used. Note that they
33
+ are written without the `SIG` prefix when used as an argument to `kill` i.e.:
34
+
35
+ kill -s USR1 <firefox pid> // start the profiler
36
+ kill -s USR2 <firefox pid> // stop the profiler
37
+
38
+ // Alternative syntax
39
+ kill -USR1 <firefox pid>
40
+ kill --signal USR1 <firefox pid>
41
+
42
+ !> Only the process ID of the "main" process should be used. Child processes are
43
+ controlled by the parent process via IPC, and are unable to write their
44
+ processes to disk (due to sandboxing restrictions), so are not useful to profile
45
+ using signals.
46
+
47
+ The process ID of a running instance of Firefox can be found in a number of
48
+ ways, for instance:
49
+
50
+ pgrep -f Firefox.app // On MacOS
51
+ pidof Firefox // on Linux
52
+
53
+ In case of confusion, the main process is typically the one with lowest ID, when
54
+ sorted numerically.
55
+
56
+ Signal support is intended as a last-ditch debugging tool for situations where
57
+ we want to be able to diagnose issues with Firefox, but may not be able to use
58
+ the existing UI controls or Keyboard shortcuts to start/stop the profiler. For
59
+ example, if we encounter a prolonged freeze while browsing, it may be useful to
60
+ capture a profile by using POSIX signals to start and stop the profiler.
61
+
62
+ In a "normal" profiling flow, the resulting profile is communicated to the
63
+ profiler front-end directly, and then displayed to the user at the end of a
64
+ profiling session. The signal-controlled profiler bypasses this flow, and
65
+ instead writes a profile to disk. This makes it possible for us to debug in
66
+ situations where we may not be able to access the profiler UI in the same
67
+ session of firefox as the one we are debugging, with the small added friction of
68
+ needing to directly load the profile.
69
+
70
+ ## Limitations
71
+
72
+ The current implementation of POSIX signal support has a number of important
73
+ limitations that potential users need to be aware of:
74
+
75
+ * The profiler currently uses a set of "default"
76
+ [values](https://searchfox.org/mozilla-central/rev/7a8904165618818f73ab7fc692ace4a57ecd38c9/tools/profiler/core/platform.cpp#633)
77
+ when started using signals. There are currently plans to support configuration
78
+ (see [Bug 1866007](https://bugzilla.mozilla.org/show_bug.cgi?id=1866007) for
79
+ further information).
80
+ * Async signal handling is currently only supported and tested on POSIX native
81
+ platforms, i.e. Linux and MacOS. Support for Windows is planned, but not yet
82
+ implemented (see [Bug
83
+ 1867328](https://bugzilla.mozilla.org/show_bug.cgi?id=1867328) for further
84
+ information).
85
+ * The "stop" signal must be sent to Firefox's "main" process. This is due to
86
+ Firefox's sandboxing rules, which disallow non-main processes (in general)
87
+ from opening file handles. Because of this, individual processes cannot dump
88
+ their own data to disk, so cannot individually handle the stop signal.
89
+ * Signal support in the Firefox profiler is incompatible with Firefox's [code
90
+ coverage](https://firefox-source-docs.mozilla.org/tools/code-coverage/index.html)
91
+ tooling, as both rely on the same POSIX signals (`SIGUSR1` and `SIGUSR2`). In
92
+ an ideal world we could use Linux's
93
+ [real-time](https://man7.org/linux/man-pages/man7/signal.7.html) signals
94
+ instead, as they offer a much larger set of user-defined signals that would
95
+ not clash with the signals used by the code coverage tool. Unfortunately,
96
+ MacOS does not support these signals, so we are limited to the smaller set of
97
+ signals in order to support a wider set of platforms.
98
+ * Although signals are used to start/stop the profiler, the aggregation of
99
+ content-process profiles is still done using "traditional" Firefox IPC calls.
100
+ If, therefore, you are using signals to diagnose issues with a "stuck" main
101
+ thread in the main process, Firefox may not be able to aggregate child content
102
+ process profiles.
@@ -40,7 +40,7 @@ If you have compiled GeckoView-example locally, you can launch it with `./mach r
40
40
  ```bash
41
41
  ./mach run --setenv MOZ_PROFILER_STARTUP=1 \
42
42
  --setenv MOZ_PROFILER_STARTUP_INTERVAL=5 \
43
- --setenv MOZ_PROFILER_STARTUP_FEATURES=threads,js,stackwalk,leaf,screenshots,ipcmessages,java \
43
+ --setenv MOZ_PROFILER_STARTUP_FEATURES=js,stackwalk,screenshots,ipcmessages,java,processcpu,cpu \
44
44
  --setenv MOZ_PROFILER_STARTUP_FILTERS="GeckoMain,Compositor,Renderer,IPDL Background"
45
45
  ```
46
46
 
@@ -50,7 +50,7 @@ Alternatively, if you have installed GeckoView-example from another source, you
50
50
  adb shell am start -n org.mozilla.geckoview_example/.App \
51
51
  --es env0 MOZ_PROFILER_STARTUP=1 \
52
52
  --es env1 MOZ_PROFILER_STARTUP_INTERVAL=5 \
53
- --es env2 MOZ_PROFILER_STARTUP_FEATURES=threads,js,stackwalk,leaf,screenshots,ipcmessages,java \
53
+ --es env2 MOZ_PROFILER_STARTUP_FEATURES=js,stackwalk,screenshots,ipcmessages,java,processcpu,cpu \
54
54
  --es env3 MOZ_PROFILER_STARTUP_FILTERS="GeckoMain,Compositor,Renderer,IPDL Background"
55
55
  ```
56
56
 
@@ -58,15 +58,15 @@ adb shell am start -n org.mozilla.geckoview_example/.App \
58
58
 
59
59
  Fenix has a [different way](https://firefox-source-docs.mozilla.org/mobile/android/geckoview/consumer/automation.html#reading-configuration-from-a-file) to specify environment variables: it uses a yaml file.
60
60
 
61
- The easiest way to set up startup profiling is to run the `<fenix-repo>/tools/setup-startup-profiling.py` script. For example:
61
+ The easiest way to set up startup profiling is to run the `<mozilla-central-repo>/mobile/android/fenix/tools/setup-startup-profiling.py` script. For example:
62
62
  ```bash
63
- ./tools/setup-startup-profiling.py activate nightly # To activate startup profiling on nightly.
64
- ./tools/setup-startup-profiling.py deactivate beta # To deactivate startup profiling on beta.
63
+ ./mobile/android/fenix/tools/setup-startup-profiling.py activate nightly # To activate startup profiling on nightly.
64
+ ./mobile/android/fenix/tools/setup-startup-profiling.py deactivate beta # To deactivate startup profiling on beta.
65
65
  ```
66
66
 
67
67
  If the app is uninstalled or the device is restarted, the `activate` command may need to be re-run. The script is hard-coded to use a default configuration file with default profiling arguments. If you wish to change these arguments or use a non-standard app ID, modify the script locally or read below.
68
68
 
69
- If you don't want to check out [the fenix repository](https://github.com/mozilla-mobile/fenix/), you should be able to download [the script standalone](https://raw.githubusercontent.com/mozilla-mobile/fenix/master/tools/setup-startup-profiling.py) and execute it.
69
+ If you don't want to check out [mozilla-central](https://hg.mozilla.org/mozilla-central/), you should be able to download [the script standalone](https://hg.mozilla.org/mozilla-central/raw-file/tip/mobile/android/fenix/tools/setup-startup-profiling.py) and execute it.
70
70
 
71
71
  #### Manual configuration
72
72
 
@@ -78,7 +78,7 @@ The filename of the YAML file mentioned above depends on the bundle ID of your F
78
78
  env:
79
79
  MOZ_PROFILER_STARTUP: 1
80
80
  MOZ_PROFILER_STARTUP_INTERVAL: 5
81
- MOZ_PROFILER_STARTUP_FEATURES: threads,js,stackwalk,leaf,screenshots,ipcmessages,java
81
+ MOZ_PROFILER_STARTUP_FEATURES: js,stackwalk,screenshots,ipcmessages,java,processcpu,cpu
82
82
  MOZ_PROFILER_STARTUP_FILTERS: GeckoMain,Compositor,Renderer,IPDL Background
83
83
  ```
84
84
  2. Push this file to the device with `adb push org.mozilla.fenix-geckoview-config.yaml /data/local/tmp/`.
data/dist/docs/js/init.js CHANGED
@@ -1 +1 @@
1
- window.$docsify={name:"Firefox Profiler",auto2top:!0,loadSidebar:!0,loadNavbar:!0,subMaxLevel:2,themeColor:"#0a84ff",noCompileLinks:[".*\\.svg"]};
1
+ window.$docsify={name:"Firefox Profiler",auto2top:!0,loadSidebar:!0,loadNavbar:!0,subMaxLevel:2,themeColor:"#0a84ff",noCompileLinks:[".*\\.svg",".*\\.png"]};
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="/favicon.png"><script defer="defer" src="/main.fc4f388a376c68dab444.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="/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>
@@ -373,8 +373,8 @@ MarkerSidebar--select-a-marker = Выберыце маркер, каб пагл
373
373
 
374
374
  MarkerTable--start = Пачатак
375
375
  MarkerTable--duration = Працягласць
376
- MarkerTable--type = Тып
377
- MarkerTable--description = Апісанне
376
+ MarkerTable--name = Назва
377
+ MarkerTable--details = Падрабязнасці
378
378
 
379
379
  ## MenuButtons
380
380
  ## These strings are used for the buttons at the top of the profile viewer.
@@ -754,7 +754,6 @@ TrackNameButton--hide-process =
754
754
 
755
755
  TrackMemoryGraph--relative-memory-at-this-time = адносная памяць на гэты момант
756
756
  TrackMemoryGraph--memory-range-in-graph = дыяпазон памяці ў графіку
757
- TrackMemoryGraph--operations-since-the-previous-sample = аперацый, пачынаючы з папярэдняга ўзору
758
757
 
759
758
  ## TrackPower
760
759
  ## This is used to show the power used by the CPU and other chips in a computer,
@@ -838,6 +837,25 @@ TrackPower--tooltip-energy-carbon-used-in-preview-milliwatthour = { $value } м
838
837
  TrackPower--tooltip-energy-carbon-used-in-preview-microwatthour = { $value } мкВт·гад ({ $carbonValue } мг CO₂e)
839
838
  .label = Энергія, якая спажываецца ў бягучай выбарцы
840
839
 
840
+ ## TrackBandwidth
841
+ ## This is used to show how much data was transfered over time.
842
+ ## For the strings in this group, the carbon dioxide equivalent is estimated
843
+ ## from the amount of data transfered.
844
+ ## The carbon dioxide equivalent represents the equivalent amount
845
+ ## of CO₂ to achieve the same level of global warming potential.
846
+
847
+ # This is used in the tooltip of the bandwidth track.
848
+ # Variables:
849
+ # $value (String) - the value for the data transfer speed.
850
+ # Will contain the unit (eg. B, KB, MB)
851
+ TrackBandwidthGraph--speed = { $value } у секунду
852
+ .label = Хуткасць перадачы для гэтай выбаркі
853
+ # This is used in the tooltip of the bandwidth track.
854
+ # Variables:
855
+ # $value (String) - how many read or write operations were performed since the previous sample
856
+ TrackBandwidthGraph--read-write-operations-since-the-previous-sample = { $value }
857
+ .label = аперацый уводу/вываду з часу папярэдняй выбаркі
858
+
841
859
  ## TrackSearchField
842
860
  ## The component that is used for the search input in the track context menu.
843
861
 
@@ -169,6 +169,46 @@ CallTree--inlining-badge = (inlined)
169
169
  ## This is the sidebar component that is used in Call Tree and Flame Graph panels.
170
170
 
171
171
  CallTreeSidebar--select-a-node = Wählen Sie einen Knoten aus, um Informationen darüber anzuzeigen.
172
+ CallTreeSidebar--call-node-details = Details zum Aufrufknoten
173
+
174
+ ## CallTreeSidebar timing information
175
+ ##
176
+ ## Firefox Profiler stops the execution of the program every 1ms to record the
177
+ ## stack. Only thing we know for sure is the stack at that point of time when
178
+ ## the stack is taken. We try to estimate the time spent in each function and
179
+ ## translate it to a duration. That's why we use the "traced" word here.
180
+ ## There is actually no difference between "Traced running time" and "Running
181
+ ## time" in the context of the profiler. We use "Traced" to emphasize that this
182
+ ## is an estimation where we have more space in the UI.
183
+ ##
184
+ ## "Self time" is the time spent in the function itself, excluding the time spent
185
+ ## in the functions it called. "Running time" is the time spent in the function
186
+ ## itself, including the time spent in the functions it called.
187
+
188
+ CallTreeSidebar--traced-running-time =
189
+ .label = Nachverfolgte Laufzeit
190
+ CallTreeSidebar--traced-self-time =
191
+ .label = Nachverfolgte Eigenzeit
192
+ CallTreeSidebar--running-time =
193
+ .label = Laufzeit
194
+ CallTreeSidebar--self-time =
195
+ .label = Eigenzeit
196
+ CallTreeSidebar--running-samples =
197
+ .label = Laufende Stichproben
198
+ CallTreeSidebar--self-samples =
199
+ .label = Eigenstichproben
200
+ CallTreeSidebar--running-size =
201
+ .label = Laufgröße
202
+ CallTreeSidebar--self-size =
203
+ .label = Eigengröße
204
+ CallTreeSidebar--categories = Kategorien
205
+ CallTreeSidebar--implementation = Implementierung
206
+ CallTreeSidebar--running-milliseconds = Laufende Millisekunden
207
+ CallTreeSidebar--running-sample-count = Anzahl laufende Stichproben
208
+ CallTreeSidebar--running-bytes = Laufende Bytes
209
+ CallTreeSidebar--self-milliseconds = Eigene Millisekunden
210
+ CallTreeSidebar--self-sample-count = Anzahl Eigenstichproben
211
+ CallTreeSidebar--self-bytes = Eigene Bytes
172
212
 
173
213
  ## CompareHome
174
214
  ## This is used in the page to compare two profiles.
@@ -371,8 +411,8 @@ MarkerSidebar--select-a-marker = Wählen Sie eine Markierung aus, um Information
371
411
 
372
412
  MarkerTable--start = Beginn
373
413
  MarkerTable--duration = Dauer
374
- MarkerTable--type = Typ
375
- MarkerTable--description = Beschreibung
414
+ MarkerTable--name = Name
415
+ MarkerTable--details = Details
376
416
 
377
417
  ## MenuButtons
378
418
  ## These strings are used for the buttons at the top of the profile viewer.
@@ -686,6 +726,13 @@ TabBar--marker-table-tab = Markierungstabelle
686
726
  TabBar--network-tab = Netzwerk
687
727
  TabBar--js-tracer-tab = JS-Aufzeichnung
688
728
 
729
+ ## TabSelectorMenu
730
+ ## This component is a context menu that's opened when you click on the root
731
+ ## range at the top left corner for profiler analysis view. It's used to switch
732
+ ## between tabs that were captured in the profile.
733
+
734
+ TabSelectorMenu--all-tabs-and-windows = Alle Tabs und Fenster
735
+
689
736
  ## TrackContextMenu
690
737
  ## This is used as a context menu for timeline to organize the tracks in the
691
738
  ## analysis UI.
@@ -702,6 +749,10 @@ TrackContextMenu--hide-other-screenshots-tracks = Andere Screenshots-Tracks ausb
702
749
  TrackContextMenu--hide-track = „{ $trackName }“ verbergen
703
750
  TrackContextMenu--show-all-tracks = Alle Tracks anzeigen
704
751
  TrackContextMenu--show-local-tracks-in-process = Alle Tracks in diesem Prozess anzeigen
752
+ # This is used as the context menu item to hide all tracks of the selected track's type.
753
+ # Variables:
754
+ # $type (String) - Name of the type of selected track to hide.
755
+ TrackContextMenu--hide-all-tracks-by-selected-track-type = Alle Spuren vom Typ „{ $type }“ ausblenden
705
756
  # This is used in the tracks context menu as a button to show all the tracks
706
757
  # that match the search filter.
707
758
  TrackContextMenu--show-all-matching-tracks = Alle passenden Tracks anzeigen
@@ -727,7 +778,7 @@ TrackNameButton--hide-process =
727
778
 
728
779
  TrackMemoryGraph--relative-memory-at-this-time = Relativer Speicherverbrauch zu diesem Zeitpunkt
729
780
  TrackMemoryGraph--memory-range-in-graph = Speicherbereich im Diagramm
730
- TrackMemoryGraph--operations-since-the-previous-sample = Operationen seit der vorherigen Stichprobe
781
+ TrackMemoryGraph--allocations-and-deallocations-since-the-previous-sample = Allokationen und Aufhebungen von Allokationen seit der vorherigen Stichprobe
731
782
 
732
783
  ## TrackPower
733
784
  ## This is used to show the power used by the CPU and other chips in a computer,
@@ -754,6 +805,21 @@ TrackPower--tooltip-power-watt = { $value } W
754
805
  # $value (String) - the power value at this location
755
806
  TrackPower--tooltip-power-milliwatt = { $value } mW
756
807
  .label = Leistung
808
+ # This is used in the tooltip when the power value uses the kilowatt unit.
809
+ # Variables:
810
+ # $value (String) - the power value at this location
811
+ TrackPower--tooltip-average-power-kilowatt = { $value } kW
812
+ .label = Durchschnittliche Leistung in der aktuellen Auswahl
813
+ # This is used in the tooltip when the power value uses the watt unit.
814
+ # Variables:
815
+ # $value (String) - the power value at this location
816
+ TrackPower--tooltip-average-power-watt = { $value } W
817
+ .label = Durchschnittliche Leistung in der aktuellen Auswahl
818
+ # This is used in the tooltip when the instant power value uses the milliwatt unit.
819
+ # Variables:
820
+ # $value (String) - the power value at this location
821
+ TrackPower--tooltip-average-power-milliwatt = { $value } mW
822
+ .label = Durchschnittliche Leistung in der aktuellen Auswahl
757
823
  # This is used in the tooltip when the energy used in the current range uses the
758
824
  # kilowatt-hour unit.
759
825
  # Variables:
@@ -811,6 +877,46 @@ TrackPower--tooltip-energy-carbon-used-in-preview-milliwatthour = { $value } mWh
811
877
  TrackPower--tooltip-energy-carbon-used-in-preview-microwatthour = { $value } µWh ({ $carbonValue } mg CO₂e)
812
878
  .label = In der aktuellen Auswahl verwendete Energie
813
879
 
880
+ ## TrackBandwidth
881
+ ## This is used to show how much data was transfered over time.
882
+ ## For the strings in this group, the carbon dioxide equivalent is estimated
883
+ ## from the amount of data transfered.
884
+ ## The carbon dioxide equivalent represents the equivalent amount
885
+ ## of CO₂ to achieve the same level of global warming potential.
886
+
887
+ # This is used in the tooltip of the bandwidth track.
888
+ # Variables:
889
+ # $value (String) - the value for the data transfer speed.
890
+ # Will contain the unit (eg. B, KB, MB)
891
+ TrackBandwidthGraph--speed = { $value } pro Sekunde
892
+ .label = Übertragungsgeschwindigkeit für diese Teilmenge
893
+ # This is used in the tooltip of the bandwidth track.
894
+ # Variables:
895
+ # $value (String) - how many read or write operations were performed since the previous sample
896
+ TrackBandwidthGraph--read-write-operations-since-the-previous-sample = { $value }
897
+ .label = Lese-/Schreiboperationen seit der vorherigen Teilmenge
898
+ # This is used in the tooltip of the bandwidth track.
899
+ # Variables:
900
+ # $value (String) - the total of transfered data until the hovered time.
901
+ # Will contain the unit (eg. B, KB, MB)
902
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
903
+ TrackBandwidthGraph--cumulative-bandwidth-at-this-time = { $value } ({ $carbonValue } g CO₂e)
904
+ .label = Bislang übertragene Daten
905
+ # This is used in the tooltip of the bandwidth track.
906
+ # Variables:
907
+ # $value (String) - the total of transfered data during the visible time range.
908
+ # Will contain the unit (eg. B, KB, MB)
909
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
910
+ TrackBandwidthGraph--total-bandwidth-in-graph = { $value } ({ $carbonValue } g CO₂e)
911
+ .label = Im sichtbaren Bereich übertragene Daten
912
+ # This is used in the tooltip of the bandwidth track when a range is selected.
913
+ # Variables:
914
+ # $value (String) - the total of transfered data during the selected time range.
915
+ # Will contain the unit (eg. B, KB, MB)
916
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
917
+ TrackBandwidthGraph--total-bandwidth-in-range = { $value } ({ $carbonValue } g CO₂e)
918
+ .label = In der aktuellen Auswahl übertragene Daten
919
+
814
920
  ## TrackSearchField
815
921
  ## The component that is used for the search input in the track context menu.
816
922
 
@@ -178,6 +178,46 @@ CallTree--inlining-badge = (ενσωματωμένη)
178
178
  ## This is the sidebar component that is used in Call Tree and Flame Graph panels.
179
179
 
180
180
  CallTreeSidebar--select-a-node = Επιλέξτε κόμβο για προβολή πληροφοριών σχετικά με αυτόν.
181
+ CallTreeSidebar--call-node-details = Λεπτομέρειες κόμβου κλήσης
182
+
183
+ ## CallTreeSidebar timing information
184
+ ##
185
+ ## Firefox Profiler stops the execution of the program every 1ms to record the
186
+ ## stack. Only thing we know for sure is the stack at that point of time when
187
+ ## the stack is taken. We try to estimate the time spent in each function and
188
+ ## translate it to a duration. That's why we use the "traced" word here.
189
+ ## There is actually no difference between "Traced running time" and "Running
190
+ ## time" in the context of the profiler. We use "Traced" to emphasize that this
191
+ ## is an estimation where we have more space in the UI.
192
+ ##
193
+ ## "Self time" is the time spent in the function itself, excluding the time spent
194
+ ## in the functions it called. "Running time" is the time spent in the function
195
+ ## itself, including the time spent in the functions it called.
196
+
197
+ CallTreeSidebar--traced-running-time =
198
+ .label = Ιχνηλατημένος χρόνος εκτέλεσης
199
+ CallTreeSidebar--traced-self-time =
200
+ .label = Ιχνηλατημένος ιδιοχρόνος
201
+ CallTreeSidebar--running-time =
202
+ .label = Χρόνος εκτέλεσης
203
+ CallTreeSidebar--self-time =
204
+ .label = Iδιοχρόνος
205
+ CallTreeSidebar--running-samples =
206
+ .label = Εκτελούμενα δείγματα
207
+ CallTreeSidebar--self-samples =
208
+ .label = Ιδιοδείγματα
209
+ CallTreeSidebar--running-size =
210
+ .label = Μέγεθος εκτέλεσης
211
+ CallTreeSidebar--self-size =
212
+ .label = Ιδιομέγεθος
213
+ CallTreeSidebar--categories = Κατηγορίες
214
+ CallTreeSidebar--implementation = Υλοποίηση
215
+ CallTreeSidebar--running-milliseconds = Χιλιοστά δευτερολέπτου εκτέλεσης
216
+ CallTreeSidebar--running-sample-count = Εκτελούμενος αριθμός δειγμάτων
217
+ CallTreeSidebar--running-bytes = Bytes εκτέλεσης
218
+ CallTreeSidebar--self-milliseconds = Χιλιοστά δευτερολέπτου συνάρτησης
219
+ CallTreeSidebar--self-sample-count = Αριθμός ιδιοδειγμάτων
220
+ CallTreeSidebar--self-bytes = Ιδιο-bytes
181
221
 
182
222
  ## CompareHome
183
223
  ## This is used in the page to compare two profiles.
@@ -228,7 +268,7 @@ ErrorBoundary--report-error-on-github = Αναφορά σφάλματος στο
228
268
 
229
269
  FooterLinks--legal = Νομικά
230
270
  FooterLinks--Privacy = Απόρρητο
231
- FooterLinks--Cookies = Cookies
271
+ FooterLinks--Cookies = Cookie
232
272
  FooterLinks--languageSwitcher--select =
233
273
  .title = Αλλαγή γλώσσας
234
274
  FooterLinks--hide-button =
@@ -390,8 +430,8 @@ MarkerSidebar--select-a-marker = Επιλέξτε σημάδι για προβο
390
430
 
391
431
  MarkerTable--start = Έναρξη
392
432
  MarkerTable--duration = Διάρκεια
393
- MarkerTable--type = Τύπος
394
- MarkerTable--description = Περιγραφή
433
+ MarkerTable--name = Όνομα
434
+ MarkerTable--details = Λεπτομέρειες
395
435
 
396
436
  ## MenuButtons
397
437
  ## These strings are used for the buttons at the top of the profile viewer.
@@ -705,6 +745,13 @@ TabBar--marker-table-tab = Πίνακας δεικτών
705
745
  TabBar--network-tab = Δίκτυο
706
746
  TabBar--js-tracer-tab = JS Tracer
707
747
 
748
+ ## TabSelectorMenu
749
+ ## This component is a context menu that's opened when you click on the root
750
+ ## range at the top left corner for profiler analysis view. It's used to switch
751
+ ## between tabs that were captured in the profile.
752
+
753
+ TabSelectorMenu--all-tabs-and-windows = Όλες οι καρτέλες και τα παράθυρα
754
+
708
755
  ## TrackContextMenu
709
756
  ## This is used as a context menu for timeline to organize the tracks in the
710
757
  ## analysis UI.
@@ -721,6 +768,10 @@ TrackContextMenu--hide-other-screenshots-tracks = Απόκρυψη άλλων κ
721
768
  TrackContextMenu--hide-track = Απόκρυψη του “{ $trackName }”
722
769
  TrackContextMenu--show-all-tracks = Εμφάνιση όλων των κομματιών
723
770
  TrackContextMenu--show-local-tracks-in-process = Εμφάνιση όλων των κομματιών σε αυτήν τη διεργασία
771
+ # This is used as the context menu item to hide all tracks of the selected track's type.
772
+ # Variables:
773
+ # $type (String) - Name of the type of selected track to hide.
774
+ TrackContextMenu--hide-all-tracks-by-selected-track-type = Απόκρυψη όλων των ιχνών του τύπου «{ $type }»
724
775
  # This is used in the tracks context menu as a button to show all the tracks
725
776
  # that match the search filter.
726
777
  TrackContextMenu--show-all-matching-tracks = Εμφάνιση όλων των αντίστοιχων κομματιών
@@ -746,7 +797,7 @@ TrackNameButton--hide-process =
746
797
 
747
798
  TrackMemoryGraph--relative-memory-at-this-time = σχετική μνήμη αυτήν τη στιγμή
748
799
  TrackMemoryGraph--memory-range-in-graph = εύρος μνήμης στο γράφημα
749
- TrackMemoryGraph--operations-since-the-previous-sample = λειτουργίες από το προηγούμενο δείγμα
800
+ TrackMemoryGraph--allocations-and-deallocations-since-the-previous-sample = κατανομές και αποδεσμεύσεις από το προηγούμενο δείγμα
750
801
 
751
802
  ## TrackPower
752
803
  ## This is used to show the power used by the CPU and other chips in a computer,
@@ -773,6 +824,21 @@ TrackPower--tooltip-power-watt = { $value } W
773
824
  # $value (String) - the power value at this location
774
825
  TrackPower--tooltip-power-milliwatt = { $value } mW
775
826
  .label = Ισχύς
827
+ # This is used in the tooltip when the power value uses the kilowatt unit.
828
+ # Variables:
829
+ # $value (String) - the power value at this location
830
+ TrackPower--tooltip-average-power-kilowatt = { $value } kW
831
+ .label = Μέση ισχύς στην τρέχουσα επιλογή
832
+ # This is used in the tooltip when the power value uses the watt unit.
833
+ # Variables:
834
+ # $value (String) - the power value at this location
835
+ TrackPower--tooltip-average-power-watt = { $value } W
836
+ .label = Μέση ισχύς στην τρέχουσα επιλογή
837
+ # This is used in the tooltip when the instant power value uses the milliwatt unit.
838
+ # Variables:
839
+ # $value (String) - the power value at this location
840
+ TrackPower--tooltip-average-power-milliwatt = { $value } mW
841
+ .label = Μέση ισχύς στην τρέχουσα επιλογή
776
842
  # This is used in the tooltip when the energy used in the current range uses the
777
843
  # kilowatt-hour unit.
778
844
  # Variables:
@@ -830,6 +896,46 @@ TrackPower--tooltip-energy-carbon-used-in-preview-milliwatthour = { $value } mWh
830
896
  TrackPower--tooltip-energy-carbon-used-in-preview-microwatthour = { $value } µWh ({ $carbonValue } mg CO₂e)
831
897
  .label = Η ενέργεια που χρησιμοποιείται στην τρέχουσα επιλογή
832
898
 
899
+ ## TrackBandwidth
900
+ ## This is used to show how much data was transfered over time.
901
+ ## For the strings in this group, the carbon dioxide equivalent is estimated
902
+ ## from the amount of data transfered.
903
+ ## The carbon dioxide equivalent represents the equivalent amount
904
+ ## of CO₂ to achieve the same level of global warming potential.
905
+
906
+ # This is used in the tooltip of the bandwidth track.
907
+ # Variables:
908
+ # $value (String) - the value for the data transfer speed.
909
+ # Will contain the unit (eg. B, KB, MB)
910
+ TrackBandwidthGraph--speed = { $value } ανά δευτερόλεπτο
911
+ .label = Ταχύτητα μεταφοράς για αυτό το δείγμα
912
+ # This is used in the tooltip of the bandwidth track.
913
+ # Variables:
914
+ # $value (String) - how many read or write operations were performed since the previous sample
915
+ TrackBandwidthGraph--read-write-operations-since-the-previous-sample = { $value }
916
+ .label = λειτουργίες ανάγνωσης/εγγραφής από το προηγούμενο δείγμα
917
+ # This is used in the tooltip of the bandwidth track.
918
+ # Variables:
919
+ # $value (String) - the total of transfered data until the hovered time.
920
+ # Will contain the unit (eg. B, KB, MB)
921
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
922
+ TrackBandwidthGraph--cumulative-bandwidth-at-this-time = { $value } ({ $carbonValue } g CO₂e)
923
+ .label = Δεδομένα που μεταφέρθηκαν μέχρι αυτήν τη στιγμή
924
+ # This is used in the tooltip of the bandwidth track.
925
+ # Variables:
926
+ # $value (String) - the total of transfered data during the visible time range.
927
+ # Will contain the unit (eg. B, KB, MB)
928
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
929
+ TrackBandwidthGraph--total-bandwidth-in-graph = { $value } ({ $carbonValue } g CO₂e)
930
+ .label = Δεδομένα που μεταφέρθηκαν στο ορατό εύρος
931
+ # This is used in the tooltip of the bandwidth track when a range is selected.
932
+ # Variables:
933
+ # $value (String) - the total of transfered data during the selected time range.
934
+ # Will contain the unit (eg. B, KB, MB)
935
+ # $carbonValue (string) - the carbon dioxide equivalent (CO₂e) value in grams
936
+ TrackBandwidthGraph--total-bandwidth-in-range = { $value } ({ $carbonValue } g CO₂e)
937
+ .label = Δεδομένα που μεταφέρθηκαν στην τρέχουσα επιλογή
938
+
833
939
  ## TrackSearchField
834
940
  ## The component that is used for the search input in the track context menu.
835
941