Class: Bounscale::Collector::Busyness

Inherits:
Base
  • Object
show all
Defined in:
lib/bounscale/collector/busyness.rb

Direct Known Subclasses

Throughput

Constant Summary collapse

HISTORY_HOLDING_SEC =
10

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.clear_history!Object



6
7
8
# File 'lib/bounscale/collector/busyness.rb', line 6

def clear_history!
  Thread.current[:bounscale_busyness_history] = []
end

Instance Method Details

#nameObject



21
22
23
# File 'lib/bounscale/collector/busyness.rb', line 21

def name
  "busyness"
end

#postObject



15
16
17
18
19
# File 'lib/bounscale/collector/busyness.rb', line 15

def post
  @post_time = Time.now
  history << [@pre_time, @post_time]
  fix_history
end

#preObject



11
12
13
# File 'lib/bounscale/collector/busyness.rb', line 11

def pre
  @pre_time = Time.now
end

#valueObject



25
26
27
28
29
30
31
# File 'lib/bounscale/collector/busyness.rb', line 25

def value
  #2つ以上のアクセスがないと測定不能なので0を返す
  return 0 if history.length < 2
  
  #積算値 / 全体の秒数 がビジー率(%なので100をかける)
  (estimate_sec / whole_sec) * 100
end