Hello World
Hello-World in Frisbee
Read More »
Parameters
Intro to Templates and Parameters
Read More »
Execution Order
Create a task DAG
Read More »
Dependency Order
Spin-up the dependency stack of a system
Read More »
Clustering
Run multiple Services in a shared context
Read More »
Time-Driven Scheduling
Learn how to spread the creation of services over time
Read More »
Event-Driven Scheduling
Learn how to drive the creation of services based on events
Read More »
Conditional Scheduling
Conditional Scheduling
Read More »
Tolerate Failures
Learn how to perform recoverability experiments
Read More »
Resource Throttling
Learn how to control the resources allocated to a container
Read More »
Advanced Placement
Learn how to control the service placement policy
Read More »
Callables
Learn how to infer with a running system
Read More »
Assertions
Assert the behavior of a running system.
Read More »
Naming and Addressing
Learn how not to hard-code names
Read More »
Deletions
Resemble user driven deletions
Read More »
Live Monitoring
The Live Monitoring feature provides authorized users with the ability to monitor live interactions within the SUT.
Read More »
Simulate A Failure
This document describes how to simulate faults in Frisbee.
Simulate Failures --- apiVersion: frisbee.dev/v1alpha1 kind: Scenario metadata: name: simulate-failure spec: actions: - action: Service name: server service: templateRef: iperf.server # Create a cluster of clients - action: Cluster name: clients depends: { running: [ server ] } cluster: templateRef: iperf.client instances: 3 inputs: - { target: server } # Partition server from the clients; clients can reach the server, but server cannot reach the clients - action: Chaos name: partition depends: { running: [ clients ], after: "30s" } chaos: templateRef: system.
Read More »
Simulate Cascading Failures
This document describes how to simulate a cascade of faults in Frisbee.
Simulate Cascading Failures --- apiVersion: frisbee.dev/v1alpha1 kind: Scenario metadata: name: chaos-cascading-failures spec: actions: - action: Service name: server service: templateRef: iperf.server # Create a cluster of clients - action: Cluster name: clients depends: { running: [ server ] } cluster: templateRef: iperf.client instances: 4 inputs: - { target: server } # When all clients are up and running, kill some of them periodically - action: Cascade name: killer depends: { running: [ clients ] } cascade: templateRef: system.
Read More »
Revoke Failures
Learn how to revoke failures manually.
Read More »
Distributed Logs
Learn how to collect and view the logs from distributed services
Read More »
SLA Assertions
Learn how to create SLA assertions
Read More »