Plugin name | Class | Description |
Chrono | org.ow2.isac.plugin.chrono.SessionObject | This plug-in makes it possible to measure the duration of a behavior segment and get a pseudo-sample event with this duration value. Once the chronograph is started by the appropriate control, the current duration value can be recorded by the split sample, and can be used as variable ${my_chrono:}. |
CommandLineInjector | org.ow2.isac.plugin.commandline.SessionObject | This plug-in supports execution of command lines, specific to your Operating System (e.g. cmd.exe for Windows, /bin/sh for Unix-like systems).
Once a command has been executed, 3 variables are available to get its results:
* stdout contains the command printed output
* stderr contains the comman error output
* retcode contains the integer return code of the command |
Common | org.ow2.isac.plugin.common.SessionObject | Provides constants TRUE and FALSE to be used as conditions, as well as miscellaneous features: printing, alarm, logging and Java system property setting.
Also provides a "date_ms" variable that gives the current date as the number of milliseconds elapsed since 1st January 1970 GMT (syntax: ${common_plugin_id:date_ms}). |
ConstantTimer | org.ow2.isac.plugin.constanttimer.SessionObject | Provides a fixed duration timer, either to get a constant think time (see sleep timer),
or to get a fixed (minimum) time for a behavior sub-section (see period_begin/period_end timers).
Also supports a basic timeout feature through conditions to check if some execution time has elapsed
for a delimited behavior sub-section.
All durations are in milliseconds. |
Context | org.ow2.isac.plugin.context.SessionObject | Defines arbitrary constants or variables with initial values. These variables may be loaded from a Java-style property file or manually entered. Any of these variables may be used in any plug-in parameter by referencing the variable through the following expression: ${this context plug-in identifier:variable's name}. Example: ${fooplugin:barvar} |
Counter | org.ow2.isac.plugin.counter.SessionObject | Provides an integer counter, with associated primitives for changing and testing its value.
Each virtual user may manage its own counter instance, or share a single counter, which
can be useful to handle unique identifiers for example. Since the counter value is held
by an arbitrary-precision integer, it has no limit value.
The counter value can be obtained through the variable expression ${counter_id:},
or with a format specification ${counter_id:n} where n is the size of the resulting
string (white spaces are added at the head of the string to reach the specified number
of characters). Examples: ${counter_id:8} will be substituted by the string " 1234567" if
the counter value is 1234567, or "123456789" if the value is 123456789 (no truncation).
It is also possible to perform atomic "get-and-set" operations, through variable expressions
${counter_id:++} and ${counter_id:--}. These variables are replaced by the current counter
value, and the counter value is incremented (respectively decremented) in an atomic manner
(i.e. when the counter is shared, no other vUser can concurrently get or change the counter
value). This is just a convenience for an unshared counter, while it is a necessary construct
for managing unique identifiers through all vUsers sharing a counter. |
CsvProvider | org.ow2.isac.plugin.csvprovider.SessionObject | Provides a data set whose data are read from a CSV (comma-separated values) file.
Call the "next" control to get next line from the file, or "skip" to get the nth next line. When automatic looping is not unabled,
call the "reset" control to go back to the first line.
For each line, fields/values are available through variables:
- either with array-like notation [0], [1] etc. (e.g. ${plugin_id:[0]})
- or with chosen names when defined in plug-in import parameters (e.g. {plugin_id:phone_field})
The number of lines is available through variable named # (e.g. ${pluginId:#})
Parameters are:
- filename (required): the full path to the CSV file.
- separator (optional): the separator character. The default separator is the comma (',').
- fields (optional): alternate names for the variables, separated by the defined separator.
- macintosh_line_separator: use CR instead of LF as line separator.
- shared: when set, progression in the lines is shared by all session objects. In other words,
each session object will get a different line instead of all getting the same sequence of lines.
- loop: when set, the line sequence wraps up to the first line when the end of file has been
reached. Otherwise, an alarm is thrown when trying to get a field value while the end of file
has been reached, and the empty string is used as value. |
DnsInjector | org.ow2.isac.plugin.dnsinjector.SessionObject | This plugin sends UDP-based type A DNS queries to the specified server,
randomly using all local IPv4 addresses for clients. Names for queries are
are generated by appending the given prefix, a random number representing
addresses in the specified address range (on 3, 6, 9 or 12 digits without
dots), and the specified suffix. |
FileReader | org.ow2.isac.plugin.filereader.SessionObject | Reads the full content of a file. Then, this content can then be accessed through a variable expression ${myfilereaderId:}. |
FtpInjector | org.ow2.isac.plugin.ftpinjector.SessionObject | Load injector for FTP servers. Use connect first before performing any other command. Provided variables: ${plugin-id:reply code} gives the reply code of the last command, ${plugin-id:replay string} gives the full reply message. |
HttpInjector | org.ow2.isac.plugin.httpinjector.SessionObject | Config of the general options of the Http Injector |
ImapInjector | org.objectweb.isac.plugin.imapinjector.SessionObject | This plugin is used for testing an IMAP mail server. It provides methods to connect, login, select mailboxes(folders), search messages, retrieve messages, copy messages from one mailbox(folder) to another, and logout. |
IpProvider | org.ow2.isac.plugin.ipprovider.SessionObject | Provides locally available IP addresses, either in a round-robin or in a random way, accordlingly to the chosen policy.
Delivered addresses may or may not be unique among virtual users, accordingly to the "unique" switch.
IP addresses may be restricted to one or several subnetworks through the optional setting of filters.
The obtained IP address is available through an empty variable notation ${ipprovider-id:}. |
JdbcInjector | org.ow2.isac.plugin.jdbcinjector.SessionObject | Provides a JDBC interface to query a RDBMS. Caution: unlike common ISAC plug-ins, all response times are measured as MICROSECONDS! |
JmsInjector | org.ow2.isac.plugin.jmsinjector.SessionObject | This plugin allows to inject charge in Joram cluster queues. It provides some methods which allow to start consumer and producer clients |
LdapInjector | org.ow2.isac.plugin.ldapinjector.SessionObject | This plugin allows to test a ldap directory. It provides some methods which allow to connect, "SSL connect", disconnect, search, add entries, delete entries, add attributes, delete attributes.
To use this plugin you have to inform those mandatory parameters :
- The ldap host name
- The ldap distinguished name
- The ldap password
- The ldap version |
Random | org.ow2.isac.plugin.random.SessionObject | Provides random timers, data and dummy samples whose duration follows
a given probability distribution.
Five distribution laws are available:
- Dirac distribution (not actually random: constant value),
- uniform distribution,
- Poisson distribution,
- gaussian distribution,
- negative exponential distribution.
Use control primitives to set the distribution law and parameters to be used.
Then, random sleeps (think times) and dummy actions with random response time can be invoked.
Moreover, random integer values are available by getting the 'int' variable
(through expression ${...:int}), and random strings of random size (according to the
distribution law settings) are available through the 'string' variable
(through expression ${...:string}). |
RtpInjector | org.ow2.isac.plugin.rtpinjector.SessionObject | RtpInjector is a plug-in for CLIF. It allows you to send and receive RTP and RTCP packets to test an equipment or a software.
This plug-in doesn't control yours parameters, so it is important to know how RTP works before using it.
To add multiples vUsers, you have to use Counter plug-in or CsvProvider plug-in because it can have only one user per port.
Fields with (*) are mandatory.
Fields with (-) are automatically generated if they are empty, because they are mandatory.
In this version, it permits to send request based on RFC 3550 and RFC 4733.
Version: 1.0 |
SipInjector | org.ow2.isac.plugin.sipinjector.SessionObject | SipInjector is a plug-in for CLIF. It allows you to send and receive SIP packets to test an equipment or a software.
This plug-in doesn't control yours parameters, so it is important to know how SIP works before using it.
To add multiples vUsers, you have to use Counter plug-in or CsvProvider plug-in because there can have only one user per port.
Fields with (*) are mandatory.
Fields with (-) are automatically generated if they are empty, because they are mandatory.
Here are the variables you can use in the others injector :
- sip_body : returns the body without change,
- sip_header=header_name : returns the value of the header_name (ex: sip_header=Subject returns the value of the header Subject if it exists),
- sip_message : returns the message (request or response),
- sip_first_line : returns the first line of the message (request line or status line),
- sdp=type_attribute : returns the value of the type_attribute (ex: sdp=session_name returns the value of the name of the session if it exists). SDP is split in 3 type (media, session and time). For each type there is attributes. Actually SipInjector only handles following attributes :
- session_name,
- session_origin,
- session_version,
- session_information,
- session_email_numberoftheemail (numberoftheemail is the value of the email you want to return, ex: session_email_0 return the first email of the list),
- session_uri,
- session_phone_numberofthephone (see session_email_numberoftheemail),
- session_key,
- session_connection,
- time_start,
- time_stop,
- media_port,
- media_protocol,
- media_type,
- media_format_numberoftheformat (see session_email_numberoftheemail).
In this version, it permits to send basic request based on RFC 3261, 3265, 3428 and 4566.
Version: 1.0 |
SocketInjector | org.ow2.isac.plugin.socketinjector.SessionObject | Manages a socket connection, for both reading and writing. Data read from the socket may be retrieved through variables whose names are chosen for each issued read. |
StringHandler | org.ow2.isac.plugin.stringhandler.SessionObject | Provides a collection of primitives for generating, modifying and extracting Strings.
This plug-in provides the following data:
- ${handler_id:} gives the current string's value
- ${handler_id:#} gives the current string's length |
Synchro | org.ow2.isac.plugin.synchro.SessionObject | Synchronization plug-in, for all virtual users of all behaviors for all deployed scenarios in the local CLIF server. Principle: named one-shot locks with wait/notify primitives. The status of a lock may also be tested.
Some variables are also available: ${synchroId:} gives the list of released locks, ${synchroId:lock_name} gives lock_name if it has been released, or empty string otherwise. |
UdpInjector | org.ow2.isac.plugin.udpinjector.SessionObject | Traffic injector for UDP protocol |