svn commit: r323735 - in stable/10/cddl: contrib/opensolaris/cmd/dtrace/test/tst/common/aggs usr.sbin/dtrace/tests/common/aggs

Andriy Gapon avg at FreeBSD.org
Tue Sep 19 07:31:55 UTC 2017


Author: avg
Date: Tue Sep 19 07:31:53 2017
New Revision: 323735
URL: https://svnweb.freebsd.org/changeset/base/323735

Log:
  MFC r319746,r319747,r319769: 8269 dtrace stddev aggregation is normalized incorrectly
  
  illumos/illumos-gate at 79809f9cf402f130667349b2d4007ecd65d63c6f
  https://github.com/illumos/illumos-gate/commit/79809f9cf402f130667349b2d4007ecd65d63c6f
  
  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.
  
  FreeBSD note: the actual change was committed in r316853, this commit
  adds the test files and record merge information.
  
  Reviewed by: Bryan Cantrill <bryan at joyent.com>
  Approved by: Robert Mustacchi <rm at joyent.com>
  Author: Andriy Gapon <avg at FreeBSD.org>
  
  Sponsored by:	Panzura

Added:
  stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d
     - copied unchanged from r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d
  stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out
     - copied unchanged from r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out
Modified:
  stable/10/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile
Directory Properties:
  stable/10/   (props changed)

Copied: stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d (from r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d	Tue Sep 19 07:31:53 2017	(r323735, copy of r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d)
@@ -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);
+}

Copied: stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out (from r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/10/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out	Tue Sep 19 07:31:53 2017	(r323735, copy of r319746, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out)
@@ -0,0 +1,3 @@
+normalized data:
+
+               31

Modified: stable/10/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile
==============================================================================
--- stable/10/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile	Tue Sep 19 07:31:21 2017	(r323734)
+++ stable/10/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile	Tue Sep 19 07:31:53 2017	(r323735)
@@ -167,6 +167,8 @@ TESTFILES= \
      tst.sizedkeys.d.out  \
      tst.stddev.d  \
      tst.stddev.d.out  \
+     tst.stddev.normalize.d  \
+     tst.stddev.normalize.d.out  \
      tst.subr.d  \
      tst.sum.d  \
      tst.sum.d.out  \


More information about the svn-src-all mailing list