RandomTransmitter Satellite#
Name |
RandomTransmitter |
|---|---|
Description |
A satellite that transmits random data |
Category |
Developer Tools |
Language |
C++ |
Description#
This satellite creates random data and sends it out as fast as possible, allowing to test the network performance. Random data can either be generated continuously during the run or once at the beginning of the run, which is faster.
When data sending is limited because the framework or the receiver cannot handle the data rate, the transmitter will sleep
for 1ms. The duty cycle resulting from this is tracked in the DUTY_CYCLE metric.
Building#
The RandomTransmitter satellite has no additional dependencies. The satellite is not build by default, building can be enabled via:
meson configure build -Dsatellite_random_transmitter=true
Parameters#
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Bool |
Use pre-generated data |
|
|
Unsigned 32-bit integer |
Seed for the random engine |
Random |
|
Unsigned integer |
Size of a data block in bytes |
|
|
Unsigned integer |
Number of data blocks per data message |
|
Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Total duty cycle of the run loop |
Integer |
5s |
Framework Parameters#
This satellite interprets the following configuration parameter that are provided through the Constellation framework. Parameters have to be placed in their respective configuration section.
Data Transmission#
The following parameters control the data transmission of this satellite and have to be provided in the _data section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Boolean |
Disable data transmission. This parameter turns off transmission of data to receiver satellites and instead ignores and drops all data records. |
|
|
Unsigned integer |
Timeout in seconds to send the BOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the EOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the data message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Threshold for sending data messages in KiB. The satellite will only send queued data records after the combined payload size of the data records has reached this threshold. |
128 |
|
Unsigned integer |
Size of the queue for the data records. Small values might lead to performance issues, large values lead to larger memory usage. |
32768 |
|
String |
License this data is recorded under. Defaults to the Open Data Commons Attribution License. This information will be added to the run metadata. |
|
Autonomous Operation#
Parameters to control autonomy in the _autonomy section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Role name |
Role this satellite should take in the Constellation. Accepted values are |
|
|
Unsigned integer |
Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value. |
|
Conditional Transitions#
Parameters to control conditional transitions in the _conditions section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
Unsigned integer |
Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning |
|
Framework Metrics#
This satellite provides the following metrics that are defined by the Constellation framework.
Data Transmission#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Amount of bytes transmitted during current run |
Integer |
5s |
|
Number of data blocks transmitted during current run |
Integer |
5s |
|
Number of data records transmitted during current run |
Integer |
5s |
Basic Satellite Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Current run identifier. Updated whenever it changes. |
String |
- |
|
Current satellite state. Updated when changed. |
String |
- |
|
CPU load average over the past 1 minute, provided in percent. |
Float |
10s |
|
Available memory in Megabytes. |
Integer |
10s |