Skip to content
Snippets Groups Projects
Commit 83dc8f1c authored by Andrew Newdigate's avatar Andrew Newdigate
Browse files

Leak memory, spin cpu and kill the process

parent cfe3cfb3
No related branches found
No related tags found
No related merge requests found
# frozen_string_literal: true
 
class ChaosController < ActionController::Base
def leakmem
memory_mb = params[:memory_mb] ? params[:memory_mb].to_i : 100
retainer = []
memory_mb.times { retainer << "x" * (1024 * 1024) }
render text: "OK", content_type: 'text/plain'
end
def cpuspin
duration_s = params[:duration_s] ? params[:duration_s].to_i : 30
end_time = Time.now + duration_s.seconds;
while Time.now < end_time
10_000.times { }
end
render text: "OK", content_type: 'text/plain'
end
def sleep
duration_s = params[:duration_s] ? params[:duration_s].to_i : 30
Kernel.sleep duration_s
render text: "OK", content_type: 'text/plain'
end
def kill
Process.kill("KILL", Process.pid)
end
end
Loading
Loading
@@ -83,7 +83,10 @@ Rails.application.routes.draw do
draw :operations
draw :instance_statistics
 
get '/chaos/leakmem' => 'chaos#leakmem'
get '/chaos/cpuspin' => 'chaos#cpuspin'
get '/chaos/sleep' => 'chaos#sleep'
get '/chaos/kill' => 'chaos#kill'
end
 
draw :api
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment