Release Notes December 15, 2023#

Customizing Alert Messages for Monitors#

You can select from a list of Variables to add to your message and customize the text.

Customizing the Shared Action Message

Figure 1 - Customizing the Shared Action Message

To add custom variables, use the following steps:

  1. In the Set message section, select sample data from the Use variables from list.

  2. From the Variables list, you can search for variables or use example variables.

  3. Locate your desired variable, and click the Notepad icon to copy the text to your Clipboard.

  4. Paste the variable in the desired location.

  5. Click Preview to verify the location of the variable.

For more information about customizing Alert messages, see Customizing Alert Messages.

Live Mode Updates#

The Live Mode feature now uses an updated icon for better visibility on the user interface.

New Live Mode Icon

Figure 2 - New Live Mode Icon

Stop Live Mode Icon

Figure 3 - Stop Live Mode Icon

OPAL Language Updates#

uniform#

Description#

Generates a uniformly distributed pseudo-random number in the inclusive range [min, max].

Return type#

numeric

Domain#

This is a scalar function that calculates a single output value for a single input row.

Categories#

  • Numeric

Usage#

uniform( min, max )

Argument

Type

Required

Multiple

Constant

min

numeric

Required

Only one

Constant

max

numeric

Required

Only one

Constant

Examples#

``text make_col uniform_kind:uniform(1, 20)


Generates a uniformly distributed pseudo-random number in the inclusive range [1, 20].

### `zipf`

#### Description

Returns a Zipf-distributed integer for N elements and characteristic exponents.

The computational cost of choosing a single random number is logarithmic in the argument `N`. More importantly, the memory cost is linear for `N`. Because of this, the argument `N` must be in the inclusive range [1, 16777215].

#### Return type

int64

#### Domain

This is a scalar function that calculates a single output value for a single input row.

#### Categories

  * [Numeric](../numeric-functions.md)


#### Usage

```text
zipf( s, n )

Argument

Type

Required

Multiple

Constant

s

int64

Required

Only one

Constant

n

int64

Required

Only one

Constant

Examples#

make_col zipf_kind:zipf(1, 20)

Generates a Zipf-distributed pseudo-random integer for N=20 elements and the characteristic exponent s = 1. The arguments (s and N) must be constants.

array_union_agg#

Description#

Returns an array that contains the multiset union of input arrays.

array_union_agg is an aggregate function that combines input arrays into a single output array. The output array is the multiset union of the input arrays. The multiset union differs from the standard set union in that it allows duplicates: If any of the input arrays contain duplicates, the output array will also contain duplicates. The number of times an element appears in the output array equals the maximum number of times it appears in individual input arrays.

This function ignores NULL values for input arrays inside the column as well as NULL values inside input arrays. If the column contains only NULL values or there are no rows, the function returns an empty array. The ordering of output arrays is nondeterministic.

Return type#

array

Domain#

This is an aggregate function (aggregates rows over a group in aggregate verbs.)

This is a window function (calculates over a group of multiple input rows using windowing.)

Categories#

  • Aggregate

  • Semistructured

  • Window

Usage#

array_union_agg( arr )

Argument

Type

Required

Multiple

Constant

arr

array

Required

Only one

Variable

Examples#

statsby aua:array_union_agg(arr), group_by(X)

Assume that you have the following schema and log rows:

year

X

arr

1991

a

[ 0, 0, 1, 2]

1992

b

[ 0, 0, 1, 2, 3]

1993

c

NULL

1994

a

[ 0, 4]

1995

b

[ 0, 0, 0, NULL]

Calculate the multiset union on arr grouping on X:

X

aua

a

[ 0, 0, 1, 2, 4]

b

[ 0, 0, 0, 1, 2, 3]

c

[]

In this example, the output array associated with X value a contains values 0, 1, 2, 4. This is because these values appear in the input arrays in the a group (years 1991 and 1994). Value 0 appears twice because it appears twice in at least one input array from the a group (year 1994). Similarly, 0 appears three times in the output array for the b group as it appears a maximal 3 times in the input arrays for b group (year 1995). As the only input array for c group is a NULL array, the output array for c group is an empty array. Furthermore, the NULL value inside the row from year 1995 is ignored and does not appear in the output array for b group.

Note that ordering within the output arrays is not guaranteed through multiset semantics. However, it is possible to achieve sorted arrays in the output by composing with array_sort:

statsby aua:array_sort(array_union_agg(arr)), group_by(X)