arya-mongrel_proctitle 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/mongrel_proctitle.rb +16 -5
  2. metadata +1 -1
@@ -12,8 +12,11 @@ module Mongrel
12
12
  @request_threads = []
13
13
  @queue_length = 0
14
14
  @request_count = 0
15
- @last_request_finished_in = nil
16
15
  @last_request_finished_at = Time.now.to_f
16
+ @last_request_finished_in = nil
17
+ @last_request_str = nil
18
+ @slowest_finished_in = nil
19
+ @slowest_request_str = nil
17
20
  @updater_thread = Thread.new do
18
21
  while true
19
22
  @mutex.synchronize do
@@ -51,8 +54,16 @@ module Mongrel
51
54
  mutex.synchronize do
52
55
  @queue_length -= 1
53
56
  @request_count += 1
57
+
54
58
  @last_request_finished_in = Time.now.to_f - Thread.current[:arrived_at]
55
59
  @last_request_finished_at = Time.now.to_f
60
+ @last_request_str = Thread.current[:request_str]
61
+
62
+ if @slowest_finished_in.nil? || @slowest_finished_in < @last_request_finished_in
63
+ @slowest_finished_in = @last_request_finished_in
64
+ @slowest_request_str = @last_request_str
65
+ end
66
+
56
67
  @request_threads.delete(Thread.current)
57
68
  set_request_list_title
58
69
  end
@@ -91,11 +102,11 @@ module Mongrel
91
102
 
92
103
  # Reports process as being idle.
93
104
  def set_idle
94
- str = "idle"
105
+ str = "idle for #{time_delta_abbriv(Time.now.to_f - @last_request_finished_at)}"
95
106
  extra = []
96
- extra << "last #{time_delta_abbriv(@last_request_finished_in)}" if @last_request_finished_in
97
- extra << "idle for #{time_delta_abbriv(Time.now.to_f - @last_request_finished_at)}"
98
- str << " [#{extra.join(", ")}]"
107
+ extra << "last #{time_delta_abbriv(@last_request_finished_in)} #{@last_request_str}" if @last_request_finished_in && @last_request_str
108
+ extra << "slowest #{time_delta_abbriv(@slowest_finished_in)} #{@slowest_request_str}" if @slowest_finished_in && @slowest_request_str
109
+ str << " [#{extra.join(", ")}]" unless extra.empty?
99
110
  self.title = str
100
111
  end
101
112
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arya-mongrel_proctitle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arya Asemanfar