aboutsummaryrefslogtreecommitdiff
path: root/src/namestore
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-04-30 11:46:25 +0200
committerChristian Grothoff <christian@grothoff.org>2018-04-30 11:46:25 +0200
commit5d9d356c1426eb6f1b1e5b9f12b28d6a9faf410f (patch)
tree92495e0390d4ff1bd21705eba726fd6b9d458453 /src/namestore
parente053a6c9a9b903d6bfbdfa64961f20a838e4f258 (diff)
downloadgnunet-5d9d356c1426eb6f1b1e5b9f12b28d6a9faf410f.tar.gz
gnunet-5d9d356c1426eb6f1b1e5b9f12b28d6a9faf410f.zip
add statistic on namestore iteration delay
Diffstat (limited to 'src/namestore')
-rw-r--r--src/namestore/gnunet-service-namestore.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/namestore/gnunet-service-namestore.c b/src/namestore/gnunet-service-namestore.c
index b9061ed9f..c6bab15b7 100644
--- a/src/namestore/gnunet-service-namestore.c
+++ b/src/namestore/gnunet-service-namestore.c
@@ -1416,12 +1416,15 @@ run_zone_iteration_round (struct ZoneIteration *zi,
1416 struct ZoneIterationProcResult proc; 1416 struct ZoneIterationProcResult proc;
1417 struct GNUNET_MQ_Envelope *env; 1417 struct GNUNET_MQ_Envelope *env;
1418 struct RecordResultMessage *rrm; 1418 struct RecordResultMessage *rrm;
1419 struct GNUNET_TIME_Absolute start;
1420 struct GNUNET_TIME_Relative duration;
1419 1421
1420 memset (&proc, 1422 memset (&proc,
1421 0, 1423 0,
1422 sizeof (proc)); 1424 sizeof (proc));
1423 proc.zi = zi; 1425 proc.zi = zi;
1424 proc.limit = limit; 1426 proc.limit = limit;
1427 start = GNUNET_TIME_absolute_get ();
1425 GNUNET_break (GNUNET_SYSERR != 1428 GNUNET_break (GNUNET_SYSERR !=
1426 GSN_database->iterate_records (GSN_database->cls, 1429 GSN_database->iterate_records (GSN_database->cls,
1427 (0 == memcmp (&zi->zone, 1430 (0 == memcmp (&zi->zone,
@@ -1433,6 +1436,13 @@ run_zone_iteration_round (struct ZoneIteration *zi,
1433 limit, 1436 limit,
1434 &zone_iterate_proc, 1437 &zone_iterate_proc,
1435 &proc)); 1438 &proc));
1439 duration = GNUNET_TIME_absolute_get_duration (start);
1440 duration = GNUNET_TIME_relative_divide (duration,
1441 limit - proc.limit);
1442 GNUNET_STATISTICS_set (statistics,
1443 "NAMESTORE iteration delay (μs/record)",
1444 duration.rel_value_us,
1445 GNUNET_NO);
1436 zi->offset += (limit - proc.limit); 1446 zi->offset += (limit - proc.limit);
1437 if (0 == proc.limit) 1447 if (0 == proc.limit)
1438 { 1448 {