diff --git a/testdummy2.rb b/testdummy2.rb new file mode 100644 index 0000000..865b3fe --- /dev/null +++ b/testdummy2.rb @@ -0,0 +1,62 @@ +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 + # lets say 10 cores have a load up to 10% + # 4 have a load up to 30% + # and 2 have a load up to 100% + j = 0 + cores = Array.new(16) do + j = j + 1 + case + when j <= 10 + numberGenerator.rand(10) + when (j >= 11 and j <= 14) + numberGenerator.rand(30) + when (j >= 15 and j <= 16) + numberGenerator.rand(100) + end + end + + # 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 + k = 10 + point.reverse.each do |cores| + # draw a red rectangle on the white background + core = Draw.new + + weightedCores = 0 + weightedCores = k**0.8*cores*7.96875 if cores != 0 + weightedCores = 127.5 if weightedCores > 127.5 + l = (255-weightedCores).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 + k = k - 1 + end + i = i + 1 +end + +loadImg.display