43 lines
952 B
Ruby
43 lines
952 B
Ruby
|
require 'RMagick'
|
||
|
|
||
|
include Magick
|
||
|
|
||
|
# Create a dummy list including 300 cores, with a load between 0 and 100
|
||
|
numberGenerator = Random.new()
|
||
|
|
||
|
# heatmap over 5 minutes by one measure per 5 sec
|
||
|
dummyList = Array.new(60) do
|
||
|
# 16 dummy cores
|
||
|
cores = Array.new(16) { numberGenerator.rand(100) }
|
||
|
# every 10 load percent one heatpoint
|
||
|
i = 0
|
||
|
Array.new(10) do
|
||
|
amount = cores.select { |core| core >= i and core < (i+10)}.length
|
||
|
i = i + 10
|
||
|
amount
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# puts dummyList.inspect
|
||
|
|
||
|
# start drawing the damn thing
|
||
|
loadImg = Image.new(900,150) { self.background_color = "white" }
|
||
|
|
||
|
i = 0
|
||
|
dummyList.each do |point|
|
||
|
j = 0
|
||
|
point.each do |cores|
|
||
|
# draw a red rectangle on the white background
|
||
|
core = Draw.new
|
||
|
|
||
|
l = (255-((cores*7.96875))).round
|
||
|
core.fill(Pixel.from_hsla(0, 255, l, 1).to_color)
|
||
|
core.rectangle((i*15), (j*15), ((i+1)*15), ((j+1)*15))
|
||
|
core.draw loadImg
|
||
|
j = j + 1
|
||
|
end
|
||
|
i = i + 1
|
||
|
end
|
||
|
|
||
|
loadImg.display
|