diff options
| author | Přemysl Janouch <p.janouch@gmail.com> | 2014-09-21 03:55:58 +0200 | 
|---|---|---|
| committer | Přemysl Janouch <p.janouch@gmail.com> | 2014-09-21 03:55:58 +0200 | 
| commit | 903f7d128a4a3fe66001e73a7e247b1d07444908 (patch) | |
| tree | fc2b05899118068061cb865f02315fa684ab6734 | |
| parent | fa2780a40da9313337b7cca0ba68783a6829b5e3 (diff) | |
| download | ponymap-903f7d128a4a3fe66001e73a7e247b1d07444908.tar.gz ponymap-903f7d128a4a3fe66001e73a7e247b1d07444908.tar.xz ponymap-903f7d128a4a3fe66001e73a7e247b1d07444908.zip | |
Show some stats at the end
| -rw-r--r-- | ponymap.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| @@ -334,6 +334,9 @@ struct app_context  	struct generator generator;         ///< Unit generator  	struct indicator indicator;         ///< Status indicator +	size_t stats_hosts;                 ///< How many hosts we've scanned +	size_t stats_results;               ///< How many services we've found +  	// We need this list ordered from the oldest running target,  	// therefore we track the tail to allow O(1) appends. @@ -537,8 +540,10 @@ unit_abort (struct unit *u)  	if (u->success)  	{ -		// Now we're a part of the target  		struct target *target = u->target; +		target->ctx->stats_results++; + +		// Now we're a part of the target  		LIST_PREPEND (target->results, u);  		u->target = NULL;  		target_unref (target); @@ -1494,6 +1499,8 @@ generator_make_target (struct app_context *ctx)  	LIST_APPEND_WITH_TAIL (ctx->running_targets, ctx->running_tail, target);  	target_update_indicator (ctx->running_targets); + +	ctx->stats_hosts++;  }  static void @@ -2017,6 +2024,10 @@ main (int argc, char *argv[])  	while (ctx.polling)  		poller_run (&ctx.poller); +	printf ("Scanned %zu %s, identified %zu %s\n", +		ctx.stats_hosts,   ctx.stats_hosts   == 1 ? "host"    : "hosts", +		ctx.stats_results, ctx.stats_results == 1 ? "service" : "services"); +  	if (ctx.json_results && json_dump_file (ctx.json_results,  		ctx.json_filename, JSON_INDENT (2) | JSON_SORT_KEYS | JSON_ENCODE_ANY))  		print_error ("failed to write JSON output"); | 
