Package de.rss.fachstudie.MiSim.events
Class ChaosMonkeyEvent
java.lang.Object
desmoj.core.simulator.NamedObject
desmoj.core.simulator.ModelComponent
desmoj.core.simulator.Schedulable
desmoj.core.simulator.EventAbstract
desmoj.core.simulator.ExternalEvent
de.rss.fachstudie.MiSim.events.SelfScheduledEvent
de.rss.fachstudie.MiSim.events.ChaosMonkeyEvent
- All Implemented Interfaces:
ISelfScheduled
public class ChaosMonkeyEvent extends SelfScheduledEvent
A
ChaosMonkeyEvent is an ExternalEvent that gets scheduled at the begin of the experiment.
It terminates a specified number of MicroserviceInstances from a specified Microservice in
its
eventRoutine method.-
Field Summary
Fields inherited from class desmoj.core.simulator.EventAbstract
numberOfEntitiesFields inherited from class desmoj.core.simulator.Schedulable
_schedule -
Constructor Summary
Constructors Constructor Description ChaosMonkeyEvent(desmoj.core.simulator.Model owner, String name, boolean showInTrace, Microservice microservice, int instances)Instantiate aChaosMonkeyEvent. -
Method Summary
Modifier and Type Method Description voideventRoutine()The eventRoutine of theChaosMonkeyEvent.StringtoString()Methods inherited from class de.rss.fachstudie.MiSim.events.SelfScheduledEvent
doInitialSelfSchedule, setTargetTimeMethods inherited from class desmoj.core.simulator.ExternalEvent
clone, schedule, schedule, schedule, schedule, scheduleAfter, scheduleBefore, schedulePreemptMethods inherited from class desmoj.core.simulator.EventAbstract
generateTraceForScheduling, getNumberOfEntities, getRealTimeConstraint, getSchedulingPriority, isExternal, setRealTimeConstraint, setSchedulingPriorityMethods inherited from class desmoj.core.simulator.Schedulable
assignReporter, cancel, getCorrespondingReportable, isCurrent, isScheduled, rename, reSchedule, reSchedule, reSchedulePreempt, scheduledNext, setCorrespondingReportableMethods inherited from class desmoj.core.simulator.ModelComponent
current, currentEntity, currentEntityAll, currentEvent, currentlySendDebugNotes, currentlySendTraceNotes, currentModel, currentSimProcess, debugIsOn, debugOff, debugOn, getModel, isExperimentCompatible, isModelCompatible, presentTime, sendDebugNote, sendMessage, sendTraceNote, sendWarning, skipTraceNote, skipTraceNote, traceIsOn, traceOff, traceOnMethods inherited from class desmoj.core.simulator.NamedObject
getName, getQuotedName
-
Constructor Details
-
ChaosMonkeyEvent
public ChaosMonkeyEvent(desmoj.core.simulator.Model owner, String name, boolean showInTrace, Microservice microservice, int instances)Instantiate aChaosMonkeyEvent.- Parameters:
owner- Model: The model that owns this eventname- String: The name of this eventshowInTrace- boolean: Declaration if this event should be shown in the tracemicroservice- int: The target microservice whose instances should be terminatedinstances- int: The number of instances of the specified microservice you want to shut down, can be greater than the number of currently running instances
-
-
Method Details
-
eventRoutine
public void eventRoutine() throws co.paralleluniverse.fibers.SuspendExecutionThe eventRoutine of theChaosMonkeyEvent. Terminates a specified number of instances of a specifiedMicroservice. Also tries to note the remaining number of instances in the trace.- Specified by:
eventRoutinein classdesmoj.core.simulator.ExternalEvent- Throws:
co.paralleluniverse.fibers.SuspendExecution
-
toString
- Overrides:
toStringin classdesmoj.core.simulator.NamedObject
-