This repository contains the TAP plugins generated for the 5Genesis project. The repository contains a Main plugin that is used to package all independent plugins into a single one.
The Main plugin should not contain any code: Define other pugins to provide new functionality, and add references to this plugin to the Main one.
The packaged plugins can only depend on the standard TAP plugins, or on other 5Genesis TAP plugins.
- OpenTAP (Tested on TAP 9.4)
- Visual Studio 2015 or 2017 (For development)
In order to create a new TAP plugin and package it under the Main plugin:
- Create a new TAP plugin project as usual.
- Copy the
File
element from thepackage.xml
file of the new project into thepackage.xml
file of the Main project. - Add the new project as a dependency of the Main project.
- Delete the
package.xml
file of the new project. - Open the
.csproj
file of the new project, and delete theUsingTask
andTarget
elements at the bottom.
All new files to package must be included in the package.xml
file of the Main project.
Provides a new result listener that is able to send all generated TAP results to an InfluxDB instance.
All columns from the original results are sent as fields
, while some information about the host machine and TAP instance are sent as tags
.
The result listener is also able to send the generated TAP logs to InfluxDB, with a format compatible with Chronograf's log viewer.
It's also compatible with extra metadata (ExecutionId
and _iteration_
).
The result listener expects to find a column named Timestamp
(case ignored) in order to know the timestamp that corresponds to each row.
The format of this column can be the number of seconds since the Epoch as a floating point value, or the number of milliseconds as an integer.
If necessary, it's possible to define custom timestamp parsers for selected results by filling the Datetime overrides
table (in the result listener settings).
The result listener will then look for matching column names in the results and parse them using the defined format strings.
Important: In this case the result listener assumes that the time is written in the local timezone instead of UTC.
- InfluxDb (Tested on version 1.7.6)
Provides instruments and steps for controlling the iPerf and Ping Agents installed on a remote machine.
- iPerfAgent version 1.0.2
- pingAgent version 1.0.1
- Provides helper functionality for other plugins.
- Multi-CSV result listener: This result-listener will create a separate CSV file for each of the generated result kinds, instead of a single, monolithic file as on the original TAP CSV result listener.
It's also compatible with extra metadata (
ExecutionId
and_iteration_
).
Provides instruments and steps for handling a MONROE instance. Includes steps for deploying (and starting), stopping and retrieving results from experiments. Results will be published as TAP results.
The current result parser is only prepared for working with
monroe/ping
experiments.
Provides an instrument and a step for retrieving results from a Prometheus instance. The step can be configured for performing any query using PromQL, and time range can be specified either as an absolute start/end or relative to the current time.
Provides functionality for sending commands through SSH and transferring files/folders from the remote machine using SCP. Usage samples can be found at (TAPPath)/5Genesis/Samples/SSH_Sample.TapPlan
.
Specific functionality for the year 1 review demo(s). Not expected to be used in general, logic included will probably be moved to other plugins and further refined in the future.
- Bruno Garcia Garcia
TBD