Commit Graph

704 Commits

Author SHA1 Message Date
416d0383f2 battery: fix typo 2019-06-12 16:30:17 -07:00
5dbb486512 tracefd: give memfd a descriptive name
This makes it easier to track down from /proc/$pid/fd/.
2019-06-12 11:14:21 -07:00
4a31b934be tracefd: use g_strdup_printf()
I don't like maintaining stack based string allocations unless it's really
a performance savings.
2019-06-12 11:13:44 -07:00
688984d431 whitespace 2019-06-11 18:48:32 -07:00
e97490be16 libsysprof: abstract subprocess usage
For embedding cases, we need a bit more control here so that the
application can be in control of how the process is spawned.
2019-06-11 18:48:28 -07:00
19c2791198 build: fix build on Debian 9 2019-06-11 09:48:41 -07:00
1d0a269b80 libsysprof: start on battery charge capture 2019-06-10 21:32:12 -07:00
4cfe4c825d libsysprof-ui: unselect some aids by default 2019-06-07 00:16:57 -07:00
ace73a6f51 libsysprof-ui: add selected property to icon 2019-06-07 00:15:00 -07:00
1b36f92f73 libsysprof-capture: only short-circuit for address translation 2019-06-06 17:49:44 -07:00
49127e5b17 libsysprof-ui: also try to connect to D-Bus if pids specified
If we are connecting to an existing process, we want to try to extract
profiling data using D-Bus for that process.
2019-06-06 17:34:12 -07:00
0fbe44f06c libsysprof: use properties for D-Bus attributes 2019-06-06 17:33:16 -07:00
db33d910bb libsysprof-capture: allow NULL only when n_counters == 0 2019-06-06 17:15:10 -07:00
f12f9ed3f4 tests: test we got reasonable address translation 2019-06-05 19:33:13 -07:00
8f18572499 libsysprof-capture: translate jitmaps before samples
So we have valid addresses to translate, we need to translate the jitmap
before we translate samples. Otherwise we likely won't have anything to
translate.
2019-06-05 19:32:42 -07:00
44772d243e libsysprof-capture: fix comparison of translation item 2019-06-05 19:30:15 -07:00
228dc58ff2 tests: add simple test for jitmaps 2019-06-05 19:00:32 -07:00
44fa9500dc tests: be more precise in jitmap tests
I want to make sure we have the right values in/out of there.
2019-06-05 17:47:36 -07:00
84850218ed sysprof-cli: allow disabling perf stacktraces 2019-06-05 16:55:50 -07:00
97ec24ab42 libsysprof-capture: add flush_delay for auto flushing
This can be useful in scenarios where you need to kill the application
using a signal so that data is not lost in the buffer.
2019-06-05 15:12:17 -07:00
0f85e10368 style cleanup 2019-06-05 15:11:24 -07:00
400e5b81bc libsysprof-capture: be more defensive 2019-06-05 15:11:04 -07:00
26c029b7a2 libsysprof-capture: short-circuit empty write 2019-06-05 15:10:48 -07:00
ec7fa297e7 whitespace cleanup 2019-06-05 13:25:29 -07:00
532972beb6 libsysprof-capture: relicense as BSD-2-Clause-Patent
This allows embedding the static capture library without having to deal
with license incompatibility while retaining the patent clause. We want
as many consumers of the format as makes sense without the restriction
of what kind of app/library/tooling they are.

The application, sysprofd, libsysprof, and libsysprof-ui continue to be
GPLv3+.
2019-06-05 13:25:21 -07:00
ce6ba83ff3 sysprofd: remove debug code 2019-06-05 10:50:52 -07:00
e8b9d19f92 libsysprof: watch bus name changes for target bus peer 2019-06-04 18:51:12 -07:00
5402074c53 tools: add --gnome-shell option to sysprof-cli
This can be used to connect to newer GNOME Shell versions that have
profiling integrated.
2019-06-04 15:10:51 -07:00
d81890d950 libsysprof-ui: remove profiler menu button 2019-06-04 14:41:14 -07:00
807bff9152 build: fix build on macOS 2019-06-04 14:35:48 -07:00
af2a17daa5 polkit: try harder to make polkit optional on non-Linux
We want the viewer to be usable on Mac/Windows/FreeBSD, even if our
profiler tooling isn't (yet).

Another option could be to do a simplified viewer window for those
platforms, but I think that is more work to maintain than abstracting
some of the stuff better in libsysprof.
2019-06-04 14:28:06 -07:00
dcd1a9fbcf libsysprof: allow changing envvar from init and after 2019-06-03 19:09:30 -07:00
b7d2ef35be libsysprof: ensure type exists for gjs 2019-06-03 19:02:50 -07:00
af32235541 gjs: add gjs source back
This sets various environment variables we need.
2019-06-03 18:01:53 -07:00
c3915a72f2 build: always install capture headers 2019-06-03 12:52:35 -07:00
3179658daa build: check ftruncate result 2019-06-03 12:41:48 -07:00
7df9221f8b tools: check result of write
and also use the platform helpers
2019-06-03 12:40:48 -07:00
690bf90a14 build: disable some tests w/o libsysprof 2019-06-03 12:32:13 -07:00
ac1d9e4694 build: disable cli tool when no libsysprof is present 2019-06-03 12:29:48 -07:00
5630e1680f build: add -Dlibsysprof option
This gets us closer to being able to only build the capture static library
2019-06-03 12:26:25 -07:00
0d86933ed1 build: only build libsysprof-ui if -Denable_gtk=true 2019-06-03 12:19:45 -07:00
dbb6b9143f examples: add example app for marks 2019-06-03 11:39:56 -07:00
090d1766e3 libsysprof-ui: stop translating 00 2019-05-31 20:57:43 +02:00
fea076a2c8 whitespace 2019-05-29 22:58:26 -07:00
f37b7b168b libsysprof-ui: allow setting notebook tabs always visible 2019-05-29 22:58:21 -07:00
5fd04d9fcb libsysprof-ui: be more flexible in creating displays
This allows us to create a display for a profiler, which is needed in
embedding cases like Builder.
2019-05-29 18:09:57 -07:00
cb4aed73bc build: don't install sysprof-cat and sysprof-dump
At least for now
2019-05-29 16:56:57 -07:00
4bfcef7d82 src: add Capabilities property to profiler 2019-05-29 15:13:01 -07:00
a74e6daa3b libsysprof: use a{sv} for future profiler specific options
We may need this in the future to send backend-specific options to the
profiler peer.
2019-05-29 15:13:01 -07:00
62c9057089 src: use double quotes for XML 2019-05-29 15:13:01 -07:00