Commit Graph

1994 Commits

Author SHA1 Message Date
b6fb272865 libsysprof-capture: Use fprintf() instead of g_printerr()
This removes one more dependency on GLib.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-03 22:00:34 +01:00
f925fab564 libsysprof-capture: Replace G_{UN,}LIKELY with SYSPROF_{UN,}LIKELY
This does the same thing for modern compilers, but without the GLib
dependency.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-03 22:00:34 +01:00
c9f54fcc68 libsysprof-capture: Replace G_GNUC_INTERNAL with SYSPROF_INTERNAL
It does the same thing for modern compilers.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-03 22:00:34 +01:00
41ec04ea99 libsysprof-capture: Replace G_BEGIN_DECLS with SYSPROF_BEGIN_DECLS
It does the same job, but doesn’t require GLib.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-03 22:00:34 +01:00
8e28ac6e81 libsysprof-capture: Use assert() instead of g_assert()
Also use it instead of `g_return_if_fail()`.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-03 22:00:34 +01:00
5636bbf4f0 libsysprof-capture: Use stdbool instead of gboolean
Another step towards dropping GLib as a dependency of
libsysprof-capture.

Unlike the previous commit which replaced GLib integer types with the
bitwise equivalent C standard types, `stdbool` is potentially a different
width from `gboolean`, so this is an ABI break.

It therefore involves some changes to callback functions in the tests
and tools, and in libsysprof.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
2c2cbf6343 libsysprof-capture: Use C11 types instead of GLib types
This is an almost entirely mechanical* conversion from (for example)
`gint` → `int`, `guint8` → `uint8_t`, etc.

It is not entirely complete, as many GLib functions are still used in
libsysprof-capture, which necessitate some use of GLib types.

It also avoids renaming `gboolean` → `bool` as that’s a slightly more
controversial change which will happen in the following commit.

*Code was manually realigned afterwards.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
b449baa205 libsysprof-capture: Move MappedRingBufferSource to libsysprof
As preparation for dropping the GLib dependency from libsysprof-capture,
move the `GSource` which links a `MappedRingBuffer` to a `GMainContext`
from libsysprof-capture to libsysprof.

This requires adding one new piece of API to libsysprof-capture to check
whether the `MappedRingBuffer` is empty.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
d2047fb557 libsysprof-capture: Move autocleanup definitions to libsysprof
In preparation for dropping the GLib dependency from libsysprof-capture,
move the autocleanup definitions up to libsysprof. Add a new header for
them.

This is slightly awkward in the tools, which depend on
libsysprof-capture but not libsysprof. Rather than make them depend on
libsysprof (which might be disabled at configure time), include the
`sysprof-capture-autocleanups.h` file between source directories.
`SYSPROF_COMPILATION` needs to be defined for this to work.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
16bf945d34 libsysprof-capture: Drop unnecessary #include
Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
4b6855a2ab libsysprof: Add missing preload dependencies on glib-2.0
It has previously been implicitly pulled in by libsysprof-capture, but
that will change in future.

Correspondingly, add some missing `glib.h` includes.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
d1a8dc40f5 tests: Add missing dependency on glib-2.0
It has previously been implicitly pulled in by libsysprof-capture, but
that will change in future.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
3eb0f3e964 sysprof-dump: Move error handling up to avoid a NULL pointer dereference
`reader` can be `NULL`, but the `NULL` check was done after potentially
dereferencing it.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
30e5685655 tools: Add missing dependency on glib-2.0
It has previously been implicitly pulled in by libsysprof-capture, but
that will change in future.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
dbcf318096 examples: Add missing dependency on glib-2.0
It has previously been implicitly pulled in by libsysprof-capture, but
that will change in future.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #40
2020-07-02 21:07:11 +01:00
2cc79dd444 build: bump ABI to 4 2020-07-02 21:07:11 +01:00
5f4c7c43d1 Update Ukrainian translation 2020-07-02 09:56:17 +00:00
fb581dd0d2 sysprof: add tooltip-text for open button 2020-07-01 17:50:50 -07:00
51021ece1a libsysprof-ui: use "Recording" instead of "Capture" 2020-07-01 17:50:36 -07:00
88df2711e3 Add Open button
Add a button to open capture files in headerbar. This caters to the
suggested usage of 'sysprof-cli' by exposing the funcitonality in a
prominent place.
2020-07-01 15:57:56 -07:00
03f32fe718 display: show message dialog when there is an error opening file
Fixes #42
2020-07-01 13:21:25 -07:00
71fa41248e app: present window before opening captures
This is necessary to ensure that message dialogs that are shown when a
capture fails to open can be displayed above the window.
2020-07-01 13:20:48 -07:00
fc474fb54b Merge branch 'more-misc-fixes' into 'master'
Misc fixes

See merge request GNOME/sysprof!28
2020-06-25 20:57:11 +00:00
1bfdcca9d1 build: Update bug report define in meson.build
GitLab!

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-06-25 14:58:42 +01:00
96ac1ae586 examples: Clarify that envvar isn’t unset after being used
Perhaps that was how sysprof used to behave, but it doesn’t seem to
behave like that now.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-06-25 14:58:01 +01:00
2be8cf7b2f Merge branch 'misc-fixes' into 'master'
Small fixes to the examples

See merge request GNOME/sysprof!27
2020-06-23 16:50:38 +00:00
2c216fcff9 examples: Fix a typo in a string
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-06-23 12:41:25 +01:00
af6308971d examples: Drop sysprof_clock_init() call from example
It’s implicitly called when setting up the `SysprofCaptureWriter`.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-06-23 12:41:25 +01:00
7e103342be Merge branch 'wip/nielsdg/update-readme-for-mailing-list' into 'master'
README: Add links to GitLab and Discourse

See merge request GNOME/sysprof!26
2020-06-22 18:14:46 +00:00
e0cbb1c539 Add Ukrainian translation
(cherry picked from commit 5148ffbb9f25f5b65b42cca9ead630c73f963f5b)
2020-06-20 16:50:37 +00:00
7dc7f5d405 README: Add links to GitLab and Discourse 2020-06-14 09:44:17 +02:00
32185d873d Update Indonesian translation 2020-04-06 13:30:02 +00:00
cc6087db00 Updated Spanish translation 2020-04-06 08:31:31 +02:00
f0cc56f762 Update Ukrainian translation 2020-03-29 15:05:52 +00:00
6b7db886db Add Ukrainian translation
(cherry picked from commit 51ea8f355293d30c56265187258baa97f3652b6d)
2020-03-29 15:00:49 +00:00
187a6b0a0c Update Polish translation 2020-03-29 13:10:21 +02:00
f0207c159e Update Brazilian Portuguese translation 2020-03-28 11:24:02 +00:00
ee4926e0fd Updated Spanish translation 2020-03-26 15:52:26 +01:00
03906a84c6 tools: add --no-throttle sysprof-cli option
This allows disabling the CPU governer by switching to "performance".
2020-03-18 11:16:00 -07:00
01d196abe4 libsysprof-collector: avoid formatting unless recording
We can avoid the process of creating the log message altogether if we are
not actively recording messages.
2020-03-16 12:28:04 -07:00
3d546eb6d1 libsysprof-capture: add sysprof_collector_log_printf()
This is a convenience function to call sysprof_collector_log() while also
formatting the message.

Ideally we'd be able to avoid the string format if we are not currently
collecting data, but that can be left for a future commit. We don't have
recursive locks so we need to duplicate the structure setup.
2020-03-16 12:28:04 -07:00
014b696dc0 Merge branch 'wip/jojnar/litsuf' into 'master'
Fix -Werror=literal-suffix

See merge request GNOME/sysprof!25
2020-03-16 03:33:18 +00:00
89f656013a tools: add --speedtrack command line option 2020-03-15 16:00:22 -07:00
9de1dd3ab5 libsysprof-ui: remove control source
This is already part of the local profiler.
2020-03-15 15:57:26 -07:00
9393078d7b Fix -Werror=literal-suffix
When trying to build gjs with --werror, I get the following error:

	In file included from /nix/store/snc19nr462570ssx03v455p164vyz15s-sysprof-3.36.0-dev/include/sysprof-3/sysprof-capture-condition.h:59,
	                 from /nix/store/snc19nr462570ssx03v455p164vyz15s-sysprof-3.36.0-dev/include/sysprof-3/sysprof-capture.h:66,
	                 from ../gjs/profiler.cpp:53:
	/nix/store/snc19nr462570ssx03v455p164vyz15s-sysprof-3.36.0-dev/include/sysprof-3/sysprof-capture-types.h:76:40: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
	   76 | #define SYSPROF_CAPTURE_ADDRESS_FORMAT "0x%016"G_GINT64_MODIFIER"x"
	      |                                        ^
	cc1plus: all warnings being treated as errors
2020-03-15 22:07:49 +01:00
edd82233b9 Update Swedish translation
(cherry picked from commit 856bbd298f102c86d0835b24d7650643003000e1)
2020-03-15 20:23:22 +00:00
eb883e5c81 Update Polish translation 2020-03-15 14:46:33 +01:00
259aa9ba93 libsysprof-ui: allow double click to select mark range 2020-03-13 17:00:17 -07:00
eb0d58dcc4 speedtrack: track g_main_context_iteration()
We can't get all the symbols here because of -Bsymbolic on the glib
library, but we can get the higher level bit. And if we're blocking for
a period of time, it can help track things down to know we block for
longer time periods.
2020-03-13 16:49:38 -07:00
55f8f313b7 speedtrack: add sync and syncfs wrappers 2020-03-13 16:10:14 -07:00