6d4796294e
netdev: start on netdev aid to display network graphs
2019-06-26 18:58:31 -07:00
00997fbd7f
netdev: add source for network device information
...
This source parses the /proc/net/dev file to get basic statistics about
network throughput on the system.
We still need a specialized Aid and Visualizer so that we can render the
counter data in a more useful format.
2019-06-26 14:18:21 -07:00
47337e6c4b
add combined battery counter
...
this is useful for situations where we have multiple batteries inserted
and we might only care about total charge
2019-06-24 10:01:27 -07:00
4792a43887
add rate for charge type
2019-06-24 08:58:16 -07:00
84f135eced
libsysprof: add range helper
2019-06-20 13:18:33 -07:00
8d012e83d7
libsysprof: join overlapping ranges
2019-06-19 21:13:33 -07:00
1254b16140
governor: add source to toggle CPU governer while running
2019-06-14 08:03:59 -07:00
fc745767d4
governor: add daemon API and helpers to set CPU governor
2019-06-14 08:03:37 -07:00
c46ac1374b
battery: fix battery type in new func
2019-06-13 20:23:03 -07:00
1726a8983f
battery: do final poll at stop() time
2019-06-13 20:18:52 -07:00
a5ef58dde6
battery: wait for first battery polling
2019-06-13 20:14:18 -07:00
2ef74062e9
battery: poll batteries immediately after starting
2019-06-13 19:39:16 -07:00
3299c0d41c
battery: style cleanup
2019-06-13 19:37:33 -07:00
555a10ef65
battery: only submit event if battery value changed
2019-06-13 19:04:11 -07:00
a95287b2d2
libsysprof: show a combined cpu counter by default
...
We need a way to show the individual counters, but this is a good first
start. To do the combined counters, we need to come up with something that
allows expanding of rows and what not.
2019-06-13 10:53:59 -07:00
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
0fbe44f06c
libsysprof: use properties for D-Bus attributes
2019-06-06 17:33:16 -07:00
e8b9d19f92
libsysprof: watch bus name changes for target bus peer
2019-06-04 18:51:12 -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
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
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
82f8872c1d
libsysprof: add libc/libstdc++
2019-05-29 15:13:01 -07:00
1ee1a7cc3a
libsysprof: ignore kernel symbols if embedded resolver is found
...
This ensures that we don't mix symbols from kernels if we can reasonably
expect that the necessary symbols were decoded by the peer.
2019-05-29 15:13:01 -07:00
716b913347
libsysprof: check for enough symbols to dereference
2019-05-29 15:13:01 -07:00
7f92889076
libsysprof: be NULL safe
2019-05-29 15:13:01 -07:00
1583ec3f79
libsysprof: fix tag lookups for 0 tags
2019-05-29 15:13:01 -07:00
c8c1b53352
libsysprof: be more defensive
2019-05-29 15:13:01 -07:00
1a11480010
libsysprof: add missing externs
2019-05-29 15:13:01 -07:00
d55e36219c
libsysprof: fix various seek usage
2019-05-29 15:13:01 -07:00
b1f58d6104
libsysprof: lseek before deserializing
2019-05-29 15:13:01 -07:00
54f5f6be49
libsysprof: decode symbols from embedded maps in callgraphs
2019-05-29 15:13:01 -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
8f607ed123
libsysprof: use SysprofSymbolMap to write symbol maps
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
3b3011544b
libsysprof: decode and supplement kernel symbols
2019-05-29 15:13:01 -07:00
1f91bc77ed
libsysprof: avoid kallsyms in capture file
...
The kallsyms is huge (like 12Mb) and we want to avoid adding anything we
don't need. Instead, we can rely on the symbols source to decode the
symbols immediately and add them to supplemental.
2019-05-29 15:13:01 -07:00
649dcf3aac
libsysprof: add trailing empty kernel node
...
This can be used so that we always know a symbol will be after the returned
symbol (so we can look for peer address).
2019-05-29 15:13:01 -07:00
b2b3b48b52
libsysprof: add __symbols__ file with supplemental symbol data
...
This can be used by a future symbol resolver to resolve symbols from the
target host rather than on the capture view host.
2019-05-29 15:13:01 -07:00
b9c52f4573
libsysprof: whitespace
2019-05-29 15:13:01 -07:00