Commit Graph

1164 Commits

Author SHA1 Message Date
ab2fdffa6d sysprofd: require polkit authorization by the peer 2019-05-29 15:12:59 -07:00
e77310a511 build: update some dependency versions
These might give us a chance to work on Debian stable.
2019-05-29 15:12:59 -07:00
ed48eadd08 sysprofd: start on port to GDBusConnection
This will help us reduce a lot of code and eventually make some things
more asynchronous to allow for interactive authorization.
2019-05-29 15:12:59 -07:00
46d3c553e5 libsysprof: allow kallsyms usage from daemon 2019-05-29 15:12:59 -07:00
543bf87b81 libsysprof: cleanup whitespace in headers 2019-05-29 15:12:59 -07:00
88a689ade1 libsysprof-ui: fixup whitespace in headers 2019-05-29 15:12:59 -07:00
a6e061f5b1 libsysprof-ui: add inside guards
Like the previous, but for libsysprof-ui.
2019-05-29 15:12:59 -07:00
7ea6ca43ec libsysprof: add inside guards to prevent stray includes
This requires that things use #include <sysprof.h> now instead
of individual includes. A few cases are still allowed in the
libsysprof-capture library to make copy/paste embedding easier.
2019-05-29 15:12:59 -07:00
219b48f668 ui: fix various css/ui includes 2019-05-29 15:12:59 -07:00
53c718b708 build: rename all symbols to use sysprof_ as prefix
As we gain in usage, we need to be more careful about using a prefix
that will not collide with other symbols. So version 3 of our ABI will
change to using Sysprof/SYSPROF/sysprof as the various prefixes.

The soname/api version bump will happen later on this branch so that
things are easier to test up until then.
2019-05-29 15:12:59 -07:00
4821883bfa libsysprof-ui: use symbol versioning macros 2019-05-29 15:12:59 -07:00
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
821fc286b8 build: cleanup visibility for symbols 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
394772cb01 build: reduce GLib requirement
We can probably even do this further, but I want to do a bunch of
tree moderniziation first.
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
94ce3dd648 build: bump C++ requirement 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
9fcb759b52 build: make help optional
This isn't necessary for command line tooling and such.
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
5323cffdb3 Add Basque translation
(cherry picked from commit e27a1389f1311568ed726a65f943791f16729039)
2019-05-28 17:52:21 +00:00
fc0f6f7b0d Add French translation 2019-05-23 10:31:05 +00:00
a48887a25c build: document more of meson_options.txt 2019-05-07 14:50:48 -07:00
2718218ac5 build: remove old make files 2019-05-07 14:46:46 -07:00
c115a9b59f flatpak: add access to host system
THis allows us to get access to the hosts symbol directories,
which is necessary for resolving symbols there.
2019-05-06 21:24:08 -07:00
d8ef9cac0e flatpak: fix systemd compiler flags 2019-05-06 21:16:23 -07:00
05314dd28c capture: add sp_capture_writer_new_from_env()
This will return NULL if there is not sufficient data from the
environment to setup tracing.
2019-05-06 20:23:06 -07:00
209b342ea1 capture: switch to portability helpers
This switches over to using the portability helpers that may
be needed on some platforms other than Linux. On Linux, however,
they are just macros to the standard implementation provided
by (g)libc.
2019-05-06 20:07:29 -07:00
ac1767eff2 capture: add some portability fallbacks
If we're on non-Linux, we can use some portability fallbacks to
get similar behavior to Linux. I'm sure we can optimize this a
bit more for FreeBSD if someone with that installed wants to
come look at things and improve them.
2019-05-06 20:07:29 -07:00
607ef387e7 capture: use gint32 instead of GPid
GPid just isn't portable as a data type for on-disk storage, so
be more explicit and use gint32 directly.
2019-05-06 20:07:24 -07:00
191754e505 capture: make structs more cross-platform
There were some GCC'isms here that don't port well to mingw
(and likely other win32 compilers). Of note are the removal
of #pragma pack to instead use the GCC attributes or MSVC
declarations. Also we cannot be so liberal in our use of
bitflags, we need to use common types from neighbors.
2019-05-06 20:01:25 -07:00
b6d24dafcf capture: use unistd types 2019-05-06 16:39:41 -07:00
8ec9fea5cb capture: use _sp_sendfile() on non-Linux platforms
We still generally only build on Linux from the Sysprof
project, but we can start to support other systems in the
capture format (with the possibility of being more general
for the UI later on too).
2019-05-06 16:21:43 -07:00
0580b4ef0d capture: add sendfile() fallback
We want the capture format to be usable on systems other than
Linux so that it can be used in places like GTK. To do this,
we need a sendfile() fallback that can be portable/useful on
those systems.

FreeBSD has sendfile(), but the semantics differ slightly. This
implementation will walk up to the nearest page size and then
do page aligned pread()/write() which is likely good enough of
an implementation anyway.
2019-05-06 16:20:14 -07:00
36179e9ab4 tests: add check for buffer contents from save_as() 2019-05-06 16:19:58 -07:00
e63c267192 capture: only use <=32 bit bit fields 2019-05-06 15:08:55 -07:00
29c0ebf009 Updated Danish translation 2019-04-24 17:43:08 +02:00
029c6942af add da to LINGUAS 2019-04-24 17:43:08 +02:00
bffd4c63d5 release 3.32.0 2019-03-13 00:20:19 -07:00
1fe4faf567 Update Serbian translation
(cherry picked from commit 48141bd14e79216d297e2b406325fbe9f6321a6b)
2019-03-11 18:25:15 +00:00
664bb29711 Add Dutch translation 2019-03-10 12:53:15 +00:00