Experimental Configuration
Overview
This section includes experimental configuration fields.
Warning
The features available through the experimental section might be changed or removed in future versions of the SIL Kit.
TimeSynchronization
Experimental:
TimeSynchronization:
AnimationFactor: 1.0
EnableMessageAggregation: Off
Property Name |
Description |
|---|---|
AnimationFactor |
This value affects SIL Kit simulations where a time synchronization service is used. When this value is set, the virtual time is coupled to the local wall clock of the underlying system, scaled down by the given factor. E.g., a value of 1.0 means direct coupling to the wall clock. A value of 2.0 means that the virtual time runs twice as slow as the local wall clock. Accordingly, a value of 0.5 will cause the virtual time to run twice as fast. When omitting the value or setting it to zero, no coupling to the wall clock takes place. Note Depending on the simulation step size, the chosen animation factor and the computational load per simulation step, it might not be possible to couple the virtual time to the wall clock with the desired factor. |
EnableMessageAggregation |
Enable the aggregation of messages in SIL Kit simulations with time synchronization. Valid options are On, Auto and Off. If option Auto is chosen, the aggregation is enabled only for the case of synchronous simulation step handlers. If option On is chosen, the aggregation is enabled for both synchronous and asynchronous simulation step handlers. Note Option Auto can be chosen without any concerns. In the case of option On, however, it is necessary to verify that the transmission of messages within a time step does not depend on incoming messages from other participants. In this case, the time step will not be terminated and the communication will block. |
Metrics for participants
Each participant supports collecting static attributes of a simulation and runtime performance metrics. They are collected and distributed to the configured sinks at the given update interval.
Experimental:
Metrics:
Sinks:
- Name: SomeSink1
Type: Remote
Property Name |
Description |
|---|---|
Sinks |
A list of named metric sinks. They can be of type |
updateInterval |
The time between sending batches of metrics to the registry in seconds. |
Available Metrics
Metric names use / as a hierarchy separator.
Some metrics contain runtime-specific path elements such as the simulation name or the
name of a connected peer participant.
Metric name |
Kind |
Description |
|---|---|---|
|
|
Operating system reported by the participant host. |
|
|
Host name of the participant host. |
|
|
Memory page size reported by the participant host. |
|
|
Number of processors reported by the participant host. |
|
|
Processor architecture reported by the participant host. |
|
|
Total physical memory of the participant host. |
|
|
Path of the running participant executable. |
|
|
User name under which the participant process runs. |
|
|
Participant configuration serialized as JSON. |
|
|
TCP endpoints on which the participant accepts connections. |
|
|
Local domain socket endpoints on which the participant accepts connections. |
|
|
Local endpoint addresses used for the connection to the peer participant. |
|
|
Remote endpoint addresses used for the connection to the peer participant. |
|
|
Total number of transmitted bytes for the peer connection. |
|
|
Total number of transmitted packets for the peer connection. |
|
|
Statistics over transmitted payload sizes, labeled in bytes per second. |
|
|
Total number of received bytes for the peer connection. |
|
|
Total number of received packets for the peer connection. |
|
|
Statistics over the transmit queue size for the peer connection. |
|
|
Statistics over received payload sizes, labeled in bytes per second. |
|
|
Number of completed simulation steps. |
|
|
Statistics over simulation step handler execution time in seconds. |
|
|
Statistics over asynchronous simulation step completion time in seconds. |
|
|
Statistics over waiting time between simulation steps in seconds. |
Metric Value Encoding
The metric kind determines the format of the metric value:
Kind |
Value format |
|---|---|
|
A single integer value. |
|
A JSON array |
|
A JSON array of strings. |
|
A string value. |
Example JSON Output
The JsonFile sink writes one JSON object per line.
Each object contains the timestamp in nanoseconds (ts), the participant name (pn),
the metric name (mn), the metric kind (mk), and the metric value (mv).
{"ts":1716200000000000000,"pn":"Participant1","mn":"SimStepCount","mk":"COUNTER","mv":42}
{"ts":1716200000000100000,"pn":"Participant1","mn":"SimStep/execution_duration/[s]","mk":"STATISTIC","mv":[0.0017,0.0004,0.0012,0.0025]}
{"ts":1716200000000200000,"pn":"Participant1","mn":"Peer/Sim1/Participant2/tx_bytes/[bytes]","mk":"COUNTER","mv":32768}
{"ts":1716200000000300000,"pn":"Participant1","mn":"Peer/Sim1/Participant2/RemoteEndpoint","mk":"STRING_LIST","mv":["tcp://10.0.0.2:8500"]}
The exact set of emitted metrics depends on which SIL Kit services are used and which peer connections are established during the simulation run.
Metrics for the registry
The registry configuration supports collecting metrics from remote participants and forwarding the collected data to the SIL Kit Dashboard for further analysis and visualization. Refer to the documentation of the SIL Kit Dashboard for further instructions.
Experimental:
Metrics:
CollectFromRemote: true
Property Name |
Description |
|---|---|
CollectFromRemote |
Collect metrics from all connected participants. Defaults to |