Commit Graph

52 Commits

Author SHA1 Message Date
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
342ee71119 window: add separators in gear menu 2016-09-28 21:02:01 -07:00
b9b96184cd visualizers: wire zoom manager to visualizers
This gets the basic zoom control working. I anticipate we'll
need some additional changes once we land panning support.
2016-09-28 19:56:39 -07:00
aaf521ef1d window: set minimum zoom level 2016-09-28 18:11:32 -07:00
9bd3891d43 window: use floor() instead of ceil()
Otherwise we get 111% instead of 110%.
2016-09-28 18:08:34 -07:00
60e917a5d1 window: update zoom reset label to display current zoom 2016-09-28 18:06:33 -07:00
baf26fa0b6 build: add $LIBM to the sysprof binary 2016-09-28 18:06:00 -07:00
50bfd8db72 zoom: add plumbing for zoom to SpWindow
This uses the new ZoomManager to wire up zoom controls for the
main window. We had to switch away from GMenu to give ourselves
the control we will need for the zoom label of 100% which still
needs to be wired up.
2016-09-28 17:51:48 -07:00
388557cdfe window: expand for visualizers as necessary
We want the paned to expand for the visualizers so that the
UI looks natural as often as possible without scrolling.
2016-09-28 13:23:51 -07:00
afbb2cd936 window: use GtkFileChooserNative
This helps remove gtk_dialog_run() in favor of
gtk_native_dialog_run() which safely handles issues with
the primary main loop making progress.
2016-09-28 12:30:29 -07:00
f8a0f2701e visualizer-view: add SpVisualizerView
This adds a new helper widget SpVisualizerView to simplify using
visualizers from applications using libsysprof-ui-2 such as
Builder.

We can manage the view range, zoom, etc from this widget going
forward.
2016-09-27 23:15:56 -07:00
5a5bf1900f visualizer-ticks: adjust ticks opacity
We can lighten the ticks a bit here and still be theme agnostic.
2016-09-27 18:33:17 -07:00
7aee4c428b css: tweak css for visualizers
Just some style fixes that make things look better when playing
around with the paned and showing overscroll.
2016-09-27 17:22:05 -07:00
aa21c2379f visualizer-ticks: start on minimal ticks implementation
We need some sort of scale for content, so we will do this with
an overlay for now. However, we will also want something to be
able to do selections in the future.

This still needs some iteration for correctness, but this sort
of gets the ball rolling.
2016-09-27 15:42:26 -07:00
bdc62bac1e visualizer-list: add SpVisualizerList
This simplifies the visualizer reader and time propagation. It
will also give us a single place to manage zoom levels when we
get to that.
2016-09-26 19:21:10 -07:00
7e38d929da window: set y scale for graph 2016-09-26 17:38:29 -07:00
7d0cce7bdf ui: remove legacy CSS selectors
Now that we bumped the gtk+ requirement, we can remove the old
CSS selectors that are obsolete.
2016-09-25 12:21:56 -07:00
3b9ea07d31 cpu: discover cpu counters from SpCaptureReader
This allows us to dynamically discover the cpu counters from the
capture by looking for the "CPU Total" category.
2016-09-25 12:19:53 -07:00
99ff8f2a5c wip: visualizers 2016-09-23 19:18:36 -07:00
0e89182300 sp-window: Fix profiler menu button alignment 2016-07-13 09:41:08 +02:00
7bbe8cec72 credits: make strings arrays const 2016-06-21 12:49:26 -07:00
6e597e8898 window: ignore STATE_0 2016-06-21 12:44:36 -07:00
96c8032ab0 sp-window: Hide info bar when starting to record 2016-06-05 18:32:52 +02:00
113baca655 build: fix a few warnings from clang 2016-04-28 04:00:27 -07:00
ff395e94c6 window: protect against delayed ::stopped
Large captures could take a while to complete the stop request, so protect
against that so that the user can't accidentally start another capture.
2016-04-18 00:02:50 -07:00
117d4c480d about: handle response from about dialog
On systems where this shows a close button, we need to handle the
response and destroy the dialog.
2016-04-16 17:22:52 -07:00
36008c4ab4 window: notify the user when no valid samples were collected
If we failed to collect any samples in the target profile, let the user
know why the callgraph is empty.
2016-04-15 18:11:31 -07:00
d4ab108786 window: title should be set on headerbar
When set on the window, we seem to lose the value when inserting the
headerbar, resulting in the title being "sysprof" (binary name) according
to the shell. Setting this on the headerbar seems to fix that.
2016-04-15 17:51:32 -07:00
ae5338aaf1 theme: add fallback styling for 3.18
New styling doesn't apply on 3.18 which is used on F23. Since packages are
being built for that, might as well fix the styling.
2016-04-15 17:17:44 -07:00
9ba08c8d93 window: reset profiler after capture
We don't really want to reuse SpProfiler instances after running, so when
we transition to browsing, reset the profiler instance.
2016-04-14 16:20:32 -07:00
82bdda6f6f window: stop the profiler when closing the window
This is probably more useful when having multiple windows up, so try to
clean things up by stopping the profiler and delaying the close.
2016-04-14 05:49:01 -07:00
cfd49d2c05 window: call stop() if we are currently recording 2016-04-14 05:40:02 -07:00
88d3ae3b74 profiler: extract SpProfiler into an interface
It would be nice to be able to support a remote profiler session in the
future, so add SpLocalProfiler implementation of SpProfiler interface.
2016-04-14 02:37:28 -07:00
5d25b8a242 build: be a bit more flexible with configuration options
It would be nice if we can be a bit more flexible with where the
sysprof-cli tool can run. Lets try to break out the system checks a
bit more.
2016-04-14 00:59:28 -07:00
a8205c7c29 build: allow disabling the GTK interface with --disable-gtk
For some systems, such as embedded Linux including ARM, we might want to
just compile libsysprof/sysprof-cli without the GTK user interface. This
allows for that. You can copy the capture files to your visualization
host to render the results.
2016-04-13 21:32:01 -07:00
61fed5b8f2 build: split profiler and gtk widgets into separate libraries
This will make it easier to support installing just sysprof-cli and the
sysprofd helper daemon on systems where GTK is not feasible or necessary.
This does not, however, do that. It simply gets things broken up into
pieces.
2016-04-13 21:09:52 -07:00
f69e18f4c8 window: add screenshot action
Shows the screenshot (textual representation) of the descendants tree in
a new window/textview.
2016-04-13 19:40:54 -07:00
f73f5e98ec save-as: add .syscap extension if necessary
We have *.syscap glob registered with the mime types, so ensure that the
file gets saved with that extension.
2016-04-13 09:23:21 -07:00