Use the following instructions to set Advanced Seed Data options for any custom property that uses seed data in a track, clip, container, message, or action. These options appear in the Custom Properties form whenever a Custom Property using either Seed Data: Repository or Seed Data: URL has been set. This topic presumes that such a Custom Property has already been defined using one of these settings.
Refer to Creating and Editing Seed Data to setup a Seed Data: Repository object.
Use the Property value is tied to the virtual user setting with a subordinate setting, New value per virtual user iteration to pair a given virtual user to a distinct slice of data.
TIP: In Cloud Test, an instance of a Track is generally used to represent a “virtual user”. Parallel repeat renewal of the Track is generally used to represent “iterations” of a virtual user.
- Property value is tied to the virtual user
When checked, all Custom Properties within the same virtual user that reference the same seed data source will get the same single seed data value.
- New value per virtual user iteration
When checked, then each iteration of the virtual user will get a new value. In the example above, the two Custom Properties in the two Messages will get the same value within each iteration of the virtual user, but each iteration will have a different value.
If there are multiple references to the same seed data source from different Custom Properties within the same virtual user, each such Custom Property will get a different value from the seed data.
For example, if Custom Properties defined in two different Messages in the same Clip both refer to the same seed data source, each will get its own value from the seed data.
The Allocation section mixes Server Allocation settings with the Maximum rows per server and Use a subset of the seed data settings to arrive at a powerful way to slice data.
The “Server allocation” drop-down controls how the data is divided among the servers in a multi-server Composition.
Separate slices of the seed data will be sent to each server
Choose this to divide the data evenly among all of the servers, and send a unique slice of the data to each server.
To cause every instance of a property to get a random value, then set “Server allocation” to “Separate slices of the seed data will be sent to each server” in order to cause different sets (slices) of the data to be sent to each server. Each server then selects randomly from within its slice.
For example, for a Composition that plays on 5 servers with the option Separate slices of the seed data will be sent to each server, if the “Maximum rows per server” is specified as 1,000, then if there are at least 5,000 rows in the source then 1,000 rows of seed data will be distributed to each server. However, if the source only contains 600 rows, then only 120 rows would be distributed to each server (600/5). If there are not enough rows of seed data to distribute at least one row to each server, the load will fail.
The same single slice of seed data will be sent to all servers” is
Choose this to single slice data that is then sent to all servers, and each server will be using the same seed data.
For example, with this setting all 5 servers would share the same single set of seed data (either 5,000 or 600 rows in the above examples).
To cause every server to randomly select from the entire set of data, when it is not required that every value be used exactly once across all servers, then set “Server allocation” to “The same single slice of seed data will be sent to all servers” to cause the entire set of data to be sent to all servers. All of the servers will then be randomly selecting from the entire range of values.
This section brings together row and column settings that replace the former row count and column count settings.
Row count is expressed as an integer, while Column use is specified either as All or First x.
- The Row count setting specifies the number of rows of seed data to distribute to each individual instance of the Custom Property.
If the value is greater than one, then the Custom Property’s value will be an array value, one entry in the array for each row.
Note: If both “Column count” and “Row count” are greater than one, then the property value will be either a two-dimensional array, where the first index is the row and the second index is the column (if “Array” was chosen), or an array of structs (if “Struct” was chosen).
The “Row traversal type” setting specifies how each server will traverse its slice of the seed data.
The server traverses through it’s set of data sequentially. The “EOF Action” setting applies and indicates what to do if the end of the server’s set of data is reached.
- Random with replacement
Whenever a new value is needed to fill in a new property value, one is chosen randomly from the server’s set of data. The “EOF Action” setting does not apply, since each selection is just made randomly from the entire set of data for that server, and therefore the server can never “run out” of values.
- Random without replacement
Whenever a new value is needed, one is chosen at random and marked as used. Thus a unique value is chosen each time from the server’s set of data. Since in this case the server can run out of data, the “EOF Action” setting applies.
- the EOF Actions specifies what to do if any server reaches the end of it¢s slice of seed data during play of the Composition. Since data is consumed “on demand” rather than statically, Maestro is able to detect the end of data and provide optional actions to take. End of data actions are defined via the custom properties tab Advanced section at whichever level is in use.
The possible EOF actions for the given custom property are:
- Wrap – The server will start over at the beginning of its slice of seed data.
- Null – The values of the Custom Properties will be set to nulls. If according to the settings the property value is to be an array, it will be set to an array of nulls of the appropriate dimension and size.
- Error – The item containing the Custom Property will fail. Error handling will proceed according to the regular "Failure action" settings of the item, it¢s parents, and the Composition.
- Stop Track and Drain – The current instance of the item¢s parent Track on the current server (and everything in it) is stopped. No new repeats or parallel repeat renewals will occur for that Track on this server. Other instances of the Track on this server that already exist will continue to their normal end, but no new instances will be started on this server. In other words, if using the recommended approach of having each Track represent a "Virtual User", and if using "Parallel Repeat Renewal" to cause each Virtual User to be automatically replaced when it ends, then this setting will cause no new Virtual Users to be created on this server when its seed data runs out.
- Stop Composition – The entire Composition (on all servers) will be stopped immediately (as if the "Stop" button had been pressed).
If multiple Custom Properties refer to the same seed data source, each such reference can have it's own EOF Action, they do not all need to be the same.
The “Column count” setting specifies the number of columns to retrieve from the seed data. If the setting is one, the property is set to a single value. If the setting is greater than one, the property value type depends upon the option chosen for the “Row representation” setting.
- If “Array” is chosen the property is set to an array value, with one array member for each column in the seed data. If there are fewer columns in the seed data than specified in “Column count”, then the extra values in the array are set to null. The array will always be the size specified by “Column count”.
- If “Struct” is chosen, the property is set to a struct value, with one member for each column in the seed data. The “Struct” option can only be used when accessing seed data via URL and the “Column names are in the first row” option is chosen, or when a Repository seed data object is being used.
Note that Struct is available with Seed Data: URL only when the Column names are in the first row box is also checked.