| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Now that we have it, we can cut some common code from the convert and
show sub-commands.
|
|
|
|
|
|
|
| |
Both the convert and the show sub-commands for eos-profile have code to
turn a GVariant into a profile probe for the v1 of the format.
Let's move it out into its own internal utility function.
|
|
|
|
|
|
|
|
|
|
| |
If we want to perform additional analysis on a profile capture file it's
generally going to be easier to have it in a different format than a
GVDB binary blob, especially if we want to use tools that are written in
high level languages that may not have access to the GVDB API.
The simplest format we can convert to is JSON, which is structured and
easy to parse with other languages.
|
|
|
|
| |
This avoids having each command handle it differently.
|
|\
| |
| | |
T21027
|
|/
|
|
|
|
|
|
|
|
|
|
| |
When clicking on a result from the autocomplete popup, we should select
the first index of the tree path. (The list is a flat list, so there is
always only one index.)
This prevents a warning about a missing property of
[Symbol.toPrimitive], because we were indexing this._items with the
indices array (which is not a primitive) instead of its first item.
https://phabricator.endlessm.com/T21027
|
|\
| |
| | |
T20694
|
| |
| |
| |
| | |
The spacing makes it look like a typo.
|
| |
| |
| |
| |
| | |
There is no ordering guaranteed in the GVDB key names; while this is
okay for the probes, the metadata section should be clustered together.
|
| | |
|
| |
| |
| |
| | |
We need to check all meta data keys.
|
| |
| |
| |
| | |
We use the fields in the profile state singleton.
|
| |
| |
| |
| | |
Add more Unicode art.
|
| |
| |
| |
| |
| | |
The `show` command loads a list of profile capture files and prints the
metadata and sample summary.
|
| |
| |
| |
| | |
We are going to re-use them in the profile CLI tool.
|
| |
| |
| |
| |
| |
| | |
Captures of profiling data are saved in a binary format, and we need a
tool that can load them and turn them into user readable (or machine
readable) data.
|
| |
| |
| |
| |
| |
| |
| | |
We want to have access to more metadata, including the application id,
when capturing profiling data for later review, as the immediate
association between a process and its profiling data is not available in
that case.
|
| |
| |
| |
| |
| | |
We only remove probes when unloading state, so we don't need to remove
the probe from the state itself.
|
| |
| |
| |
| | |
Leftovers from an earlier iteration.
|
|/
|
|
|
|
| |
g_timeout_add() takes miliseconds instead of microseconds
https://phabricator.endlessm.com/T20677
|
|\
| |
| | |
T20769
|
| |
| |
| |
| |
| |
| | |
Always print out the number of samples and the total time, regardless of
the number of samples; in case we have more than one sample, be more
specific and add the average, minimum, maximum, and standard deviation.
|
| |
| |
| |
| |
| |
| | |
We should only give up if we didn't have any samples.
https://phabricator.endlessm.com/T20769
|
|\ \
| |/
|/| |
EosWindow: add in-resize css class
|
| |
| |
| |
| |
| |
| |
| | |
Add class while window is being resized to change image scaling method in CSS
This would speed up resizing windows with background images.
https://phabricator.endlessm.com/T20677
|
| |
| |
| |
| |
| |
| | |
The C API has a convenience macro to initialise the location of the
probe in the source file. We should use an override for the start()
method in order to let GJS fill out the same data for us.
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The EosProfileProbe API allows defining profiling probes that can be
used to efficiently measure the time spent in a critical section.
The Profiling API is meant to collect samples and generate a report
at the end of the lifetime of the process, either by printing out the
results once the process terminates; or by saving the raw data in a
binary file that can be loaded at a later date.
This profiling API is meant to be as close as possible to a zero cost
abstraction:
- probes are only allocated if profiling is enabled
- all profiling API is a no-op if profiling isn't enabled
- the C API is meant to be easily tied to a scope, through the
use of auto-cleanup macros provided by GLib
This allows projects using the Endless SDK to keep the profiling probes
in place, instead of conditionally compile them in.
https://phabricator.endlessm.com/T18514
|
| |
|
|\
| |
| | |
build: Fix make distcheck
|
|/
|
|
|
|
| |
run-with-dbus was removed, but still referred to in dist-files.
https://phabricator.endlessm.com/T18981
|
|\
| |
| | |
Fixes for running tests in flatpak sandbox
|
| |
| |
| |
| |
| |
| |
| | |
Run tests with NO_AT_BRIDGE=1 so that they don't fail when there is no
accessibility service.
https://phabricator.endlessm.com/T18981
|
|/
|
|
|
|
|
| |
We can rely on this utility shipped with DBus itself, instead of a custom
script that wasn't working inside a flatpak sandbox.
https://phabricator.endlessm.com/T18981
|
|\
| |
| | |
customcontainer: Queue resize if visible child removed
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All custom containers previously needed to do this in Javascript, but
that caused problems: garbage collection could cause widgets to be
removed, and you cannot trigger Javascript code to run during garbage
collection.
https://phabricator.endlessm.com/T18286
|
|\ \
| | |
| | | |
js: Declare module export variables with "var"
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
In ES6, variables declared with "const" and "let" go into the "lexical
scope" rather than the normal scope. Therefore, they are not available as
properties on modules. GJS preserves the old behaviour with a warning,
but we should fix our code anyway.
https://phabricator.endlessm.com/T18106
|
| | |
|
|\ \
| |/
|/| |
attribution: Allow long comments to wrap
|
|/
|
|
|
|
|
| |
We hardcode a wrap width of 600 based on the dialog's default width of
700.
https://phabricator.endlessm.com/T17540
|
|\
| |
| |
| |
| | |
Remove personality file parsing
https://phabricator.endlessm.com/T17029
|
|/
|
|
|
|
|
|
|
| |
The "personality" file has been removed from the Endless images, and it
was never guaranteed to be there in the first place.
Code that uses an Endless "personality" is considered 2.x legacy.
https://phabricator.endlessm.com/T17029
|
|
|
|
|
|
| |
Includes integration with Transifex.
https://phabricator.endlessm.com/T13620
|
| |
|
|\
| |
| | |
build: Remove Webhelper
|
| |
| |
| |
| |
| |
| |
| | |
Webhelper is now in its own repository:
https://github.com/endlessm/webhelper
https://phabricator.endlessm.com/T16203
|
|\ \
| |/
|/| |
Fix the EXTRA_DIST listing in tests
|
|/
|
|
| |
Missing '\'.
|