telemetry 1.0.7 → 1.0.8

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.
data/.gitignore CHANGED
@@ -8,6 +8,8 @@ InstalledFiles
8
8
  _yardoc
9
9
  coverage
10
10
  doc/
11
+ coverage
12
+ InstalledFiles
11
13
  lib/bundler/man
12
14
  pkg
13
15
  rdoc
@@ -15,3 +17,5 @@ spec/reports
15
17
  test/tmp
16
18
  test/version_tmp
17
19
  tmp
20
+ telemetryd_config.rb
21
+
@@ -50,99 +50,99 @@ module Telemetry
50
50
  @@end_interval.yield if @@end_interval
51
51
  end
52
52
 
53
- def barchart(tag, frequency = 0, &block)
53
+ def barchart(tag, frequency = 0, offset=nil, &block)
54
54
  @@tasks ||= []
55
- @@tasks << [ :barchart, tag, frequency, block ]
55
+ @@tasks << [ :barchart, tag, frequency, offset, block ]
56
56
  end
57
57
 
58
- def countdown(tag, frequency = 0, &block)
58
+ def countdown(tag, frequency = 0, offset=nil, &block)
59
59
  @@tasks ||= []
60
- @@tasks << [ :countdown, tag, frequency, block ]
60
+ @@tasks << [ :countdown, tag, frequency, offset, block ]
61
61
  end
62
62
 
63
- def gauge(tag, frequency = 0, &block)
63
+ def gauge(tag, frequency = 0, offset=nil, &block)
64
64
  @@tasks ||= []
65
- @@tasks << [ :gauge, tag, frequency, block ]
65
+ @@tasks << [ :gauge, tag, frequency, offset, block ]
66
66
  end
67
67
 
68
- def graph(tag, frequency = 0, &block)
68
+ def graph(tag, frequency = 0, offset=nil, &block)
69
69
  @@tasks ||= []
70
- @@tasks << [ :graph, tag, frequency, block ]
70
+ @@tasks << [ :graph, tag, frequency, offset, block ]
71
71
  end
72
72
 
73
- def icon(tag, frequency = 0, &block)
73
+ def icon(tag, frequency = 0, offset=nil, &block)
74
74
  @@tasks ||= []
75
- @@tasks << [ :icon, tag, frequency, block ]
75
+ @@tasks << [ :icon, tag, frequency, offset, block ]
76
76
  end
77
77
 
78
- def iframe(tag, frequency = 0, &block)
78
+ def iframe(tag, frequency = 0, offset=nil, &block)
79
79
  @@tasks ||= []
80
- @@tasks << [ :iframe, tag, frequency, block ]
80
+ @@tasks << [ :iframe, tag, frequency, offset, block ]
81
81
  end
82
82
 
83
- def log(tag, frequency = 0, &block)
83
+ def log(tag, frequency = 0, offset=nil, &block)
84
84
  @@tasks ||= []
85
- @@tasks << [ :log, tag, frequency, block ]
85
+ @@tasks << [ :log, tag, frequency, offset, block ]
86
86
  end
87
87
 
88
- def map(tag, frequency = 0, &block)
88
+ def map(tag, frequency = 0, offset=nil, &block)
89
89
  @@tasks ||= []
90
- @@tasks << [ :map, tag, frequency, block ]
90
+ @@tasks << [ :map, tag, frequency, offset, block ]
91
91
  end
92
92
 
93
- def multigauge(tag, frequency = 0, &block)
93
+ def multigauge(tag, frequency = 0, offset=nil, &block)
94
94
  @@tasks ||= []
95
- @@tasks << [ :multigauge, tag, frequency, block ]
95
+ @@tasks << [ :multigauge, tag, frequency, offset, block ]
96
96
  end
97
97
 
98
- def multivalue(tag, frequency = 0, &block)
98
+ def multivalue(tag, frequency = 0, offset=nil, &block)
99
99
  @@tasks ||= []
100
- @@tasks << [ :multivalue, tag, frequency, block ]
100
+ @@tasks << [ :multivalue, tag, frequency, offset, block ]
101
101
  end
102
102
 
103
- def servers(tag, frequency = 0, &block)
103
+ def servers(tag, frequency = 0, offset=nil, &block)
104
104
  @@tasks ||= []
105
- @@tasks << [ :servers, tag, frequency, block ]
105
+ @@tasks << [ :servers, tag, frequency, offset, block ]
106
106
  end
107
107
 
108
- def table(tag, frequency = 0, &block)
108
+ def table(tag, frequency = 0, offset=nil, &block)
109
109
  @@tasks ||= []
110
- @@tasks << [ :table, tag, frequency, block ]
110
+ @@tasks << [ :table, tag, frequency, offset, block ]
111
111
  end
112
112
 
113
- def text(tag, frequency = 0, &block)
113
+ def text(tag, frequency = 0, offset=nil, &block)
114
114
  @@tasks ||= []
115
- @@tasks << [ :text, tag, frequency, block ]
115
+ @@tasks << [ :text, tag, frequency, offset, block ]
116
116
  end
117
117
 
118
- def tickertape(tag, frequency = 0, &block)
118
+ def tickertape(tag, frequency = 0, offset=nil, &block)
119
119
  @@tasks ||= []
120
- @@tasks << [ :tickertape, tag, frequency, block ]
120
+ @@tasks << [ :tickertape, tag, frequency, offset, block ]
121
121
  end
122
122
 
123
- def timechart(tag, frequency = 0, &block)
123
+ def timechart(tag, frequency = 0, offset=nil, &block)
124
124
  @@tasks ||= []
125
- @@tasks << [ :timechart, tag, frequency, block ]
125
+ @@tasks << [ :timechart, tag, frequency, offset, block ]
126
126
  end
127
127
 
128
- def timeline(tag, frequency = 0, &block)
128
+ def timeline(tag, frequency = 0, offset=nil, &block)
129
129
  @@tasks ||= []
130
- @@tasks << [ :timeline, tag, frequency, block ]
130
+ @@tasks << [ :timeline, tag, frequency, offset, block ]
131
131
  end
132
132
 
133
- def timeseries(tag, frequency = 0, &block)
133
+ def timeseries(tag, frequency = 0, offset=nil, &block)
134
134
  @@tasks ||= []
135
- @@tasks << [ :timeseries, tag, frequency, block ]
135
+ @@tasks << [ :timeseries, tag, frequency, offset, block ]
136
136
  end
137
137
 
138
- def upstatus(tag, frequency = 0, &block)
138
+ def upstatus(tag, frequency = 0, offset=nil, &block)
139
139
  @@tasks ||= []
140
- @@tasks << [ :upstatus, tag, frequency, block ]
140
+ @@tasks << [ :upstatus, tag, frequency, offset, block ]
141
141
  end
142
142
 
143
- def value(tag, frequency = 0, &block)
143
+ def value(tag, frequency = 0, offset=nil, &block)
144
144
  @@tasks ||= []
145
- @@tasks << [ :value, tag, frequency, block ]
145
+ @@tasks << [ :value, tag, frequency, offset, block ]
146
146
  end
147
147
 
148
148
  def run_scheduled_flow_updates
@@ -154,13 +154,26 @@ module Telemetry
154
154
 
155
155
  @@tasks.each do |task|
156
156
  @@h = {}
157
- variant, tag, frequency, block = task
157
+ variant, tag, frequency, offset, block = task
158
+ now = Time.now
158
159
 
159
160
  # Check whether we should wait an interval before running
160
161
  if frequency > 0
161
162
  #puts "Frequency is #{frequency} now #{Time.now.to_i} next #{@@next_run_at[tag]}"
162
- next if @@next_run_at[tag] && @@next_run_at[tag] >= Time.now.to_i
163
- @@next_run_at[tag] = Time.now.to_i + frequency.to_i
163
+ next if @@next_run_at[tag] && @@next_run_at[tag] >= now.to_i
164
+ @@next_run_at[tag] = now.to_i + frequency
165
+
166
+ # If an offset is defined then allign runtimes to the offset
167
+ # How close you can get to the desired offset depends on the global interval. So set it relatively small
168
+ # when using this feature
169
+ if offset and offset >= 0 and offset <= 86400
170
+ this_morning = Time.new(now.year, now.month, now.day).to_i
171
+ time_since_offset = now.to_i - this_morning - offset
172
+ time_since_offset += 86400 if time_since_offset < 0
173
+
174
+ @@next_run_at[tag] -= time_since_offset % frequency
175
+ # puts "#{now.to_i} #{@@next_run_at[tag]}"
176
+ end
164
177
  end
165
178
 
166
179
  # Execute the flow
@@ -172,10 +185,10 @@ module Telemetry
172
185
  values = @@h.merge({variant: variant})
173
186
 
174
187
  # Skip if the values haven't changed (though send 1/day regardless)
175
- if @@last_values[tag] != values || @@values_expires_at[tag] < Time.now.to_i
188
+ if @@last_values[tag] != values || @@values_expires_at[tag] < now.to_i
176
189
  @@buffer[tag] = values
177
190
  @@last_values[tag] = values # Save the value so we dont update unless it changes
178
- @@values_expires_at[tag] = Time.now.to_i + 86400 # Force an update 1/day
191
+ @@values_expires_at[tag] = now.to_i + 86400 # Force an update 1/day
179
192
  end
180
193
  end
181
194
 
@@ -1,3 +1,3 @@
1
1
  module Telemetry
2
- VERSION = "1.0.7"
2
+ VERSION = "1.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telemetry
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-25 00:00:00.000000000 Z
12
+ date: 2013-07-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oj
@@ -79,7 +79,6 @@ files:
79
79
  - lib/telemetry/telemetry.rb
80
80
  - lib/telemetry/version.rb
81
81
  - telemetry.gemspec
82
- - telemetryd_config.rb
83
82
  homepage: http://www.telemetryapp.com
84
83
  licenses: []
85
84
  post_install_message:
data/telemetryd_config.rb DELETED
@@ -1,6 +0,0 @@
1
- interval 1
2
- api_token "130be0e02baf48892b82d41e9b7f1a19"
3
-
4
- value "demo_cadusd", 10 do
5
- set value: rand(1000)
6
- end