Gimp/menus
Ell 40ac4f7bc0 app, icons, menus: add performance-log recording to the dashboard
Add an option to record a performance log through the dashboard.
The log contains a series of samples of the dashboard variables, as
well as the full program backtrace, when available.  As such, it
essentially acts as a built-in profiler, which allows us to
correlate program execution with the information available through
the dashboard.  It is meant to be used for creating logs to
accompany perofrmance-related bug reports, as well as for profiling
GIMP during development.

The sample frequency defaults to 10 samples per second, but can be
overridden using the GIMP_PERFORMANCE_LOG_SAMPLE_FREQUENCY
environment variable.  Backtraces are included by default when
available, but can be suppressed using the
GIMP_PERFORMANCE_LOG_NO_BACKTRACE environment variable.

Logs are created through the new "record" button at the bottom of
the dashboard dialog.  When pressed, a file dialog is opened to
select the log file, and, once confirmed, data is being recorded to
the selected file.  Recording is stopped by pressing the "record"
button again (we use a highlight to indicate that recording is
active.)

While recording, the "reset" button is replaced with an "add marker"
button, which can be used to add event markers to the log.  These
can be used to mark events of interest, such as "started painting"
and "stopped painting", which then appear in the log as part of the
sample stream.  Markers are numbered sequentually, and the number
of the next (to-be-added) marker appears on the button.  Shift-
clicking the button adds an empty (description-less) marker, which
is only identified by its number; this can be used when markers
need to be added quickly.

The log is an XML file, containing some extra information (such as
the output of "$ gimp -v", and symbol information) in addition to
the samples.  The data in the file is delta-encoded to reduce the
file size, meaning that samples (as well as some other elements)
only specify the changes since the previous sample.  This adds a
necessary decoding step before data can be processed; the next
commit adds a tool that does that.

There are currently no tools to actually analyze the data -- that's
still TBD -- but at least we can start gathering it.
2018-09-02 03:26:11 -04:00
..
.gitignore
brush-editor-menu.xml
brushes-menu.xml
buffers-menu.xml Bug 789764 - Please add Paste In Place feature 2017-11-12 18:41:05 +01:00
channels-menu.xml Bug 769738 - Add color tags/labels for layers/channels/paths 2016-10-29 17:02:16 +02:00
colormap-menu.xml
cursor-info-menu.xml
dashboard-menu.xml app, icons, menus: add performance-log recording to the dashboard 2018-09-02 03:26:11 -04:00
dialogs-menuitems.xml app, menus, icons: add dashboard dockable 2017-12-18 19:42:23 -05:00
dockable-menu.xml.in
documents-menu.xml
dynamics-editor-menu.xml
dynamics-menu.xml
error-console-menu.xml app: make error-console highlighting criterion configurable 2017-10-28 10:08:13 -04:00
fonts-menu.xml
gradient-editor-menu.xml
gradients-menu.xml
gtkuimanager.dtd
image-menu.xml.in app: add gegl:long-shadow to the menus 2018-08-09 19:03:06 -04:00
images-menu.xml
layers-menu.xml app, pdb, libgimp, plug-ins, menus: rename layer composite modes 2018-03-14 16:19:09 -04:00
Makefile.am app, menus, icons: add dashboard dockable 2017-12-18 19:42:23 -05:00
menus.xsl app: add --show-debug-menu command-line option 2018-03-29 05:26:03 -04:00
mypaint-brushes-menu.xml app: add new GimpData subclass GimpMybrush and infrastructure around it 2015-12-20 23:51:44 +01:00
palette-editor-menu.xml
palettes-menu.xml
patterns-menu.xml
quick-mask-menu.xml
sample-points-menu.xml
selection-menu.xml menus: add "fill" items to the path and selection menus 2016-10-30 17:30:13 +01:00
templates-menu.xml
text-editor-toolbar.xml MR !19: Add support for vertical text writing. 2018-07-30 23:10:11 +02:00
text-tool-menu.xml MR !19: Add support for vertical text writing. 2018-07-30 23:10:11 +02:00
tool-options-menu.xml
tool-preset-editor-menu.xml Bug 731279 - Tool Preset Editor not working correctly 2016-10-12 23:51:24 +02:00
tool-presets-menu.xml Bug 731279 - Tool Preset Editor not working correctly 2016-10-12 23:51:24 +02:00
undo-menu.xml
vectors-menu.xml app, menus: rename confusing layers-text-tool and vectors-path-tool. 2017-05-16 00:04:24 +02:00