[DTrace-devel] [PATCH 1/4] Implement normalize() and denormalize()

Kris Van Hees kris.van.hees at oracle.com
Thu Jan 14 08:37:53 PST 2021


Please disregard - something went wrong with this patch.  Corrected one is
one its way.

On Thu, Jan 14, 2021 at 11:29:22AM -0500, Kris Van Hees wrote:
> The implementation follows the legacy implementation.  One adjustment
> that was needed is to retrieve the aggregation data snapshot from
> dt_normalize() to ensure that we have the latest data to work on.  This
> is needed due to the on-demand data retrieval that the new aggregation
> implementation uses.
> 
> Tests are simplified to specifically test the functionality they are
> intended for, and some tests are added to cover gaps in the testing of
> normalize() and denormalize().
> 
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
>  .../aggs/err.D_NORMALIZE_AGGARG.bad.d         | 43 -------------------
>  .../unittest/aggs/err.D_NORMALIZE_PROTO.bad.d | 42 ------------------
>  .../aggs/err.D_NORMALIZE_SCALAR.bad.d         | 42 ------------------
>  3 files changed, 127 deletions(-)
>  delete mode 100644 test/unittest/aggs/err.D_NORMALIZE_AGGARG.bad.d
>  delete mode 100644 test/unittest/aggs/err.D_NORMALIZE_PROTO.bad.d
>  delete mode 100644 test/unittest/aggs/err.D_NORMALIZE_SCALAR.bad.d
> 
> diff --git a/test/unittest/aggs/err.D_NORMALIZE_AGGARG.bad.d b/test/unittest/aggs/err.D_NORMALIZE_AGGARG.bad.d
> deleted file mode 100644
> index 224bed88..00000000
> --- a/test/unittest/aggs/err.D_NORMALIZE_AGGARG.bad.d
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
> - * Licensed under the Universal Permissive License v 1.0 as shown at
> - * http://oss.oracle.com/licenses/upl.
> - */
> -/* @@xfail: dtv2 */
> -
> -/*
> - * ASSERTION:
> - *	The first argument to normalize() should be an aggregation.
> - *
> - * SECTION: Aggregations/Aggregations
> - *
> - *
> - */
> -
> -
> -#pragma D option quiet
> -#pragma D option aggrate=1ms
> -#pragma D option switchrate=1ms
> -
> -BEGIN
> -{
> -	i = 0;
> -	start = timestamp;
> -}
> -
> -tick-100ms
> -/i < 20/
> -{
> -	@func[i % 5] = sum(i * 100);
> -	i++;
> -}
> -
> -tick-100ms
> -/i == 20/
> -{
> -
> -	printf("normalized data:\n");
> -	normalize(count(), 4);
> -	exit(0);
> -}
> diff --git a/test/unittest/aggs/err.D_NORMALIZE_PROTO.bad.d b/test/unittest/aggs/err.D_NORMALIZE_PROTO.bad.d
> deleted file mode 100644
> index c8dc344e..00000000
> --- a/test/unittest/aggs/err.D_NORMALIZE_PROTO.bad.d
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
> - * Licensed under the Universal Permissive License v 1.0 as shown at
> - * http://oss.oracle.com/licenses/upl.
> - */
> -/* @@xfail: dtv2 */
> -
> -/*
> - * ASSERTION:
> - *	normalize() accepts 2 args - passing fewer is an error.
> - *
> - * SECTION: Aggregations/Aggregations
> - *
> - *
> - */
> -
> -
> -#pragma D option quiet
> -#pragma D option aggrate=1ms
> -#pragma D option switchrate=1ms
> -
> -BEGIN
> -{
> -	i = 0;
> -	start = timestamp;
> -}
> -
> -tick-100ms
> -/i < 20/
> -{
> -	@func[i % 5] = sum(i * 100);
> -	i++;
> -}
> -
> -tick-100ms
> -/i == 20/
> -{
> -	printf("normalized data:\n");
> -	normalize(@func);
> -	exit(0);
> -}
> diff --git a/test/unittest/aggs/err.D_NORMALIZE_SCALAR.bad.d b/test/unittest/aggs/err.D_NORMALIZE_SCALAR.bad.d
> deleted file mode 100644
> index 0e14b77a..00000000
> --- a/test/unittest/aggs/err.D_NORMALIZE_SCALAR.bad.d
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
> - * Licensed under the Universal Permissive License v 1.0 as shown at
> - * http://oss.oracle.com/licenses/upl.
> - */
> -/* @@xfail: dtv2 */
> -
> -/*
> - * ASSERTION:
> - *	The second argument to normalize() should be a scalar.
> - *
> - * SECTION: Aggregations/Aggregations
> - *
> - *
> - */
> -
> -
> -#pragma D option quiet
> -#pragma D option aggrate=1ms
> -#pragma D option switchrate=1ms
> -
> -BEGIN
> -{
> -	i = 0;
> -	start = timestamp;
> -}
> -
> -tick-100ms
> -/i < 20/
> -{
> -	@func[i % 5] = sum(i * 100);
> -	i++;
> -}
> -
> -tick-100ms
> -/i == 20/
> -{
> -	printf("normalized data:\n");
> -	normalize(@func, "hello");
> -	exit(0);
> -}
> -- 
> 2.28.0
> 
> 
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel



More information about the DTrace-devel mailing list