zlhahaha/moonsim/models does not have a README file
pub(all) struct CircuitBreaker {
name : String
config : CircuitBreakerConfig
state : String
failures : Int
opened_tick : Int
trial_successes : Int
}pub(all) struct CircuitBreakerConfig {
failure_threshold : Int
reset_timeout : Int
half_open_successes : Int
}pub(all) struct CircuitBreakerResult {
state : String
allowed : Int
rejected : Int
successes : Int
failures : Int
final_tick : Int
digest : UInt64
}pub(all) struct HttpFailureCase {
scenario : String
policy : HttpReliabilityPolicy
seed : UInt64
failed_rule : String
digest : UInt64
exchanges : Array[RecordedHttpExchange]
options : HttpReplayOptions
}fn HttpFailureCase::verify_fixed_policy(self : HttpFailureCase, policy : HttpReliabilityPolicy) -> HttpReplayResultpub(all) struct HttpReliabilityPolicy {
seed : UInt64
timeout_ticks : Int
retry_limit : Int
backoff_ticks : Int
rate_limit_per_tick : Int
circuit_failure_threshold : Int
circuit_reset_ticks : Int
deadline_ticks : Int
accept_late_success : Bool
}pub(all) struct HttpReplayOptions {
latency_jitter : Int
injected_failure_percent : Int
reverse_same_tick_order : Bool
}pub(all) struct HttpReplayResult {
policy : HttpReliabilityPolicy
http_successes : Int
on_time_successes : Int
late_successes : Int
late_success_accepted : Int
failed : Int
timed_out : Int
connection_failures : Int
cancelled : Int
duplicate_processed : Int
retry_limit_violations : Int
rate_limited : Int
circuit_rejected : Int
deadline_misses : Int
digest : UInt64
invariants : InvariantReport
trace : Array[TraceEntry]
}pub(all) struct HttpRequest {
id : String
http_method : String
path : String
attempt : Int
}pub(all) struct HttpResponse {
status : Int
body_summary : String
}pub(all) struct LoadBalancerConfig {
seed : UInt64
jobs : Int
workers : Int
max_arrival_gap : Int
min_service : Int
max_service : Int
strategy : String
}pub(all) struct LoadBalancerResult {
jobs : Int
workers : Int
strategy : String
final_tick : Int
max_queue_depth : Int
total_wait : Int
events_executed : Int
digest : UInt64
}pub(all) struct ModelSummary {
name : String
digest : UInt64
final_tick : Int
events : Int
}pub(all) struct NetworkConfig {
seed : UInt64
messages : Int
latency_min : Int
latency_max : Int
drop_percent : Int
retry_delay : Int
}pub(all) struct NetworkResult {
messages : Int
delivered : Int
dropped : Int
retries : Int
pending : Int
final_tick : Int
digest : UInt64
trace : Array[TraceEntry]
}pub(all) struct QueueConfig {
seed : UInt64
customers : Int
max_arrival_gap : Int
service_time : Int
}pub(all) struct QueueResult {
customers : Int
events_executed : Int
final_tick : Int
min_arrival : Int
max_arrival : Int
digest : UInt64
trace : Array[TraceEntry]
}pub(all) struct RecordedHttpExchange {
request : HttpRequest
outcome : HttpOutcome
started_tick : Int
latency_ticks : Int
}pub(all) struct RecordedHttpTransport {
scenario : String
exchanges : Array[RecordedHttpExchange]
options : HttpReplayOptions
}fn RecordedHttpTransport::failure_case(self : RecordedHttpTransport, policy? : HttpReliabilityPolicy) -> HttpFailureCase?fn RecordedHttpTransport::replay(self : RecordedHttpTransport, policy? : HttpReliabilityPolicy) -> HttpReplayResultfn RecordedHttpTransport::to_json(self : RecordedHttpTransport, policy? : HttpReliabilityPolicy) -> Stringpub(all) struct ReliabilityConfig {
seed : UInt64
operations : Int
fail_percent : Int
retry_limit : Int
backoff : Int
}pub(all) struct ReliabilityResult {
operations : Int
successes : Int
failures : Int
retries : Int
exhausted : Int
final_tick : Int
digest : UInt64
trace : Array[TraceEntry]
}pub(all) struct RetryConfig {
seed : UInt64
max_attempts : Int
fail_until : Int
initial_backoff : Int
jitter : Int
}pub(all) struct RetryResult {
attempts : Int
retries : Int
success : Bool
final_tick : Int
digest : UInt64
trace : Array[TraceEntry]
}pub(all) struct SeedMatrixComparison {
left_name : String
right_name : String
same_digest : Bool
same_count : Bool
left_digest : UInt64
right_digest : UInt64
left_count : Int
right_count : Int
}pub(all) struct ServiceResilienceConfig {
seed : UInt64
requests : Int
workers : Int
queue_limit : Int
timeout_ticks : Int
retry_limit : Int
base_latency : Int
jitter : Int
fail_percent : Int
drop_percent : Int
rate_limit_capacity : Int
rate_limit_refill : Int
rate_limit_interval : Int
min_success_percent : Int
}pub(all) struct ServiceResilienceResult {
config : ServiceResilienceConfig
accepted : Int
rejected : Int
completed : Int
failed : Int
timed_out : Int
late_successes : Int
retried : Int
rate_limited : Int
circuit_rejected : Int
max_queue_depth : Int
final_tick : Int
slo_passed : Bool
latency_count : Int
latency_min : Int
latency_max : Int
latency_sum : Int
digest : UInt64
invariants : InvariantReport
trace : Array[TraceEntry]
}pub(all) struct TokenBucket {
name : String
capacity : Int
refill : Int
interval : Int
tokens : Int
last_refill_tick : Int
}pub(all) struct TokenBucketResult {
allowed : Int
rejected : Int
final_tokens : Int
final_tick : Int
digest : UInt64
}pub(all) struct TrafficConfig {
seed : UInt64
cycles : Int
cars : Int
cycle_ticks : Int
}pub(all) struct TrafficResult {
cars : Int
green_phases : Int
red_phases : Int
events_executed : Int
final_tick : Int
digest : UInt64
}fn WorkflowPlan::add(self : WorkflowPlan, name : String, duration : Int, deps? : Array[Int]) -> WorkflowPlanpub(all) struct WorkflowResult {
tasks : Int
workers : Int
final_tick : Int
critical_path : Int
runs : Array[WorkflowTaskRun]
digest : UInt64
}pub(all) struct WorkflowTaskRun {
id : Int
name : String
worker : Int
start_tick : Int
finish_tick : Int
}fn circuit_breaker_config(failure_threshold? : Int, reset_timeout? : Int, half_open_successes? : Int) -> CircuitBreakerConfigfn http_reliability_policy(seed? : UInt64, timeout_ticks? : Int, retry_limit? : Int, backoff_ticks? : Int, rate_limit_per_tick? : Int, circuit_failure_threshold? : Int, circuit_reset_ticks? : Int, deadline_ticks? : Int, accept_late_success? : Bool) -> HttpReliabilityPolicyfn http_replay_options(latency_jitter? : Int, injected_failure_percent? : Int, reverse_same_tick_order? : Bool) -> HttpReplayOptionsfn load_balancer_config(seed? : UInt64, jobs? : Int, workers? : Int, max_arrival_gap? : Int, min_service? : Int, max_service? : Int, strategy? : String) -> LoadBalancerConfigfn network_config(seed? : UInt64, messages? : Int, latency_min? : Int, latency_max? : Int, drop_percent? : Int, retry_delay? : Int) -> NetworkConfigfn queue_config(seed? : UInt64, customers? : Int, max_arrival_gap? : Int, service_time? : Int) -> QueueConfigfn recorded_http_exchange(request : HttpRequest, outcome : HttpOutcome, started_tick? : Int, latency_ticks? : Int) -> RecordedHttpExchangefn recorded_http_transport(scenario : String, exchanges : Array[RecordedHttpExchange], options? : HttpReplayOptions) -> RecordedHttpTransportfn reliability_config(seed? : UInt64, operations? : Int, fail_percent? : Int, retry_limit? : Int, backoff? : Int) -> ReliabilityConfigfn retry_config(seed? : UInt64, max_attempts? : Int, fail_until? : Int, initial_backoff? : Int, jitter? : Int) -> RetryConfigfn service_resilience_config(seed? : UInt64, requests? : Int, workers? : Int, queue_limit? : Int, timeout_ticks? : Int, retry_limit? : Int, base_latency? : Int, jitter? : Int, fail_percent? : Int, drop_percent? : Int, rate_limit_capacity? : Int, rate_limit_refill? : Int, rate_limit_interval? : Int, min_success_percent? : Int) -> ServiceResilienceConfigfn timer_plan(name : String, start_after? : Int, interval? : Int, times? : Int, priority? : Int) -> TimerPlanDeterministic simulation and model testing toolkit for MoonBit.