scout 5.1.4 → 5.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 5.1.5
2
+
3
+ * Added sleep interval directive. Agent will only sleep when used in non-interactive mode.
4
+
1
5
  == 5.1.4
2
6
 
3
7
  * Normalized header formats
data/Rakefile CHANGED
@@ -58,14 +58,12 @@ spec = Gem::Specification.new do |spec|
58
58
 
59
59
  spec.add_dependency "elif"
60
60
 
61
- spec.author = "Highgroove Studios"
62
- spec.email = "scout@highgroove.com"
61
+ spec.author = "Scout Monitoring"
62
+ spec.email = "support@scoutapp.com"
63
63
  spec.rubyforge_project = "scout"
64
64
  spec.homepage = "http://scoutapp.com"
65
65
  spec.description = <<END_DESC
66
66
  Scout makes monitoring and reporting on your web applications as flexible and simple as possible.
67
-
68
- Scout is a product of Highgroove Studios.
69
67
  END_DESC
70
68
  end
71
69
 
@@ -109,8 +107,3 @@ task :upload_docs => [:rdoc] do
109
107
 
110
108
  sh %{rsync -av --delete #{local_dir}/ #{host}:#{remote_dir}}
111
109
  end
112
-
113
- desc "Add new files to Subersion"
114
- task :svn_add do
115
- system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add"
116
- end
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby -wKU
2
2
 
3
3
  module Scout
4
- VERSION = "5.1.4".freeze
4
+ VERSION = "5.1.5".freeze
5
5
  end
6
6
 
7
7
  require "scout/command"
@@ -11,6 +11,12 @@ module Scout
11
11
  # TODO: too much external logic of command doing things TO server. This should be moved into the server class.
12
12
  @scout = Scout::Server.new(server, key, history, log)
13
13
  @scout.load_history
14
+
15
+ unless $stdin.tty?
16
+ log.info "Sleeping #{@scout.sleep_interval} sec" if log
17
+ sleep @scout.sleep_interval
18
+ end
19
+
14
20
  @scout.fetch_plan
15
21
 
16
22
  if @scout.new_plan || @scout.time_to_checkin? || @force
@@ -46,7 +46,7 @@ module Scout
46
46
  @history = Hash.new
47
47
  @logger = logger
48
48
  @plugin_plan = []
49
- @directives = {} # take_snapshots
49
+ @directives = {} # take_snapshots, interval, sleep_interval
50
50
  @new_plan = false
51
51
 
52
52
  # the block is only passed for install and test, since we split plan retrieval outside the lockfile for run
@@ -104,6 +104,12 @@ module Scout
104
104
  end
105
105
  end
106
106
  end
107
+
108
+ # To distribute pings across a longer timeframe, the agent will sleep for a given
109
+ # amount of time. When using the --force option the sleep_interval is ignored.
110
+ def sleep_interval
111
+ (@history['directives'] || {})['sleep_interval'].to_f
112
+ end
107
113
 
108
114
  # uses values from history and current time to determine if we should checkin at this time
109
115
  def time_to_checkin?
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
5
- prerelease: false
4
+ hash: 57
5
+ prerelease:
6
6
  segments:
7
7
  - 5
8
8
  - 1
9
- - 4
10
- version: 5.1.4
9
+ - 5
10
+ version: 5.1.5
11
11
  platform: ruby
12
12
  authors:
13
- - Highgroove Studios
13
+ - Scout Monitoring
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-14 00:00:00 -07:00
18
+ date: 2011-02-01 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -34,10 +34,8 @@ dependencies:
34
34
  version_requirements: *id001
35
35
  description: |
36
36
  Scout makes monitoring and reporting on your web applications as flexible and simple as possible.
37
-
38
- Scout is a product of Highgroove Studios.
39
37
 
40
- email: scout@highgroove.com
38
+ email: support@scoutapp.com
41
39
  executables:
42
40
  - scout
43
41
  extensions: []
@@ -220,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
218
  requirements: []
221
219
 
222
220
  rubyforge_project: scout
223
- rubygems_version: 1.3.7
221
+ rubygems_version: 1.4.2
224
222
  signing_key:
225
223
  specification_version: 3
226
224
  summary: Scout makes monitoring and reporting on your web applications as flexible and simple as possible.