Skip to content

Add Simulation Control to the HTTP API

Summary

Feedback from a simulation is currently only accessible through direct output from the Mark service and in Elasticsearch. In order for warnings and error messages in particular to be visible directly in the frontend or GUI, Jarvis must selectively make them available to the corresponding clients.

This should preferably be available via a simulation/status endpoint in Jarvis' HTTP API.

For this, we should use Elasticsearch, which is already on the stack:

  • Logs are sent directly to Elastic via a special handler.
  • Log files are being removed.
  • API endpoint simulation/status for queries on entries in Elastic, e.g., with timestamps for the desired time range.
  • [Optional] An event_stream endpoint for data stream queries from Elastic.

The main benefit of this approach is that simulation events are persisted in very well suited database from which they can be queried efficiently in order to be displayed on a frontend.

Accordingly, via another simulation/simulation endpoint, it should be possible to start and/or abort a simulation (s. attachment for the data flow concept).