EOL
Effective 31 July 2019, Combo reached end of life. This documentation is archived and will no longer be updated.
Combo
Introduction Copied
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) Copied
View Copied
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.
Source View 1 (nominated as primary view in the sampler descriptor)
Source View 2 (secondary view in the sampler descriptor)
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 Copied
The following parameters can be configured for this plug-in:
primaryView Copied
Name of the primary view.
Mandatory: Yes
Default: [Value]
secondaryViews Copied
This section contains configuration related to the secondaryView.
Mandatory: Yes
secondaryViews > secondaryView Copied
This section contains configuration related to the name, primaryLinkColumn and secondaryLinkColumn.
Mandatory: Yes
secondaryViews > secondaryView > name Copied
Name of the secondary view
Mandatory: Yes
secondaryViews > secondaryView > primaryLinkColumn Copied
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 Copied
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 Copied
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 Copied
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 Copied
The name of the alias that will be used for this column in the resulting combo view.
Mandatory: Yes
joinMethod Copied
The algorithm that will be used when joining the views together. The default is createRowForFirstMatch.
Mandatory: Yes
joinMethod > createRowForFirstMatch Copied
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 Copied
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.
Example:
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 Copied
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 Copied
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 Copied
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 Copied
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.
Example:
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 Copied
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.
Example:
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