Commit Graph

279 Commits

Author SHA1 Message Date
Benoit Dejean
c9e73e52ac glibtop_machine is defined in glibtop.h.
Don't duplicate the typedef (error unless C11).
2015-08-15 10:56:41 +02:00
Benoit Dejean
4c455ac8a0 Implement glibtop_map_entry Pss and Swap.
Regenerate hash function for fast parsing.
2015-08-15 10:39:39 +02:00
Benoît Dejean
ca42f1f3af Define glibtop_machine for Linux as empty because it's not used.
Fix compilation.
2015-08-08 11:11:30 +02:00
Benoit Dejean
8f2f236404 No use for glibtop_machine for now, but who knows in the future. 2015-08-08 11:00:57 +02:00
Benoit Dejean
d817bee619 Remove useless/meaningless calls to glibtop_init_[prs]() with sysdeps/{freebsd,linux}. 2015-08-08 10:56:25 +02:00
Benoit Dejean
d3a247a60f Don't include the ':' in smaps keys.
Regenerate the hashtable.
2015-08-08 10:56:24 +02:00
Benoit Dejean
119049b8c0 Fix autotools deprecation warning with s/INCLUDES/AM_CPPFLAGS/g. 2015-07-15 18:24:29 +02:00
Benoît Dejean
c33623c097 Provide stats about shared memory and account Slab as cached.
This matches exactly `free`.
2015-07-14 11:11:38 +02:00
Benoît Dejean
4c4466292e Fixed sscanf format string as arguments are unsigned ints. 2015-07-10 20:36:12 +02:00
Ionut Biru
fcc1d9d957 Add support for linux x.y versioning schema
Since linux 3.0, a valid version can have two digits

Signed-off-by: Ionut Biru <ibiru@archlinux.org>
2015-07-10 20:36:12 +02:00
Benoît Dejean
0580b2fb2c Linux >= 3.14 provides a "MemAvailable" field in /proc/meminfo which gives the
estimated amount of memory available for applications.
Use this to compute glibtop_mem::user.

https://bugzilla.gnome.org/show_bug.cgi?id=727543.
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/proc/meminfo.c?id=34e431b0ae398fc54ea69ff85ec700722c9da773
2015-07-10 20:36:12 +02:00
Robert Roth
7a3414d002 Update old FSF address.
https://bugzilla.gnome.org/show_bug.cgi?id=721514
2014-08-20 04:44:27 +03:00
Jason Xing
efaaf6eb77 Extending the cpu number from 32 to 1024 (bgo #323354, bgo #681632)
From: Jason Xing <xinggang861@gmail.com>

In 'Bug 323354 - Support a dynamic number of CPUs', there will be a
solution which can dynamically allocate memory for large number of
CPUs. As libgtop supports multiple operating systems, this work
may take some time.

This patch is a temporary patch, which worked before the whole
solution comes out. It only supports linux platform with CPU number
up to 1024.

There are two Macroes which limit the statistics of CPU. One is
GLIBTOP_NCPU. The other is a buffer size. This buffer used to read
/proc/stat contents into.

https://bugzilla.gnome.org/show_bug.cgi?id=323354
https://bugzilla.gnome.org/show_bug.cgi?id=681632
2013-12-12 22:36:10 +02:00
Robert Roth
47bcd423b5 Linux cpuinfo count fixed for SMP PPC processors (bgo #621831)
libgtop processor count has been simply determined by the number
of sections in /proc/cpuinfo split by \n\n. On PPC processors
supporting SMP after the per-cpu description for each core a
new section is listed (after \n\n) with the common attributes
of the cores [1]. Work around this by only counting a section
as describing a CPU if it contains "processor" to fix bug #621831 [0]
[0] https://bugzilla.gnome.org/show_bug.cgi?id=621831
[1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/arch/powerpc/kernel/setup-common.c?id=9fc2105aeaaf56b0cf75296a84702d0f9e64437b#n319
2013-12-09 04:02:38 +02:00
Robert Roth
3147bf2e34 Log error on statvfs failure.
When doing stat on a FS and failing, log the error message based
on the errno set to help the user find the reason.
https://bugzilla.gnome.org/show_bug.cgi?id=685172
2013-12-09 01:57:01 +02:00
Robert Roth
af7e9cd1b6 Increased buffersize to be able to hold larger cpuinfo files (bgo #681632) 2013-08-22 01:48:12 +03:00
Cole Robinson
37774dc02d fsusage: Fix fetching rootfs stats on Fedora 17
When fsusage scans mtab, it matches on the first entry, but since 'rootfs'
isn't of the expected format '/dev/<blah>' it bails out.

Match early on any rootfs entries and skip them.

Fixes #685897
2013-01-28 23:02:04 +01:00
Kjartan Maraas
46c1169ab1 Add missing #include <config.h> 2012-01-23 21:28:10 +01:00
Christian Persch
f41ab3beed Don't printf a string directly but use %s instead
Bug #581725.

Signed-off-by: Benoît Dejean <benoit@placenet.org>
2009-05-08 14:22:17 +02:00
Benoît Dejean
2679fdde9a Killed debug message. 2009-05-03 19:46:00 +02:00
Benoît Dejean
2458096acf Oops, fix segfault in linux/proc_map.
I've commited the wrong patch, got lost in the svn->git change.
2009-05-03 19:41:22 +02:00
Benoît Dejean
d99a29d217 Looks for smaps member using a gperf table instead of using
bsearch.
Brings a 25% boost.
2009-05-03 16:40:13 +02:00
Benoît Dejean
62bafe804e Don't use sscanf anymore when parsins smaps.
That's more code but it brings a 20% speed improvement.
2009-05-03 16:25:31 +02:00
Benoît Dejean
3d9f260bd4 Always ignore "none" FS type.
See #577537.

svn path=/trunk/; revision=2816
2009-03-31 22:31:48 +00:00
Benoît Dejean
35a0ac4f2c r2790 | bdejean | 2009-01-12 19:39:44 +0100 (lun 12 jan 2009) | 3 lines
Fixed read(2) usage.
Closes #468495.

svn path=/trunk/; revision=2801
2009-02-16 22:57:05 +00:00
Benoît Dejean
77fff173fc Fixed potential memory leak.
Patch by Vincent Untz <vuntz@gnome.org>.
Closes #566611.

svn path=/trunk/; revision=2787
2009-01-08 00:37:59 +00:00
Benoît Dejean
7f779e078d Fixed I/O stats so it works for unpartionned devices (e.g. cdrom).
svn path=/trunk/; revision=2757
2008-06-22 11:27:30 +00:00
Benoît Dejean
791e0dd859 Handle new /sys/block/.../stat format for linux >= 2.6.25.
Closes #539360.

svn path=/trunk/; revision=2755
2008-06-22 09:31:41 +00:00
Benoît Dejean
af81e9be75 Put back the old behaviour (no smart pss for now).
svn path=/trunk/; revision=2749
2008-05-24 16:20:01 +00:00
Benoît Dejean
90fc3ca780 New API to retrieve process CPU affinity.
Linux implementation.

svn path=/trunk/; revision=2748
2008-05-24 09:50:04 +00:00
Benoît Dejean
dc5da30913 Fixed parsing of big /proc/stat for uptime.
svn path=/trunk/; revision=2741
2008-04-28 16:20:56 +00:00
Benoît Dejean
4d78d26932 First try to implement proportional set size by recyling
glibtop_proc_mem's duplicate members.x
Currently implemented on linux in rss member, for now
size,share,resident,rss are the only filled members.

svn path=/trunk/; revision=2740
2008-04-21 18:59:25 +00:00
Benoît Dejean
cd950bbf73 Added comment about get_scaled usage.
svn path=/trunk/; revision=2739
2008-04-21 18:59:23 +00:00
Benoît Dejean
c1b95643a8 Updated glibtop_get_proc_open_files API so that it also list IPv6 TCP sockets.
Patch by Mark McClelland <mark@ovcam.org>.
Closes #528175.

WTH do we not care about udp ?

Updated libtool versioning: API addition does not change the ABI, so only
increased revision. gnome-2.22 is 8.1.1 so trunk is now 8.2.1.

svn path=/trunk/; revision=2738
2008-04-21 18:59:20 +00:00
Benoît Dejean
a02e213373 Fixed ;;. Closes #521084.
Fixed ;;.
Closes #521084.

svn path=/trunk/; revision=2734
2008-04-05 17:13:28 +00:00
Benoît Dejean
d97b0c3419 Fixed flags.
svn path=/trunk/; revision=2719
2008-03-02 18:07:24 +00:00
Benoît Dejean
960d12822d Really set wchan.
svn path=/trunk/; revision=2718
2008-03-02 18:07:22 +00:00
Benoît Dejean
35fab4d9aa Smarter smaps parsing.
See #518145.

svn path=/trunk/; revision=2713
2008-02-24 17:52:24 +00:00
Benoît Dejean
8674e92349 Implemented a linux-only fsusage sysdeps.
svn path=/trunk/; revision=2683
2007-10-17 20:53:53 +00:00
Benoît Dejean
f5bbc36a91 Little performance tuning to avoid too many array reallocation.
svn path=/trunk/; revision=2682
2007-10-17 20:52:50 +00:00
Benoît Dejean
9b072525a6 Implemented a linux-only mountlist.
Smarter ignore list based on /proc/filesystems.

svn path=/trunk/; revision=2678
2007-10-15 17:52:34 +00:00
Benoît Dejean
f37f72781a Copy there to have a linux-only implementation.
svn path=/trunk/; revision=2676
2007-10-15 17:46:38 +00:00
Benoît Dejean
7fd14852db Use G_GINT64_MODIFIER to avoid warnings on LLP64.
svn path=/trunk/; revision=2673
2007-10-03 19:50:00 +00:00
Benoît Dejean
8a0a3632ac Use fstat instead of stat.
svn path=/trunk/; revision=2665
2007-09-28 17:32:59 +00:00
Benoît Dejean
e6f9e07a9e "." is not a tid.
svn path=/trunk/; revision=2664
2007-09-28 17:30:31 +00:00
Benoît Dejean
b17762a5ae Fixed cpuinfo path. Sorry :/
Fixed cpuinfo path.
Sorry :/

svn path=/trunk/; revision=2641
2007-08-27 05:59:15 +00:00
Benoît Dejean
871f300a2c Added a bufsiz argument to file_to_buffer().
Increased read buffer size in get_sysinfo().

svn path=/trunk/; revision=2637
2007-08-26 16:05:36 +00:00
Benoît Dejean
ef34cfb38a git-svn sucks. Kill r2609
svn path=/trunk/; revision=2611
2007-06-25 17:30:40 +00:00
Benoît Dejean
1e0ba1d7aa Fixed smaps parsing with linux > 2.6.21.
Closes #449595.
Improved example.

svn path=/trunk/; revision=2610
2007-06-25 17:27:29 +00:00
Benoît Dejean
6b0bafcafb New API : glibtop_get_proc_affinity.
Implemented for linux.

svn path=/trunk/; revision=2609
2007-06-25 17:27:27 +00:00