Commit Graph

22 Commits

Author SHA1 Message Date
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
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
854f0bea52 libsysprof: add symbol resolver that can resolve from capture file
If the capture file has an embedded __symbols__ file within it, we can
try to resolve the function names from the data embedded within that
virtual file.
2019-05-29 15:13:01 -07:00
7ffd3e41cf libsysprof: add utility to build symbol maps
These are useful to allow us to append symbol informatio to a capture file
using the existing symbol resolvers.

It can read/write a small format embedded within capture files so that
we can append them from the target machine rather than decoding from the
machine we run Sysprof UI on.
2019-05-29 15:13:01 -07:00
57255a1d29 libsysprof: remove lookaside from public API 2019-05-29 15:13:01 -07:00
90c165aa08 libsysprof: stub out source for appending symbols 2019-05-29 15:13:01 -07:00
874fb01c25 libsysprof: use embedded kallsyms when possible
This uses the kallysms that has been embedded in the capture file when
that is possible (such as when proc-source appends it).
2019-05-29 15:13:01 -07:00
17a835570e build: remove dead code 2019-05-29 15:13:01 -07:00
552ccb4f60 libsysprof: move tracefd to separate source 2019-05-29 15:13:01 -07:00
931849b25c build: add missing libraries to pkgconfig files 2019-05-29 15:13:01 -07:00
588fd43d8b libsysprof-ui: stub out proxy source
The goal for this (which is unfinished) is to setup a dbus proxy to the
peer. That can be reused for both gtk and mutter, if configured correctly.

We'll likely need to allow some specific config tweaks in the UI.
2019-05-29 15:13:00 -07:00
623d7ad027 build: cleanup dependency checking
We always require polkit now, so that we can fallback when we fail to
communicate with the peer.
2019-05-29 15:13:00 -07:00
e53a56feaf build: remove unused file 2019-05-29 15:13:00 -07:00
cd3b4d6538 src: use helpers and add group_fd to remote API 2019-05-29 15:13:00 -07:00
543bf87b81 libsysprof: cleanup whitespace in headers 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
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
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
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
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
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