The end of life (EOL) date for this module is on 31 July, 2019.

Combo Plug-in - Technical Reference

Introduction

Geneos UNIVERSAL COMBO Plug-in can be used to combine multiple source views. Source views can come from the same or different plug-ins. The source views are combined using a specified column as a link key. Both source views should contain the same data in this column. One source view is nominated as the primary view, the other views are called the secondary views. The combo view produced by the plug-in will be based on the primary view with additional columns provided by the secondary views.

In default mode the secondary views will be combined one at a time to the primary view and columns will be duplicated (but renamed to avoid problems with the gateway) if they appear more than once in the secondary views. If running in joinSecondaryView mode, all the secondary views will be stacked vertically together before finally linking against the primary view.

When the plug-in attempts to create its primary view and secondary views, it searches through all the samplers attached to the same managed entity as itself first. If it is successful then these are used. If it is not successful, the plug-in then searches through all the remaining samplers on its netprobe for suitable dataviews. The order in which this second search is conducted is indeterminate.

Views (for a single view)

View

The following example illustrates how a combo view can be set up by combining two views: Any number of views may be combined to produce a Combo view.

combo2

Source View 1 (nominated as primary view in the sampler descriptor)

combo3

Source View 2 (secondary view in the sampler descriptor)

combo4

Combo view created by combining the two source views above, using Pid as the key column in the primary view and linking with the first column in the secondary view.

Table Legend

Name Description
<user defined> Specified by the result of the views being joined

Plug-in Configuration

[The introduction to the plug-in configuration, including any simple examples - as needed ]

The following parameters can be configured for this plug-in:

primaryView

Name of the primary view.

Mandatory: Yes
Default: [Value]

secondaryViews

This section contains configuration related to the secondaryView.

Mandatory: Yes

secondaryViews > secondaryView

This section contains configuration related to the name, primaryLinkColumn and secondaryLinkColumn.

Mandatory: Yes

secondaryViews > secondaryView > name

Name of the secondary view

Mandatory: Yes

secondaryViews > secondaryView > primaryLinkColumn

The column name in the primary view to link with e.g. PID

Mandatory: No
Default: No value (for use with joinSecondaryViews)

secondaryViews > secondaryView > secondaryLinkColumn

The column name in the secondary view that matches the column in the primary view e.g. MACHINE-PID. This will match e.g. the column named PID in the primary view with the column name MACHINE-PID in the secondary view.

Mandatory: No
Default: primaryLinkColumn value

secondaryViews > secondaryView > columnAliases

Allows for columns in this secondary view to have a different name in the resulting combo view. An example use is to avoid duplicates in situations such as the primary and secondary having the same column.

It is not possible to alias the secondaryLinkColumn. In this case the alias will be ignored.

Mandatory: No

secondaryViews > secondaryView > columnAliases > columnAlias > secondaryColumnName

The name of the column in the secondary view which will be aliased in the resulting combo view.

It is not possible to alias the secondaryLinkColumn. In this case the alias will be ignored.

Mandatory: Yes

secondaryViews > secondaryView > columnAliases > columnAlias > outputColumnName

The name of the alias that will be used for this column in the resulting combo view.

Mandatory: Yes

joinMethod

The algorithm that will be used when joining the views together. The default is createRowForFirstMatch.

Mandatory: Yes

joinMethod > createRowForFirstMatch

Joins the views by creating a row in the output for the first row in the secondary that matches a row in the primary.

For example (assuming joining on column A for simplicity):

Primary

A B C
1 2 3
4 5 6
7 8 9

Secondary

A E F
1 11 12
1 13 14
7 15 16

Result

A B C E F
1 2 3 11 12
7 8 9 15 16

joinMethod > createRowForFirstMatch > stackSecondaryViews

Using this parameter changes the way the views are merged when three or more views are combined. If set the secondary views are joined together to form an intermediate view (which is not displayed) before this is merged into the primary view. This mode works well when two or more views with similar column names are to be linked to a single primary.

Note: When running in this mode, the primary and secondary link columns are taken from the first Secondary View to be configured.

e.g.

Primary View

A B C D
A1 B2 C1 D1
A2 B3 C2 D2
A3 B4 C3 D3
A4 B5 C4 D4
A5 B6 C5 D5
A6 B7 C6 D6
A7 B8 C7 D7
A8 B9 C8 D8

SecondaryView1

D E F G
D1 E1 F1 G1
D3 E3 F3 G3
D5 E5 F5 G5
D7 E7 F7 G7

SecondaryView2

D E F G
D2 E2 F2 G2
D4 E4 F4 G4
D6 E6 F6 G6
D8 E8 F8 G8

Combo Output (LinkColumn D)

A B C D E F G
A1 B2 C1 D1 E1 F1 G1
A2 B3 C2 D2 E2 F2 G2
A3 B4 C3 D3 E3 F3 G3
A4 B5 C4 D4 E4 F4 G4
A5 B6 C5 D5 E5 F5 G5
A6 B7 C6 D6 E6 F6 G6
A7 B8 C7 D7 E7 F7 G7
A8 B9 C8 D8 E8 F8 G8

Mandatory: No
Default: False

joinMethod > createRowForEachMatch

Joins the views by performing a Left Outer Join. This creates a row in the output for each row in the secondary that matches a row in the primary, as well as including any rows from the primary that do not have a match in the secondary.

This will almost certainly lead to duplicate rows in the output. It is recommended to use the First Column feature in the Advanced > Dataviews section of the Sampler configuration to define a unique first column whenever this setting is enabled.

For example (assume joining on column A for simplicity):

Primary

A B C
1 2 3
4 5 6
7 8 9
25 89 43

Secondary

A E F
1 11 12
1 13 14
7 15 16

Result

A B C E F
1 2 3 11 12
1 2 3 13 14
7 8 9 15 16
25 89 43

Note: Enabling this setting automatically performs the stackSecondaryViews behaviour of the other join methods. This stops the algorithm producing excessive numbers of rows.

joinMethod > createRowForFirstMatch > stackSecondaryViews

Using this parameter changes the way the views are merged when three or more views are combined. If set the secondary views are joined together to form an intermediate view (which is not displayed) before this is merged into the primary view. This mode works well when two or more views with similar column names are to be linked to a single primary.

Note: When running in this mode, the primary and secondary link columns are taken from the first Secondary View to be configured.

See the example in joinMethod > createRowForEachMatch.

Mandatory: No
Default: False

joinMethod > alwaysMatch

Joins the views by placing them next to each other horizontally. In this case, the primaryLinkColumn and secondaryLinkColumn are ignored.

For example:

Primary

A B C
1 2 3
4 5 6
7 8 9

Secondary

D E F
1 11 12
1 13 14
7 15 16

Result

A B C D E F
1 2 3 1 11 12
4 5 6 1 13 14
7 8 9 7 15 16

alwaysMatch

This setting is deprecated. Use joinMethod > alwaysMatch instead.

Links the primary view with secondary view via the row id. This setting will ignore the primaryLinkColumn and the secondaryLinkColumn.

e.g.

Primary view:
a b c
e f g
Secondary view:
x y z
p q r
Resulting Combo view:
a b c x y z
e f g p q r
Mandatory: No
Default: False

joinSecondaryViews

This setting is deprecated. Use the stackSecondaryViews settings under the joinMethod options instead.

Using this parameter changes the way the views are merged when three or more views are combined. If set the secondary views are joined together to form an intermediate view (which is not displayed) before this is merged into the primary view. This mode works well when two or more views with similar column names are to be linked to a single primary.

Note: When running in this mode, the primary and secondary link columns are taken from the first Secondary View to be configured.

e.g.

Primary View

A B C D
A1 B2 C1 D1
A2 B3 C2 D2
A3 B4 C3 D3
A4 B5 C4 D4
A5 B6 C5 D5
A6 B7 C6 D6
A7 B8 C7 D7
A8 B9 C8 D8

SecondaryView1

D E F G
D1 E1 F1 G1
D3 E3 F3 G3
D5 E5 F5 G5
D7 E7 F7 G7

SecondaryView2

D E F G
D2 E2 F2 G2
D4 E4 F4 G4
D6 E6 F6 G6
D8 E8 F8 G8

Combo Output (LinkColumn D)

A B C D E F G
A1 B2 C1 D1 E1 F1 G1
A2 B3 C2 D2 E2 F2 G2
A3 B4 C3 D3 E3 F3 G3
A4 B5 C4 D4 E4 F4 G4
A5 B6 C5 D5 E5 F5 G5
A6 B7 C6 D6 E6 F6 G6
A7 B8 C7 D7 E7 F7 G7
A8 B9 C8 D8 E8 F8 G8

Mandatory: No
Default: False