aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-06-19 19:52:09 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-06-19 19:52:09 +0000
commit35ce6b5cad883871e481512794c1f4e5603e2734 (patch)
tree226b03cc13b17a09221ea7ef7f2d17c7a9b39805 /src
parentfc1de993fe149c3b32f8d5687d4d77ae5999d444 (diff)
downloadgnunet-35ce6b5cad883871e481512794c1f4e5603e2734.tar.gz
gnunet-35ce6b5cad883871e481512794c1f4e5603e2734.zip
new sensors + fixes
Diffstat (limited to 'src')
-rw-r--r--src/peerstore/perf_peerstore_store.c10
-rw-r--r--src/peerstore/test_peerstore_api_iterate.c18
-rw-r--r--src/peerstore/test_peerstore_api_store.c16
-rw-r--r--src/peerstore/test_peerstore_api_watch.c10
-rw-r--r--src/sensor/gnunet-sensor.c2
-rw-r--r--src/sensor/gnunet-service-sensor.c112
-rw-r--r--src/sensor/sensors/average-ping-rtt (renamed from src/sensor/sensors/averagepingrtt)6
-rwxr-xr-xsrc/sensor/sensors/averagepingrtt-files/avgping.sh3
-rw-r--r--src/sensor/sensors/datacache-bytes-stored (renamed from src/sensor/sensors/connectedpeers)10
-rw-r--r--src/sensor/sensors/gnunet-version (renamed from src/sensor/sensors/gnunetversion)6
-rw-r--r--src/sensor/sensors/known-peers32
-rw-r--r--src/sensor/sensors/nse32
-rw-r--r--src/sensor/sensors/peerstore-memory32
-rw-r--r--src/sensor/sensors/transport-bytes-received32
-rw-r--r--src/sensor/sensors/transport-tcp-bytes-transmitted32
-rw-r--r--src/sensor/sensors/transport-tcp-sessions-active32
16 files changed, 323 insertions, 62 deletions
diff --git a/src/peerstore/perf_peerstore_store.c b/src/peerstore/perf_peerstore_store.c
index 4f5366225..e7a8fec04 100644
--- a/src/peerstore/perf_peerstore_store.c
+++ b/src/peerstore/perf_peerstore_store.c
@@ -30,12 +30,12 @@
30 30
31static int ok = 1; 31static int ok = 1;
32 32
33struct GNUNET_PEERSTORE_Handle *h; 33static struct GNUNET_PEERSTORE_Handle *h;
34 34
35char *ss = "test_peerstore_stress"; 35static char *ss = "test_peerstore_stress";
36struct GNUNET_PeerIdentity p; 36static struct GNUNET_PeerIdentity p;
37char *k = "test_peerstore_stress_key"; 37static char *k = "test_peerstore_stress_key";
38char *v = "test_peerstore_stress_val"; 38static char *v = "test_peerstore_stress_val";
39 39
40int count = 0; 40int count = 0;
41 41
diff --git a/src/peerstore/test_peerstore_api_iterate.c b/src/peerstore/test_peerstore_api_iterate.c
index 0655be25f..515e8f7df 100644
--- a/src/peerstore/test_peerstore_api_iterate.c
+++ b/src/peerstore/test_peerstore_api_iterate.c
@@ -28,16 +28,16 @@
28 28
29static int ok = 1; 29static int ok = 1;
30 30
31struct GNUNET_PEERSTORE_Handle *h; 31static struct GNUNET_PEERSTORE_Handle *h;
32 32
33char *ss = "test_peerstore_api_iterate"; 33static char *ss = "test_peerstore_api_iterate";
34struct GNUNET_PeerIdentity p1; 34static struct GNUNET_PeerIdentity p1;
35struct GNUNET_PeerIdentity p2; 35static struct GNUNET_PeerIdentity p2;
36char *k1 = "test_peerstore_api_iterate_key1"; 36static char *k1 = "test_peerstore_api_iterate_key1";
37char *k2 = "test_peerstore_api_iterate_key2"; 37static char *k2 = "test_peerstore_api_iterate_key2";
38char *k3 = "test_peerstore_api_iterate_key3"; 38static char *k3 = "test_peerstore_api_iterate_key3";
39char *val = "test_peerstore_api_iterate_val"; 39static char *val = "test_peerstore_api_iterate_val";
40int count = 0; 40static int count = 0;
41 41
42static int 42static int
43iter3_cb(void *cls, 43iter3_cb(void *cls,
diff --git a/src/peerstore/test_peerstore_api_store.c b/src/peerstore/test_peerstore_api_store.c
index 8b3391d83..ff02ac3ab 100644
--- a/src/peerstore/test_peerstore_api_store.c
+++ b/src/peerstore/test_peerstore_api_store.c
@@ -28,14 +28,14 @@
28 28
29static int ok = 1; 29static int ok = 1;
30 30
31struct GNUNET_PEERSTORE_Handle *h; 31static struct GNUNET_PEERSTORE_Handle *h;
32 32
33char *subsystem = "test_peerstore_api_store"; 33static char *subsystem = "test_peerstore_api_store";
34struct GNUNET_PeerIdentity pid; 34static struct GNUNET_PeerIdentity pid;
35char *key = "test_peerstore_api_store_key"; 35static char *key = "test_peerstore_api_store_key";
36char *val1 = "test_peerstore_api_store_val1"; 36static char *val1 = "test_peerstore_api_store_val1";
37char *val2 = "test_peerstore_api_store_val2-"; 37static char *val2 = "test_peerstore_api_store_val2-";
38char *val3 = "test_peerstore_api_store_val3--"; 38static char *val3 = "test_peerstore_api_store_val3--";
39 39
40int count = 0; 40int count = 0;
41 41
diff --git a/src/peerstore/test_peerstore_api_watch.c b/src/peerstore/test_peerstore_api_watch.c
index b8d0a0cce..2ab67eeb9 100644
--- a/src/peerstore/test_peerstore_api_watch.c
+++ b/src/peerstore/test_peerstore_api_watch.c
@@ -28,12 +28,12 @@
28 28
29static int ok = 1; 29static int ok = 1;
30 30
31struct GNUNET_PEERSTORE_Handle *h; 31static struct GNUNET_PEERSTORE_Handle *h;
32 32
33char *ss = "test_peerstore_api_watch"; 33static char *ss = "test_peerstore_api_watch";
34struct GNUNET_PeerIdentity p; 34static struct GNUNET_PeerIdentity p;
35char *k = "test_peerstore_api_watch_key"; 35static char *k = "test_peerstore_api_watch_key";
36char *val = "test_peerstore_api_watch_val"; 36static char *val = "test_peerstore_api_watch_val";
37 37
38static int 38static int
39watch_cb(void *cls, 39watch_cb(void *cls,
diff --git a/src/sensor/gnunet-sensor.c b/src/sensor/gnunet-sensor.c
index 22a854d42..fa7930832 100644
--- a/src/sensor/gnunet-sensor.c
+++ b/src/sensor/gnunet-sensor.c
@@ -42,7 +42,7 @@ static char *get_sensor;
42/* 42/*
43 * Handle to sensor service 43 * Handle to sensor service
44 */ 44 */
45struct GNUNET_SENSOR_Handle *sensor_handle; 45static struct GNUNET_SENSOR_Handle *sensor_handle;
46 46
47/** 47/**
48 * Run on shutdown 48 * Run on shutdown
diff --git a/src/sensor/gnunet-service-sensor.c b/src/sensor/gnunet-service-sensor.c
index 04ba8e435..2fc882196 100644
--- a/src/sensor/gnunet-service-sensor.c
+++ b/src/sensor/gnunet-service-sensor.c
@@ -143,6 +143,13 @@ struct SensorInfo
143 struct GNUNET_OS_CommandHandle *ext_cmd; 143 struct GNUNET_OS_CommandHandle *ext_cmd;
144 144
145 /* 145 /*
146 * Did we already receive a value
147 * from the currently running external
148 * proccess ? #GNUNET_YES / #GNUNET_NO
149 */
150 int ext_cmd_value_received;
151
152 /*
146 * The output datatype to be expected 153 * The output datatype to be expected
147 */ 154 */
148 char *expected_datatype; 155 char *expected_datatype;
@@ -587,7 +594,7 @@ add_sensor_to_hashmap(struct SensorInfo *sensor, struct GNUNET_CONTAINER_MultiHa
587 { 594 {
588 GNUNET_CONTAINER_multihashmap_remove(map, &key, existing); //remove the old version 595 GNUNET_CONTAINER_multihashmap_remove(map, &key, existing); //remove the old version
589 GNUNET_free(existing); 596 GNUNET_free(existing);
590 GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Upgrading sensor `%s' to a newer version\n"), sensor->name); 597 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Upgrading sensor `%s' to a newer version\n", sensor->name);
591 } 598 }
592 } 599 }
593 if(GNUNET_SYSERR == GNUNET_CONTAINER_multihashmap_put(map, &key, sensor, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)) 600 if(GNUNET_SYSERR == GNUNET_CONTAINER_multihashmap_put(map, &key, sensor, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY))
@@ -843,7 +850,6 @@ int sensor_statistics_iterator (void *cls,
843 struct GNUNET_TIME_Absolute expiry; 850 struct GNUNET_TIME_Absolute expiry;
844 851
845 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %" PRIu64 "\n", sensorinfo->name, value); 852 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %" PRIu64 "\n", sensorinfo->name, value);
846 //FIXME: store first line, last line or all ??
847 expiry = GNUNET_TIME_relative_to_absolute(sensorinfo->interval); 853 expiry = GNUNET_TIME_relative_to_absolute(sensorinfo->interval);
848 GNUNET_PEERSTORE_store(peerstore, 854 GNUNET_PEERSTORE_store(peerstore,
849 subsystem, 855 subsystem,
@@ -855,7 +861,7 @@ int sensor_statistics_iterator (void *cls,
855 GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, 861 GNUNET_PEERSTORE_STOREOPTION_MULTIPLE,
856 NULL, 862 NULL,
857 NULL); 863 NULL);
858 return GNUNET_OK; 864 return GNUNET_SYSERR; /* We only want one value */
859} 865}
860 866
861/** 867/**
@@ -874,6 +880,55 @@ void end_sensor_run_stat (void *cls, int success)
874} 880}
875 881
876/** 882/**
883 * Tries to parse a received sensor value to its
884 * expected datatype
885 *
886 * @param value the string value received, should be null terminated
887 * @param sensor sensor information struct
888 * @param ret pointer to parsed value
889 * @return size of new parsed value, 0 for error
890 */
891static size_t
892parse_sensor_value (const char *value, struct SensorInfo* sensor, void **ret)
893{
894 uint64_t *ullval;
895 double *dval;
896 char *endptr;
897
898 *ret = NULL;
899 if ('\0' == *value)
900 return 0;
901 //"uint64", "double", "string"
902 if (0 == strcmp("uint64", sensor->expected_datatype))
903 {
904 ullval = GNUNET_new(uint64_t);
905 *ullval = strtoull(value, &endptr, 10);
906 if ('\0' != *endptr &&
907 '\n' != *endptr) /* Invalid string */
908 return 0;
909 *ret = ullval;
910 return sizeof(uint64_t);
911 }
912 if(0 == strcmp("double", sensor->expected_datatype))
913 {
914 dval = GNUNET_new(double);
915 *dval = strtod(value, &endptr);
916 if(value == endptr)
917 return 0;
918 *ret = dval;
919 return sizeof(double);
920 }
921 if(0 == strcmp("string", sensor->expected_datatype))
922 {
923 *ret = GNUNET_strdup(value);
924 return strlen(value) + 1;
925 }
926 GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
927 _("Unknown value type expected by sensor, this should not happen.\n"));
928 return 0;
929}
930
931/**
877 * Callback for output of executed sensor process 932 * Callback for output of executed sensor process
878 * 933 *
879 * @param cls 'struct SensorInfo *' 934 * @param cls 'struct SensorInfo *'
@@ -882,29 +937,43 @@ void end_sensor_run_stat (void *cls, int success)
882void sensor_process_callback (void *cls, const char *line) 937void sensor_process_callback (void *cls, const char *line)
883{ 938{
884 struct SensorInfo *sensorinfo = cls; 939 struct SensorInfo *sensorinfo = cls;
940 void *value;
941 size_t valsize;
885 struct GNUNET_TIME_Absolute expiry; 942 struct GNUNET_TIME_Absolute expiry;
886 943
887 if(NULL == line) //end of output 944 if(NULL == line)
888 { 945 {
889 GNUNET_OS_command_stop(sensorinfo->ext_cmd); 946 GNUNET_OS_command_stop(sensorinfo->ext_cmd);
890 sensorinfo->ext_cmd = NULL; 947 sensorinfo->ext_cmd = NULL;
891 sensorinfo->running = GNUNET_NO; 948 sensorinfo->running = GNUNET_NO;
949 sensorinfo->ext_cmd_value_received = GNUNET_NO;
892 return; 950 return;
893 } 951 }
952 if(GNUNET_YES == sensorinfo->ext_cmd_value_received)
953 return; /* We only want one *valid* value */
894 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %s\n", sensorinfo->name, line); 954 GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %s\n", sensorinfo->name, line);
895 //FIXME: store first line, last line or all ?? 955 valsize = parse_sensor_value(line, sensorinfo, &value);
896 //FIXME: check and parse datatype 956 if (valsize == 0) /* invalid value, FIXME: should we disable the sensor now? */
897 expiry = GNUNET_TIME_relative_to_absolute(sensorinfo->interval); 957 {
898 GNUNET_PEERSTORE_store(peerstore, 958 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
899 subsystem, 959 _("Received an invalid value for sensor `%s': %s\n"),
900 &peerid, 960 sensorinfo->name, line);
901 sensorinfo->name, 961 }
902 line, 962 else
903 strlen(line) + 1, 963 {
904 expiry, 964 sensorinfo->ext_cmd_value_received = GNUNET_YES;
905 GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, 965 expiry = GNUNET_TIME_relative_to_absolute(sensorinfo->interval);
906 NULL, 966 GNUNET_PEERSTORE_store(peerstore,
907 NULL); 967 subsystem,
968 &peerid,
969 sensorinfo->name,
970 value,
971 valsize,
972 expiry,
973 GNUNET_PEERSTORE_STOREOPTION_MULTIPLE,
974 NULL,
975 NULL);
976 }
908} 977}
909 978
910/** 979/**
@@ -967,7 +1036,7 @@ sensor_run (void *cls,
967 if(GNUNET_YES == is_path(sensorinfo->ext_process)) 1036 if(GNUNET_YES == is_path(sensorinfo->ext_process))
968 { 1037 {
969 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 1038 GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
970 "Sensor `%s': External process should not be a path, disabling sensor.\n", 1039 _("Sensor `%s': External process should not be a path, disabling sensor.\n"),
971 sensorinfo->name); 1040 sensorinfo->name);
972 set_sensor_enabled(sensorinfo, GNUNET_NO); 1041 set_sensor_enabled(sensorinfo, GNUNET_NO);
973 return; 1042 return;
@@ -992,7 +1061,8 @@ sensor_run (void *cls,
992 } 1061 }
993 if(GNUNET_SYSERR == check_result) 1062 if(GNUNET_SYSERR == check_result)
994 { 1063 {
995 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Sensor `%s' process `%s' problem: binary doesn't exist or not executable\n", 1064 GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
1065 _("Sensor `%s' process `%s' problem: binary doesn't exist or not executable\n"),
996 sensorinfo->name, 1066 sensorinfo->name,
997 sensorinfo->ext_process); 1067 sensorinfo->ext_process);
998 set_sensor_enabled(sensorinfo, GNUNET_NO); 1068 set_sensor_enabled(sensorinfo, GNUNET_NO);
@@ -1000,6 +1070,7 @@ sensor_run (void *cls,
1000 GNUNET_free(process_path); 1070 GNUNET_free(process_path);
1001 return; 1071 return;
1002 } 1072 }
1073 sensorinfo->ext_cmd_value_received = GNUNET_NO;
1003 sensorinfo->ext_cmd = GNUNET_OS_command_run(&sensor_process_callback, 1074 sensorinfo->ext_cmd = GNUNET_OS_command_run(&sensor_process_callback,
1004 sensorinfo, 1075 sensorinfo,
1005 GNUNET_TIME_UNIT_FOREVER_REL, 1076 GNUNET_TIME_UNIT_FOREVER_REL,
@@ -1038,7 +1109,8 @@ int schedule_sensor(void *cls,
1038 sensorinfo->name, sensorinfo->interval.rel_value_us); 1109 sensorinfo->name, sensorinfo->interval.rel_value_us);
1039 if(GNUNET_SCHEDULER_NO_TASK != sensorinfo->execution_task) 1110 if(GNUNET_SCHEDULER_NO_TASK != sensorinfo->execution_task)
1040 { 1111 {
1041 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Sensor `%s' execution task already set, this should not happen\n", sensorinfo->name); 1112 GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
1113 _("Sensor `%s' execution task already set, this should not happen\n"), sensorinfo->name);
1042 return GNUNET_NO; 1114 return GNUNET_NO;
1043 } 1115 }
1044 sensorinfo->execution_task = GNUNET_SCHEDULER_add_delayed(sensorinfo->interval, &sensor_run, sensorinfo); 1116 sensorinfo->execution_task = GNUNET_SCHEDULER_add_delayed(sensorinfo->interval, &sensor_run, sensorinfo);
diff --git a/src/sensor/sensors/averagepingrtt b/src/sensor/sensors/average-ping-rtt
index b8880c696..aaf84e0b6 100644
--- a/src/sensor/sensors/averagepingrtt
+++ b/src/sensor/sensors/average-ping-rtt
@@ -1,15 +1,15 @@
1[averagepingrtt] 1[average-ping-rtt]
2 2
3VERSION = 1.0 3VERSION = 1.0
4DESCRIPTION = Calculate average ping latency to gnunet.org 4DESCRIPTION = Calculate average ping latency to gnunet.org
5CATEGORY = Internet-Connectivity 5CATEGORY = Underlay
6ENABLED = YES 6ENABLED = YES
7 7
8# Start and end time format: %Y-%m-%d %H:%M:%S 8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME = 9#START_TIME =
10#END_TIME = 10#END_TIME =
11#Interval in seconds 11#Interval in seconds
12INTERVAL = 30 12INTERVAL = 60
13#LIFETIME = 13#LIFETIME =
14 14
15#CAPABILITIES = 15#CAPABILITIES =
diff --git a/src/sensor/sensors/averagepingrtt-files/avgping.sh b/src/sensor/sensors/averagepingrtt-files/avgping.sh
deleted file mode 100755
index 35e585b77..000000000
--- a/src/sensor/sensors/averagepingrtt-files/avgping.sh
+++ /dev/null
@@ -1,3 +0,0 @@
1#!/bin/sh
2
3ping -c 10 gnunet.org | awk -F/ '/^rtt/ { print $5 }'
diff --git a/src/sensor/sensors/connectedpeers b/src/sensor/sensors/datacache-bytes-stored
index fcd01b097..c58bb4ea1 100644
--- a/src/sensor/sensors/connectedpeers
+++ b/src/sensor/sensors/datacache-bytes-stored
@@ -1,8 +1,8 @@
1[connectedpeers] 1[datacache-bytes-stored]
2 2
3VERSION = 1.0 3VERSION = 1.0
4DESCRIPTION = Gets the number of connected peers from core 4DESCRIPTION = Bytes stored by GNUnet datacache service
5CATEGORY = P2P-Connectivity 5CATEGORY = GNUnet
6ENABLED = YES 6ENABLED = YES
7 7
8# Start and end time format: %Y-%m-%d %H:%M:%S 8# Start and end time format: %Y-%m-%d %H:%M:%S
@@ -16,8 +16,8 @@ INTERVAL = 60
16 16
17SOURCE = gnunet-statistics 17SOURCE = gnunet-statistics
18 18
19GNUNET_STAT_SERVICE = core 19GNUNET_STAT_SERVICE = datacache
20GNUNET_STAT_NAME = # peers connected 20GNUNET_STAT_NAME = # bytes stored
21 21
22#EXT_PROCESS = 22#EXT_PROCESS =
23#EXT_ARGS = 23#EXT_ARGS =
diff --git a/src/sensor/sensors/gnunetversion b/src/sensor/sensors/gnunet-version
index dd213b605..b9941f77f 100644
--- a/src/sensor/sensors/gnunetversion
+++ b/src/sensor/sensors/gnunet-version
@@ -1,15 +1,15 @@
1[gnunetversion] 1[gnunet-version]
2 2
3VERSION = 1.0 3VERSION = 1.0
4DESCRIPTION = Gets gnunet version number 4DESCRIPTION = Gets gnunet version number
5CATEGORY = P2P-Software 5CATEGORY = GNUnet
6ENABLED = YES 6ENABLED = YES
7 7
8# Start and end time format: %Y-%m-%d %H:%M:%S 8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME = 9#START_TIME =
10#END_TIME = 10#END_TIME =
11#Interval in seconds 11#Interval in seconds
12INTERVAL = 30 12INTERVAL = 86400
13LIFETIME = 30 13LIFETIME = 30
14 14
15#CAPABILITIES = 15#CAPABILITIES =
diff --git a/src/sensor/sensors/known-peers b/src/sensor/sensors/known-peers
new file mode 100644
index 000000000..fa92bd7c7
--- /dev/null
+++ b/src/sensor/sensors/known-peers
@@ -0,0 +1,32 @@
1[known-peers]
2
3VERSION = 1.0
4DESCRIPTION = Gets the number of known peers
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = gnunet-statistics
18
19GNUNET_STAT_SERVICE = peerinfo
20GNUNET_STAT_NAME = # peers known
21
22#EXT_PROCESS =
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 120
30
31P2P_REPORT = NO
32#P2P_INTERVAL =
diff --git a/src/sensor/sensors/nse b/src/sensor/sensors/nse
new file mode 100644
index 000000000..429e80478
--- /dev/null
+++ b/src/sensor/sensors/nse
@@ -0,0 +1,32 @@
1[nse]
2
3VERSION = 1.0
4DESCRIPTION = GNUnet network size estimate
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = gnunet-statistics
18
19GNUNET_STAT_SERVICE = nse
20GNUNET_STAT_NAME = # nodes in the network (estimate)
21
22#EXT_PROCESS =
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 120
30
31P2P_REPORT = NO
32#P2P_INTERVAL =
diff --git a/src/sensor/sensors/peerstore-memory b/src/sensor/sensors/peerstore-memory
new file mode 100644
index 000000000..a75110d36
--- /dev/null
+++ b/src/sensor/sensors/peerstore-memory
@@ -0,0 +1,32 @@
1[peerstore-memory]
2
3VERSION = 1.0
4DESCRIPTION = Memory consumption of GNUnet peerstore service
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = process
18
19#GNUNET_STAT_SERVICE =
20#GNUNET_STAT_NAME =
21
22EXT_PROCESS = peerstore-memory.sh
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 7200
30
31P2P_REPORT = NO
32#P2P_INTERVAL =
diff --git a/src/sensor/sensors/transport-bytes-received b/src/sensor/sensors/transport-bytes-received
new file mode 100644
index 000000000..014546934
--- /dev/null
+++ b/src/sensor/sensors/transport-bytes-received
@@ -0,0 +1,32 @@
1[transport-bytes-received]
2
3VERSION = 1.0
4DESCRIPTION = Number of bytes received by GNUnet transport service
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = gnunet-statistics
18
19GNUNET_STAT_SERVICE = transport
20GNUNET_STAT_NAME = # bytes total received
21
22#EXT_PROCESS =
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 120
30
31P2P_REPORT = NO
32#P2P_INTERVAL =
diff --git a/src/sensor/sensors/transport-tcp-bytes-transmitted b/src/sensor/sensors/transport-tcp-bytes-transmitted
new file mode 100644
index 000000000..43b0f572c
--- /dev/null
+++ b/src/sensor/sensors/transport-tcp-bytes-transmitted
@@ -0,0 +1,32 @@
1[transport-tcp-bytes-transmitted]
2
3VERSION = 1.0
4DESCRIPTION = Number of GNUnet transport service active TCP sessions
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = gnunet-statistics
18
19GNUNET_STAT_SERVICE = transport
20GNUNET_STAT_NAME = # bytes transmitted via TCP
21
22#EXT_PROCESS =
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 120
30
31P2P_REPORT = NO
32#P2P_INTERVAL =
diff --git a/src/sensor/sensors/transport-tcp-sessions-active b/src/sensor/sensors/transport-tcp-sessions-active
new file mode 100644
index 000000000..a0466f81a
--- /dev/null
+++ b/src/sensor/sensors/transport-tcp-sessions-active
@@ -0,0 +1,32 @@
1[transport-tcp-sessions-active]
2
3VERSION = 1.0
4DESCRIPTION = Number of GNUnet transport service active TCP sessions
5CATEGORY = GNUnet
6ENABLED = YES
7
8# Start and end time format: %Y-%m-%d %H:%M:%S
9#START_TIME =
10#END_TIME =
11#Interval in seconds
12INTERVAL = 60
13#LIFETIME =
14
15#CAPABILITIES =
16
17SOURCE = gnunet-statistics
18
19GNUNET_STAT_SERVICE = transport
20GNUNET_STAT_NAME = # TCP sessions active
21
22#EXT_PROCESS =
23#EXT_ARGS =
24
25EXPECTED_DATATYPE = uint64
26
27# Reporting mechanism
28COLLECTION_POINT = JLAPIAOB2DJA4B4I676TCOCVU0DUIRMKKUSM71BLLGCV3OHMUQ80
29COLLECTION_INTERVAL = 120
30
31P2P_REPORT = NO
32#P2P_INTERVAL =