summaryrefslogtreecommitdiff
path: root/simulator/opendc-workflow/opendc-workflow-service/src
AgeCommit message (Collapse)Author
2021-04-25build: Migrate to flat project structureFabian Mastenbroek
This change updates the project structure to become flattened. Previously, the simulator, frontend and API each lived into their own directory. With this change, all modules of the project live in the top-level directory of the repository. This should improve discoverability of modules of the project.
2021-04-21simulator: Introduce SimulationCoroutineDispatcherFabian Mastenbroek
This change introduces the SimulationCoroutineDispatcher implementation which replaces the TestCoroutineDispatcher for running single-threaded simulations. Previously, we used the TestCoroutineDispatcher from the kotlinx-coroutines-test modules for running simulations. However, this module is aimed at coroutine tests and not at simulations. In particular, having to construct a Clock object each time for the TestCoroutineDispatcher caused a lot of unnecessary lines. With the new approach, the SimulationCoroutineDispatcher automatically exposes a usable Clock object. In addition to ergonomic benefits, the SimulationCoroutineDispatcher is much faster than the TestCoroutineDispatcher due to the assumption that simulations run in only a single thread. As a result, the dispatcher does not need to perform synchronization and can use the fast PriorityQueue implementation.
2021-04-08compute: Migrate to new FilterSchedulerFabian Mastenbroek
This change migrates the OpenDC codebase to use the new FilterScheduler for scheduling virtual machines. This removes the old allocation policies as well.
2021-03-27compute: Migrate compute service simulator to OpenTelemetryFabian Mastenbroek
This change updates the compute service simulator to use OpenTelemetry for reporting metrics of the (simulated) hosts as opposed to using custom event flows. This approach is more generic, flexible and possibly offers better performance as we can collect metrics of all services in a single sweep, as opposed to listening to several services and each invoking the handlers.
2021-03-26workflow: Remove event tracer from workflow serviceFabian Mastenbroek
This change removes the event tracer from the OpenDC Workflow service as we start migrating to the industry standard OpenTelemetry.
2021-03-26compute: Integrate OpenTelemetry Metrics in OpenDC WorkflowFabian Mastenbroek
This change integrates the OpenTelemetry Metrics API in the OpenDC Workflow Service implementation. This replaces the old infrastructure for gathering metrics.
2021-03-26compute: Integrate OpenTelemetry Metrics in OpenDC ComputeFabian Mastenbroek
This change integrates the OpenTelemetry Metrics API in the OpenDC Compute Service implementation. This replaces the old infrastructure for gathering metrics.
2021-03-26compute: Remove dependency on event tracerFabian Mastenbroek
This change removes the dependency on the event tracer in `opendc-trace`, since we are in the process of migrating OpenDC to use OpenTelemetry for distributed tracing and metrics.
2021-03-09workflow: Split workflow module in API and service moduleFabian Mastenbroek