diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-11-28 16:14:35 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-11-28 16:14:35 +0000 |
commit | dbb17853368c11b2a9a4a19c6e38f8ef02d2f258 (patch) | |
tree | 052ffe5afbc27aff5d41c284d415cf265bbe0141 | |
parent | 8cc3cc51ebb67d821275116360631bfef32472b0 (diff) | |
download | gnunet-dbb17853368c11b2a9a4a19c6e38f8ef02d2f258.tar.gz gnunet-dbb17853368c11b2a9a4a19c6e38f8ef02d2f258.zip |
network test
-rw-r--r-- | src/sysmon/Makefile.am | 17 | ||||
-rw-r--r-- | src/sysmon/test_glibtop_network.c | 89 | ||||
-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 | ||
21 | check_PROGRAMS = \ | 21 | check_PROGRAMS = \ |
22 | test_glibtop | 22 | test_glibtop_process \ |
23 | test_glibtop_network | ||
23 | 24 | ||
24 | gnunet_daemon_sysmon_SOURCES = \ | 25 | gnunet_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 | ||
31 | test_glibtop_SOURCES = \ | 32 | test_glibtop_process_SOURCES = \ |
32 | test_glibtop.c | 33 | test_glibtop_process.c |
33 | test_glibtop_LDADD = \ | 34 | test_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 | |||
40 | test_glibtop_network_SOURCES = \ | ||
41 | test_glibtop_network.c | ||
42 | test_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 | |||
34 | static int ret; | ||
35 | |||
36 | |||
37 | static void | ||
38 | print_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 | */ | ||
72 | int | ||
73 | main (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 | ||
36 | static int ret; | 37 | static 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 | ||