Merge remote-tracking branch 'origin/topic/jsiwek/sumstats-non-cluster-fixes'

Closes BIT-1898.

* origin/topic/jsiwek/sumstats-non-cluster-fixes:
  Fix problems with SumStats non-cluster.bro script
This commit is contained in:
Robin Sommer 2018-02-05 15:09:14 -08:00
commit 9f4cef23ad
4 changed files with 23 additions and 20 deletions

View file

@ -1,4 +1,9 @@
2.5-427 | 2018-02-05 15:09:14 -0800
* BIT-1898: Fix problems with SumStats non-cluster.bro script.
Reported by Jim Mellander. (Jon Siwek)
2.5-424 | 2018-02-05 15:07:20 -0800
* Add a .travis.yml. file (Daniel Thayer)

View file

@ -1 +1 @@
2.5-424
2.5-427

View file

@ -6,28 +6,25 @@ event SumStats::process_epoch_result(ss: SumStat, now: time, data: ResultTable)
{
# TODO: is this the right processing group size?
local i = 50;
local keys_to_delete: vector of SumStats::Key = vector();
for ( key in data )
{
ss$epoch_result(now, key, data[key]);
delete data[key];
keys_to_delete[|keys_to_delete|] = key;
if ( |data| == 0 )
{
if ( ss?$epoch_finished )
ss$epoch_finished(now);
# Now that no data is left we can finish.
return;
}
i = i-1;
if ( i == 0 )
{
# TODO: is this the right interval?
schedule 0.01 secs { process_epoch_result(ss, now, data) };
if ( --i == 0 )
break;
}
}
for ( idx in keys_to_delete )
delete data[keys_to_delete[idx]];
if ( |data| > 0 )
# TODO: is this the right interval?
schedule 0.01 secs { SumStats::process_epoch_result(ss, now, data) };
else if ( ss?$epoch_finished )
ss$epoch_finished(now);
}
event SumStats::finish_epoch(ss: SumStat)
@ -46,9 +43,9 @@ event SumStats::finish_epoch(ss: SumStat)
if ( ss?$epoch_finished )
ss$epoch_finished(now);
}
else
else if ( |data| > 0 )
{
event SumStats::process_epoch_result(ss, now, data);
event SumStats::process_epoch_result(ss, now, copy(data));
}
}

View file

@ -1,2 +1,3 @@
Host: 1.2.3.4 - num:5 - sum:221.0 - var:1144.2 - avg:44.2 - max:94.0 - min:5.0 - std_dev:33.8 - unique:4 - hllunique:4
Host: 6.5.4.3 - num:1 - sum:2.0 - var:0.0 - avg:2.0 - max:2.0 - min:2.0 - std_dev:0.0 - unique:1 - hllunique:1
Host: 7.2.1.5 - num:1 - sum:1.0 - var:0.0 - avg:1.0 - max:1.0 - min:1.0 - std_dev:0.0 - unique:1 - hllunique:1