Commit Graph

89 Commits

Author SHA1 Message Date
a54892e33f libsysprof: remove use of static library
We can just include the files directly, and avoid the static
linking and potential problems that come with that when porting
the build system to other platforms.
2019-05-29 15:12:59 -07:00
55f587988b libsysprof-capture: add missing config.h includes
This is needed for symbol visibility.
2019-05-29 15:12:59 -07:00
29258e59ba libsysprof: make symbol dirs public API 2019-05-29 15:12:59 -07:00
8b88bfe693 libsysprof: add versioning macros
This also moves stackstash.[ch] into a location that can be
embedded by both the libsysprof and libsysprof-ui code. We
pass native pointers to the structure as a gpointer in the
public API to allow for this. The performance of that code is
incredibly sensitive to the interactivity of Sysprof.
2019-05-29 15:12:59 -07:00
1b3663362d libsysprof-capture: set symbol visibility to hidden 2019-05-29 15:12:59 -07:00
d9d572b557 libsysprof-capture: add availability macros 2019-05-29 15:12:59 -07:00
6ba408f073 shared: remove use of libshared
This moves everything into other places and simple includes the
files in the cases that it is necessary. In the future, we can
rewrite sysprofd to use GDBus and add GetProcFile() to allow
for client-side processing of kallsyms.
2019-05-29 15:12:59 -07:00
1c6741bdc6 libsysprof-ui: set inside guards 2019-05-29 15:12:59 -07:00
d89e2d8941 capture: add versioning macros 2019-05-29 15:12:59 -07:00
6b983ab8c1 capture: add task-id (thread-id) to samples
This could let us do some amount of filtering by threads going
forward if we have that data available to us.
2019-05-29 15:12:59 -07:00
173b583556 capture: allow macros and functions to co-exist 2019-05-29 15:12:59 -07:00
63bcfc2b0e build: various build fixes for macOS
This doesn't make profiling useful in any way, but it does get things
to the point where I can actually open a capture file. And it would
be nice if we could progress to the point of loading capture files
(with correct data in-tact) and this helps us move down that path.

To really do that correctly, we should make some of the widgetry
disabled when it isn't useful. We also need to ensure that we add extra
decoding information to capture files during shutdown so that any
platform can read it back. This would also help the situation of
running and reading on separate architectures.
2019-05-29 15:12:59 -07:00
e705014394 binfile: ignore vdso bytes if not on Linux
Of course, this all needs improvements to be realistically useful, but
it allows us to get things at least opening. We can adjust how we
store that data to make it available on other OS's later.
2019-05-29 15:12:59 -07:00
1708ad1b48 tree: start on massive tree refactor
The big thing going on here is that we are going to split up the libraries
a bit better, and remove GObject from the capture library. The libsysprof
library will bring in the capture library statically, so we can export the
symbols we want.

Eventually, we will bump the version to sysprof-3, but not yet.
2019-05-29 15:12:59 -07:00
6e922c4300 window: use org.gnome.Sysprof-symbolic 2019-01-30 14:27:22 -08:00
573c6ec82d icon: update app icon
- GNOME 3.32 redesign of app icons.
  See https://gitlab.gnome.org/GNOME/Initiatives/issues/2
  for more info.

/label ~"9. Initiative: AppIconRedesign"
2019-01-29 13:28:51 +01:00
a6f34b32cf theme: fix colors on development builds 2018-10-16 17:35:00 -07:00
9d9b79a438 theme: fix foreground 2018-10-15 19:01:57 -07:00
be185c2fbc theme: add development highlight to headerbar 2018-10-15 18:57:13 -07:00
ad991ef7e7 app: update copyright in about dialog 2018-10-12 17:14:13 -07:00
52f411e1de memory: add memory source for basic mem stats 2018-10-12 17:11:42 -07:00
9abac0931e app: add missing locale.h include 2018-09-29 14:09:47 -07:00
a827b61d63 i18n: ensure we setup i18n/l10n during application startup
Historically, Sysprof never supported translations. When revamping the
Sysprof implementation we didn't fix that, even though we were able to
start accepting translations.

This ensures we setup the translation tooling at startup.

Fixes #3
2018-09-25 14:38:29 -07:00
93a2f9f392 window: disambiguate a string 2018-09-25 20:46:29 +02:00
64ce198a07 Add translator comments 2018-09-25 20:43:48 +02:00
1d10c90aba window: add ellipsis to dialogs
This makes the title more closely match the menu items.
2018-09-24 20:59:23 -07:00
bf1472b009 app-menu: move to using window menu instead of app-menu
This starts moving things towards our 3.32 goals of using window menus
intead of the app-menu.
2018-09-24 20:55:20 -07:00
fa1def2afc fix non-literal format string issues
clang errors out when using -Werror=format-nonliteral
since the definition of g_strdup_vprintf() from glib-2.0
is using va_list and clangs still warns where as
gcc doesn't do that for va_list arguments

Fixes
src/sp-window.c:96:27: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
|   str = g_strdup_vprintf (format, args);
|                           ^~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-07 11:21:39 +01:00
6f635ad371 build: don't disable assert on tests
This fixes #2 where meson errors about tests and assert being disabled.
2018-08-22 13:06:15 -07:00
f7b27bcd59 window: fix spelling of suggested-action CSS class
I think this was masked by the .destructive-action class being defined
later in the Adwaita CSS than the .suggested-action class, so its values
for each property win.
2018-06-20 14:34:08 +01:00
896bbaea89 Use Unicode in translatable strings
See https://developer.gnome.org/hig/stable/typography.html
2018-05-16 18:12:56 +02:00
6fa2c270e8 visualizers: discover visualizers from capture reader
The goal here is to avoid having to hard code what visualizers are shown
from the .ui files. We just should add things that we find are supported.

Long term, I think we'll add a concept of an "instrument" which is the
combination of a data source (SpSource) and a visualizer (SpVisualizerRow).

The other goal here is to enable the future support for discovering marks
and adding rows for each of those threads.
2018-05-16 12:44:48 +01:00
c47822b26e source tree cleanup
The lib/ directory was getting a bit out of hand, so this tries
to organize things a bit so it is easier going forward to locate
the code people want to patch.
2017-09-28 16:23:03 -07:00
3e5a2af1b4 build: remove autotools build system
Now that we are post-3.26, we are removing the legacy autotools
build system in favor of meson.

Please report any errors you have so that we can ensure this is
ready for GNOME 3.28.
2017-09-15 17:44:50 -07:00
987f66197f window: add each instance to each own group
Prevents the About dialog from blocking interactions on all windows.

https://bugzilla.gnome.org/show_bug.cgi?id=781053
2017-04-08 20:28:55 -07:00
be65d01385 app: make About dialog modal
Makes Sysprof consistent with other GNOME applications.

https://bugzilla.gnome.org/show_bug.cgi?id=781053
2017-04-08 20:28:55 -07:00
fc5dee0ab5 app: use gtk_show_uri_on_window()
We need the window so that placement is correct on wayland. Also, to avoid
the deprecated API.
2017-03-19 21:46:54 -07:00
ce9cd3ed43 build: Include meson files in dist 2016-12-01 02:47:03 -05:00
52bc856be4 build: Add support for Meson 2016-12-01 02:34:11 -05:00
44ff1f0396 move icons to libsysprof resources 2016-11-23 19:15:38 -08:00
9d8085a73b window: disable record button while generating profile 2016-11-16 20:14:44 -08:00
20f9f47966 selection: rename SpVisualizerSelection to SpSelection
We want this in sysprof.h (without UI components) so that we
can use it to filter things in profilers. Therefore, we don't
need to make it namespaced to "visualizers" since a time range
selection is a fairly straightforward, and non-UI confined
implementation.
2016-10-10 16:24:22 -07:00
62189670af callgraph: update callgraph when selection changes
When the visualizer selection is changed, we can update the
callgraph to ensure all samples fall within the time range.
2016-10-08 20:09:49 -07:00
7c55f379bb theme-manager: add SpThemeManager and use it for custom css
We want to set some custom backgrounds for the visualizers, and
those need to track with the current theme. SpThemeManager will
watch the systems theme changes (including dark theme) and
update the loaded CSS resources as necessary.
2016-10-08 16:28:18 -07:00
527f95fa77 help-overlay: add help overlay to SpWindow and app menu
This adds an app menu and window action to activate the keyboard
shortcuts overlay.
2016-10-08 15:09:38 -07:00
69f5da327d app: add more complete keybindings
This matches more closely to Epiphany, which for better or worse
is the closest use-case we have currently for our zoom design.
2016-09-30 17:32:41 -07:00
151895749d window: remove unused variable 2016-09-30 16:56:46 -07:00
879d00199a window: add tooltips 2016-09-30 13:55:53 -07:00
bd008c0826 app: add accels for zoom actions
Adds ctrl++, ctrl+-, and ctrl+0 for typical zoom operations on
the visualizers.
2016-09-30 13:29:09 -07:00
2d8401a542 window: use SpMultiPaned
This allows us to have the SpVisualizerView grow and shrink
along with the visualizer content up until the user has manually
moved the paned handle. At which point it clamps to that
position as allowed by the size request phases.
2016-09-30 13:00:31 -07:00