profile-viewer 0.0.1 → 0.0.3
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.
- checksums.yaml +4 -4
- data/dist/136.4ad3301b8aacf759ea70.bundle.js +2 -0
- data/dist/136.4ad3301b8aacf759ea70.bundle.js.map +1 -0
- data/dist/171.621b9df5978342be5662.bundle.js +2 -0
- data/dist/171.621b9df5978342be5662.bundle.js.map +1 -0
- data/dist/18a5d1d99f1c65c33b71.png +0 -0
- data/dist/1ddbc3ce40af8c7a648b.svg +6 -0
- data/dist/280.b4210a48e650408000c3.bundle.js +2 -0
- data/dist/280.b4210a48e650408000c3.bundle.js.map +1 -0
- data/dist/556.2be67a37a0c61fdc2485.bundle.js +2 -0
- data/dist/{914.b9bc213d93173ce6b0cb.bundle.js.map → 556.2be67a37a0c61fdc2485.bundle.js.map} +1 -1
- data/dist/874.2a087b9b5a296a9c3fcd.bundle.js +2 -0
- data/dist/874.2a087b9b5a296a9c3fcd.bundle.js.map +1 -0
- data/dist/_headers +1 -2
- data/dist/contribute.json +31 -35
- data/dist/d6df0017c0241dfe86ff.svg +6 -0
- data/dist/docs/_sidebar.md +1 -0
- data/dist/docs/advanced-topics.md +1 -0
- data/dist/docs/async-posix-signal-control.md +102 -0
- data/dist/docs/guide-startup-shutdown.md +7 -7
- data/dist/docs/js/init.js +1 -1
- data/dist/index.html +1 -1
- data/dist/locales/README.md +1 -0
- data/dist/locales/be/app.ftl +42 -6
- data/dist/locales/de/app.ftl +109 -3
- data/dist/locales/el/app.ftl +110 -4
- data/dist/locales/en-CA/app.ftl +1125 -0
- data/dist/locales/en-GB/app.ftl +110 -4
- data/dist/locales/en-US/app.ftl +123 -6
- data/dist/locales/es-CL/app.ftl +110 -4
- data/dist/locales/fr/app.ftl +66 -4
- data/dist/locales/fur/app.ftl +1093 -0
- data/dist/locales/fy-NL/app.ftl +109 -3
- data/dist/locales/ia/app.ftl +109 -3
- data/dist/locales/it/app.ftl +109 -3
- data/dist/locales/kab/app.ftl +32 -2
- data/dist/locales/nl/app.ftl +110 -4
- data/dist/locales/pt-BR/app.ftl +111 -5
- data/dist/locales/ru/app.ftl +109 -3
- data/dist/locales/sv-SE/app.ftl +109 -3
- data/dist/locales/tr/app.ftl +907 -0
- data/dist/locales/uk/app.ftl +110 -4
- data/dist/locales/zh-CN/app.ftl +112 -6
- data/dist/locales/zh-TW/app.ftl +109 -3
- data/dist/main.ac7130d34ce3b872712a.bundle.js +201 -0
- data/dist/{main.8208fda2d35ddbe38d55.bundle.js.LICENSE.txt → main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt} +1 -30
- data/dist/main.ac7130d34ce3b872712a.bundle.js.map +1 -0
- data/dist/photon/index.html +3 -2
- data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js +2 -0
- data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map +1 -0
- data/dist/robots.txt +4 -0
- data/dist/sw.js +1 -1
- data/dist/sw.js.map +1 -1
- data/dist/{workbox-27b29e6f.js → workbox-e3490c72.js} +2 -2
- data/dist/{workbox-27b29e6f.js.map → workbox-e3490c72.js.map} +1 -1
- data/dist/zee-worker.js +1 -1
- data/ruby-bin/profile-viewer +53 -16
- data/ruby-bin/profile-viewer-version.rb +3 -0
- metadata +60 -25
- data/dist/119.cc58ce313e67f80f50f3.bundle.js +0 -2
- data/dist/119.cc58ce313e67f80f50f3.bundle.js.map +0 -1
- data/dist/131.c21d348572deab4ece66.bundle.js +0 -2
- data/dist/131.c21d348572deab4ece66.bundle.js.map +0 -1
- data/dist/308.4d236ce7e6451807cb54.bundle.js +0 -2
- data/dist/308.4d236ce7e6451807cb54.bundle.js.map +0 -1
- data/dist/9.071a712ea648c8b30416.bundle.js +0 -2
- data/dist/9.071a712ea648c8b30416.bundle.js.map +0 -1
- data/dist/914.b9bc213d93173ce6b0cb.bundle.js +0 -2
- data/dist/b45b29da558efa211628.jpg +0 -0
- data/dist/before-load.js +0 -1
- data/dist/main.8208fda2d35ddbe38d55.bundle.js +0 -199
- data/dist/main.8208fda2d35ddbe38d55.bundle.js.map +0 -1
- data/dist/photon/main.8c8260452e7439ec6df9.bundle.js +0 -2
- data/dist/photon/main.8c8260452e7439ec6df9.bundle.js.map +0 -1
- /data/dist/{ad13da76642d8099fe70.module.wasm → 2f37d1addc2d2f5b699e.module.wasm} +0 -0
data/dist/_headers
CHANGED
@@ -15,7 +15,6 @@
|
|
15
15
|
|
16
16
|
# 1. script-src
|
17
17
|
# a. 'wasm-unsafe-eval' allows to execute wasm scripts without compromising the javascript CSP.
|
18
|
-
# b. We use Google Analytics to track the usage of the application.
|
19
18
|
# 2. style-src
|
20
19
|
# a. `unsafe-inline` is necessary to support favicons.
|
21
20
|
# b. Google Fonts are used in the docs.
|
@@ -26,7 +25,7 @@
|
|
26
25
|
# 7. `frame-ancestors` is the same purpose as `X-Frame-Options` above.
|
27
26
|
# 8. `form-action`prevents forms, we don't need this.`
|
28
27
|
# 9. `frame-src` allows the embedding of YouTube videos in the docs.
|
29
|
-
Content-Security-Policy: default-src 'self'; script-src 'self' 'wasm-unsafe-eval'
|
28
|
+
Content-Security-Policy: default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src http: https: data:; object-src 'none'; connect-src *; frame-ancestors 'self'; form-action 'none'; frame-src www.youtube-nocookie.com
|
30
29
|
|
31
30
|
# Set the correct MIME type for WebAssembly modules.
|
32
31
|
/*.wasm
|
data/dist/contribute.json
CHANGED
@@ -1,37 +1,33 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
]
|
21
|
-
}
|
22
|
-
},
|
23
|
-
"bugs": {
|
24
|
-
"list": "https://github.com/firefox-devtools/profiler/issues",
|
25
|
-
"report": "https://github.com/firefox-devtools/profiler/issues/new",
|
26
|
-
"mentored": "https://github.com/firefox-devtools/profiler/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22"
|
27
|
-
},
|
28
|
-
"urls": {
|
29
|
-
"prod": "https://profiler.firefox.com",
|
30
|
-
"stage": "https://main--perf-html.netlify.app/"
|
31
|
-
},
|
32
|
-
"keywords": [
|
33
|
-
"performance",
|
34
|
-
"firefox",
|
35
|
-
"web"
|
2
|
+
"name": "Firefox profiler",
|
3
|
+
"description": "Web app for Firefox performance analysis",
|
4
|
+
"repository": {
|
5
|
+
"url": "https://github.com/firefox-devtools/profiler",
|
6
|
+
"license": "MPL2",
|
7
|
+
"tests": "https://circleci.com/gh/firefox-devtools/profiler"
|
8
|
+
},
|
9
|
+
"participate": {
|
10
|
+
"home": "https://github.com/firefox-devtools/profiler/blob/main/CONTRIBUTING.md",
|
11
|
+
"docs": "https://github.com/firefox-devtools/profiler/tree/main/docs-developer",
|
12
|
+
"matrix": "https://chat.mozilla.org/#/room/#profiler:mozilla.org",
|
13
|
+
"chat": {
|
14
|
+
"url": "https://chat.mozilla.org/#/room/#profiler:mozilla.org",
|
15
|
+
"contacts": [
|
16
|
+
"@julienw:mozilla.org",
|
17
|
+
"@canova:mozilla.org",
|
18
|
+
"@mstange:mozilla.org",
|
19
|
+
"@davehunt:mozilla.org"
|
36
20
|
]
|
37
|
-
|
21
|
+
}
|
22
|
+
},
|
23
|
+
"bugs": {
|
24
|
+
"list": "https://github.com/firefox-devtools/profiler/issues",
|
25
|
+
"report": "https://github.com/firefox-devtools/profiler/issues/new",
|
26
|
+
"mentored": "https://github.com/firefox-devtools/profiler/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22"
|
27
|
+
},
|
28
|
+
"urls": {
|
29
|
+
"prod": "https://profiler.firefox.com",
|
30
|
+
"stage": "https://main--perf-html.netlify.app/"
|
31
|
+
},
|
32
|
+
"keywords": ["performance", "firefox", "web"]
|
33
|
+
}
|
@@ -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>
|
data/dist/docs/_sidebar.md
CHANGED
@@ -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)
|
@@ -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=
|
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=
|
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 `<
|
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 [
|
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:
|
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,
|
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"
|
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>
|
data/dist/locales/README.md
CHANGED
@@ -6,6 +6,7 @@ Please change only the locale content in the `en-US`
|
|
6
6
|
directory. The other directories are changed using [Pontoon](https://pontoon.mozilla.org/projects/firefox-profiler/).
|
7
7
|
|
8
8
|
Here are the most important rules:
|
9
|
+
|
9
10
|
1. If you change the string in a way that changes the meaning, you need to
|
10
11
|
change the string key as well. If that doesn't change the meaning (for
|
11
12
|
example, if that's a typo fix), then the string key can stay the same. You
|
data/dist/locales/be/app.ftl
CHANGED
@@ -232,7 +232,7 @@ FullTimeline--tracks-button = Дарожак: <span>{ $visibleTrackCount }</span
|
|
232
232
|
## Home page
|
233
233
|
|
234
234
|
Home--upload-from-file-input-button = Загрузіць профіль з файла
|
235
|
-
Home--upload-from-url-button =
|
235
|
+
Home--upload-from-url-button = Загрузіць профіль з URL
|
236
236
|
Home--load-from-url-submit-button =
|
237
237
|
.value = Загрузіць
|
238
238
|
Home--documentation-button = Дакументацыя
|
@@ -322,7 +322,7 @@ ListOfPublishedProfiles--uploaded-profile-information-list =
|
|
322
322
|
## This is used as a context menu for the Marker Chart, Marker Table and Network
|
323
323
|
## panels.
|
324
324
|
|
325
|
-
MarkerContextMenu--set-selection-from-duration =
|
325
|
+
MarkerContextMenu--set-selection-from-duration = Наладзіць выбарку на аснове працягласці маркера
|
326
326
|
MarkerContextMenu--start-selection-here = Пачаць вылучэнне тут
|
327
327
|
MarkerContextMenu--end-selection-here = Скончыць вылучэнне тут
|
328
328
|
MarkerContextMenu--start-selection-at-marker-start = Пачаць вылучэнне ад <strong>пачатку</strong> маркера
|
@@ -345,25 +345,36 @@ MarkerContextMenu--select-the-receiver-thread = Выберыце паток-ат
|
|
345
345
|
# $threadName (String) - Name of the thread that will be selected.
|
346
346
|
MarkerContextMenu--select-the-sender-thread = Выберыце паток-адпраўнік “<strong>{ $threadName }</strong>”
|
347
347
|
|
348
|
+
## MarkerFiltersContextMenu
|
349
|
+
## This is the menu when filter icon is clicked in Marker Chart and Marker Table
|
350
|
+
## panels.
|
351
|
+
|
352
|
+
# This string is used on the marker filters menu item when clicked on the filter icon.
|
353
|
+
# Variables:
|
354
|
+
# $filter (String) - Search string that will be used to filter the markers.
|
355
|
+
MarkerFiltersContextMenu--drop-samples-outside-of-markers-matching = Адкідваць сэмплы па-за межамі маркераў, якія адпавядаюць «<strong>{ $filter }</strong>»
|
356
|
+
|
348
357
|
## MarkerSettings
|
349
358
|
## This is used in all panels related to markers.
|
350
359
|
|
351
360
|
MarkerSettings--panel-search =
|
352
361
|
.label = Фільтр маркераў:
|
353
362
|
.title = Паказваць толькі маркеры, якія адпавядаюць пэўнаму імені
|
363
|
+
MarkerSettings--marker-filters =
|
364
|
+
.title = Фільтры маркераў
|
354
365
|
|
355
366
|
## MarkerSidebar
|
356
367
|
## This is the sidebar component that is used in Marker Table panel.
|
357
368
|
|
358
|
-
MarkerSidebar--select-a-marker = Выберыце маркер, каб паглядзець
|
369
|
+
MarkerSidebar--select-a-marker = Выберыце маркер, каб паглядзець інфармацыю пра яго.
|
359
370
|
|
360
371
|
## MarkerTable
|
361
372
|
## This is the component for Marker Table panel.
|
362
373
|
|
363
374
|
MarkerTable--start = Пачатак
|
364
375
|
MarkerTable--duration = Працягласць
|
365
|
-
MarkerTable--
|
366
|
-
MarkerTable--
|
376
|
+
MarkerTable--name = Назва
|
377
|
+
MarkerTable--details = Падрабязнасці
|
367
378
|
|
368
379
|
## MenuButtons
|
369
380
|
## These strings are used for the buttons at the top of the profile viewer.
|
@@ -457,6 +468,8 @@ MenuButtons--metaInfo--logical-cpu =
|
|
457
468
|
[few] { $logicalCPUs } лагічных ядра
|
458
469
|
*[many] { $logicalCPUs } лагічных ядзер
|
459
470
|
}
|
471
|
+
MenuButtons--metaInfo--profiling-started = Запіс пачаўся:
|
472
|
+
MenuButtons--metaInfo--profiling-session = Працягласць запісу:
|
460
473
|
MenuButtons--metaInfo--main-process-started = Асноўны працэс пачаўся:
|
461
474
|
MenuButtons--metaInfo--main-process-ended = Асноўны працэс скончыўся:
|
462
475
|
MenuButtons--metaInfo--interval = Інтэрвал:
|
@@ -476,6 +489,7 @@ MenuButtons--metaInfo--buffer-duration-seconds =
|
|
476
489
|
MenuButtons--metaInfo--buffer-duration-unlimited = Неабмежавана
|
477
490
|
MenuButtons--metaInfo--application = Праграма
|
478
491
|
MenuButtons--metaInfo--name-and-version = Назва і версія:
|
492
|
+
MenuButtons--metaInfo--application-uptime = Час працы:
|
479
493
|
MenuButtons--metaInfo--update-channel = Канал абнаўлення:
|
480
494
|
MenuButtons--metaInfo--build-id = ID зборкі:
|
481
495
|
MenuButtons--metaInfo--build-type = Тып зборкі:
|
@@ -740,7 +754,6 @@ TrackNameButton--hide-process =
|
|
740
754
|
|
741
755
|
TrackMemoryGraph--relative-memory-at-this-time = адносная памяць на гэты момант
|
742
756
|
TrackMemoryGraph--memory-range-in-graph = дыяпазон памяці ў графіку
|
743
|
-
TrackMemoryGraph--operations-since-the-previous-sample = аперацый, пачынаючы з папярэдняга ўзору
|
744
757
|
|
745
758
|
## TrackPower
|
746
759
|
## This is used to show the power used by the CPU and other chips in a computer,
|
@@ -824,6 +837,25 @@ TrackPower--tooltip-energy-carbon-used-in-preview-milliwatthour = { $value } м
|
|
824
837
|
TrackPower--tooltip-energy-carbon-used-in-preview-microwatthour = { $value } мкВт·гад ({ $carbonValue } мг CO₂e)
|
825
838
|
.label = Энергія, якая спажываецца ў бягучай выбарцы
|
826
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
|
+
|
827
859
|
## TrackSearchField
|
828
860
|
## The component that is used for the search input in the track context menu.
|
829
861
|
|
@@ -896,6 +928,10 @@ TransformNavigator--collapse-direct-recursion-only = Згарнуць тольк
|
|
896
928
|
# Variables:
|
897
929
|
# $item (String) - Name of the function that transform applied to.
|
898
930
|
TransformNavigator--collapse-function-subtree = Згарнуць паддрэва: { $item }
|
931
|
+
# "Drop samples outside of markers matching ..." transform.
|
932
|
+
# Variables:
|
933
|
+
# $item (String) - Search filter of the markers that transform will apply to.
|
934
|
+
TransformNavigator--drop-samples-outside-of-markers-matching = Адкідваць сэмплы па-за межамі маркераў, якія адпавядаюць: “{ $item }”
|
899
935
|
|
900
936
|
## "Bottom box" - a view which contains the source view and the assembly view,
|
901
937
|
## at the bottom of the profiler UI
|
data/dist/locales/de/app.ftl
CHANGED
@@ -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--
|
375
|
-
MarkerTable--
|
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--
|
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
|
|