fix up r319744, add new files

8269 dtrace stddev aggregation is normalized incorrectly

illumos/illumos-gate@79809f9cf4
79809f9cf4

https://www.illumos.org/issues/8269
  It seems that currently normalization of stddev aggregation is done
  incorrectly.
  We divide both the sum of values and the sum of their squares by the
  normalization factor. But we should divide the sum of squares by the
  normalization factor squared to scale the original values properly.

Reviewed by: Bryan Cantrill <bryan@joyent.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Andriy Gapon <avg@FreeBSD.org>
This commit is contained in:
Andriy Gapon 2017-06-09 15:06:50 +00:00
parent 79edb7989a
commit acb89578f1
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,46 @@
/*
* This file and its contents are supplied under the terms of the
* Common Development and Distribution License ("CDDL"), version 1.0.
* You may only use this file in accordance with the terms of version
* 1.0 of the CDDL.
*
* A full copy of the text of the CDDL should have accompanied this
* source. A copy of the CDDL is also available via the Internet at
* http://www.illumos.org/license/CDDL.
*/
/*
* Copyright 2017 Panzura. All rights reserved.
*/
/*
* ASSERTION:
* Positive test for normalization() of stddev()
*
* SECTION: Aggregations/Normalization
*
*/
#pragma D option quiet
#pragma D option aggrate=1ms
#pragma D option switchrate=50ms
BEGIN
{
i = 0;
}
tick-100ms
/i < 11/
{
@ = stddev(i * 100);
i++;
}
tick-100ms
/i == 11/
{
printf("normalized data:\n");
normalize(@, 10);
exit(0);
}

View File

@ -0,0 +1,3 @@
normalized data:
31