aboutsummaryrefslogtreecommitdiff
path: root/src/sysmon
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-11-28 16:14:35 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-11-28 16:14:35 +0000
commitdbb17853368c11b2a9a4a19c6e38f8ef02d2f258 (patch)
tree052ffe5afbc27aff5d41c284d415cf265bbe0141 /src/sysmon
parent8cc3cc51ebb67d821275116360631bfef32472b0 (diff)
downloadgnunet-dbb17853368c11b2a9a4a19c6e38f8ef02d2f258.tar.gz
gnunet-dbb17853368c11b2a9a4a19c6e38f8ef02d2f258.zip
network test
Diffstat (limited to 'src/sysmon')
-rw-r--r--src/sysmon/Makefile.am17
-rw-r--r--src/sysmon/test_glibtop_network.c89
-rw-r--r--src/sysmon/test_glibtop_process.c (renamed from src/sysmon/test_glibtop.c)16
3 files changed, 116 insertions, 6 deletions
diff --git a/src/sysmon/Makefile.am b/src/sysmon/Makefile.am
index 4c4cb1a5b..0dc5383c3 100644
--- a/src/sysmon/Makefile.am
+++ b/src/sysmon/Makefile.am
@@ -19,7 +19,8 @@ libexec_PROGRAMS = \
19 gnunet_daemon_sysmon 19 gnunet_daemon_sysmon
20 20
21check_PROGRAMS = \ 21check_PROGRAMS = \
22 test_glibtop 22 test_glibtop_process \
23 test_glibtop_network
23 24
24gnunet_daemon_sysmon_SOURCES = \ 25gnunet_daemon_sysmon_SOURCES = \
25 gnunet-daemon-sysmon.c 26 gnunet-daemon-sysmon.c
@@ -28,9 +29,17 @@ gnunet_daemon_sysmon_LDADD = \
28 $(top_builddir)/src/statistics/libgnunetstatistics.la \ 29 $(top_builddir)/src/statistics/libgnunetstatistics.la \
29 $(GN_LIBINTL) 30 $(GN_LIBINTL)
30 31
31test_glibtop_SOURCES = \ 32test_glibtop_process_SOURCES = \
32 test_glibtop.c 33 test_glibtop_process.c
33test_glibtop_LDADD = \ 34test_glibtop_process_LDADD = \
35 $(top_builddir)/src/util/libgnunetutil.la \
36 $(top_builddir)/src/statistics/libgnunetstatistics.la \
37 -lgtop-2.0 \
38 $(GN_LIBINTL)
39
40test_glibtop_network_SOURCES = \
41 test_glibtop_network.c
42test_glibtop_network_LDADD = \
34 $(top_builddir)/src/util/libgnunetutil.la \ 43 $(top_builddir)/src/util/libgnunetutil.la \
35 $(top_builddir)/src/statistics/libgnunetstatistics.la \ 44 $(top_builddir)/src/statistics/libgnunetstatistics.la \
36 -lgtop-2.0 \ 45 -lgtop-2.0 \
diff --git a/src/sysmon/test_glibtop_network.c b/src/sysmon/test_glibtop_network.c
new file mode 100644
index 000000000..e07b44d93
--- /dev/null
+++ b/src/sysmon/test_glibtop_network.c
@@ -0,0 +1,89 @@
1/*
2 This file is part of GNUnet.
3 (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 Christian Grothoff (and other contributing authors)
4
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
19*/
20
21/**
22 * @file sysmon/test_glibtop_process.c
23 * @brief a brief test for glibtop
24 * @author Matthias Wachs
25 */
26
27#include "platform.h"
28
29#include <glibtop.h>
30#include <glibtop/netlist.h>
31#include <glibtop/netload.h>
32#include <glib.h>
33
34static int ret;
35
36
37static void
38print_netlist ()
39{
40 glibtop_netlist netlist;
41 glibtop_netload netload;
42 int i;
43 char ** tmp;
44 uint8_t *address;
45 uint8_t *netmask;
46
47 tmp = glibtop_get_netlist (&netlist);
48
49 printf ("Network information: %u devices\n", netlist.number);
50 for (i = 0; i < netlist.number; ++i)
51 {
52 printf ("Device %i: %s\n", i, tmp[i]);
53 glibtop_get_netload (&netload, tmp[i]);
54 address = (uint8_t *) &netload.address;
55 netmask = (uint8_t *) &netload.subnet;
56 printf ("\t%-50s: %u.%u.%u.%u\n", "IPv4 subnet", netmask[0], netmask[1], netmask[2],netmask[3]);
57 printf ("\t%-50s: %u.%u.%u.%u\n", "IPv4 address", address[0], address[1], address[2],address[3]);
58
59 printf ("\t%-50s: %lu\n", "packets in", netload.packets_in);
60 printf ("\t%-50s: %lu\n", "packets out", netload.packets_out);
61 printf ("\t%-50s: %lu\n", "packets total", netload.packets_total);
62 }
63}
64
65/**
66 * The main function.
67 *
68 * @param argc number of arguments from the command line
69 * @param argv command line arguments
70 * @return 0 ok, 1 on error
71 */
72int
73main (int argc, char *const *argv)
74{
75 if (NULL == glibtop_init())
76 {
77 fprintf (stderr, "Could not init gliptop!\n");
78 return 1;
79 }
80
81 /* Network information */
82 print_netlist ();
83
84 glibtop_close();
85 return ret;
86}
87
88/* end of ttest_glibtop_process.c */
89
diff --git a/src/sysmon/test_glibtop.c b/src/sysmon/test_glibtop_process.c
index b5deb8c53..30702b8a3 100644
--- a/src/sysmon/test_glibtop.c
+++ b/src/sysmon/test_glibtop_process.c
@@ -19,7 +19,7 @@
19*/ 19*/
20 20
21/** 21/**
22 * @file sysmon/test_glibtop.c 22 * @file sysmon/test_glibtop_process.c
23 * @brief a brief test for glibtop 23 * @brief a brief test for glibtop
24 * @author Matthias Wachs 24 * @author Matthias Wachs
25 */ 25 */
@@ -31,6 +31,7 @@
31#include <glibtop/procstate.h> 31#include <glibtop/procstate.h>
32#include <glibtop/procargs.h> 32#include <glibtop/procargs.h>
33#include <glibtop/procmem.h> 33#include <glibtop/procmem.h>
34#include <glibtop/proctime.h>
34#include <glib.h> 35#include <glib.h>
35 36
36static int ret; 37static int ret;
@@ -42,6 +43,7 @@ static void print_pids(guint64 which, guint64 arg)
42 glibtop_proclist proc_list; 43 glibtop_proclist proc_list;
43 glibtop_proc_args proc_args; 44 glibtop_proc_args proc_args;
44 glibtop_proc_mem proc_mem; 45 glibtop_proc_mem proc_mem;
46 glibtop_proc_time proc_time;
45 char *argss; 47 char *argss;
46 48
47 /* get process list */ 49 /* get process list */
@@ -69,12 +71,21 @@ static void print_pids(guint64 which, guint64 arg)
69 printf ("\targument string: %s\n", argss); 71 printf ("\targument string: %s\n", argss);
70 g_free (argss); 72 g_free (argss);
71 73
74 /* get memory info */
72 glibtop_get_proc_mem (&proc_mem, pids[i]); 75 glibtop_get_proc_mem (&proc_mem, pids[i]);
76 printf ("\tMemory information:\n");
73 printf ("\t%-50s: %lu\n", "total # of pages of memory", proc_mem.size); 77 printf ("\t%-50s: %lu\n", "total # of pages of memory", proc_mem.size);
74 printf ("\t%-50s: %lu\n", "number of pages of virtual memory",proc_mem.vsize); 78 printf ("\t%-50s: %lu\n", "number of pages of virtual memory",proc_mem.vsize);
75 printf ("\t%-50s: %lu\n", "number of resident set", proc_mem.resident); 79 printf ("\t%-50s: %lu\n", "number of resident set", proc_mem.resident);
76 printf ("\t%-50s: %lu\n", "number of pages of shared (mmap'd) memory", proc_mem.share); 80 printf ("\t%-50s: %lu\n", "number of pages of shared (mmap'd) memory", proc_mem.share);
77 printf ("\t%-50s: %lu\n", "resident set size", proc_mem.rss); 81 printf ("\t%-50s: %lu\n", "resident set size", proc_mem.rss);
82
83 /* get time info */
84 glibtop_get_proc_time (&proc_time, pids[i]);
85 printf ("\tTime information:\n");
86 printf ("\t%-50s: %lu\n", "real time accumulated by process", proc_time.rtime);
87 printf ("\t%-50s: %lu\n", "user-mode CPU time accumulated by process",proc_time.utime);
88 printf ("\t%-50s: %lu\n", "kernel-mode CPU time accumulated by process", proc_time.stime);
78 } 89 }
79 90
80 if (NULL != pids) 91 if (NULL != pids)
@@ -84,6 +95,7 @@ static void print_pids(guint64 which, guint64 arg)
84 } 95 }
85} 96}
86 97
98
87/** 99/**
88 * The main function. 100 * The main function.
89 * 101 *
@@ -107,5 +119,5 @@ main (int argc, char *const *argv)
107 return ret; 119 return ret;
108} 120}
109 121
110/* end of test_glibtop.c */ 122/* end of test_glibtop_process.c */
111 123