logstash-input-google-analytics-daily 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 807831c7ebd0fbddd9e3424cd7df4feeaf63185dcf2feba9ead6d012b6c90ed0
4
- data.tar.gz: 6d9802cbcad8f8478865c76cfa2df5bb5fd9ebdba13dab40b56314b298977634
3
+ metadata.gz: 5471c06b1f81388b3cbbbe7cadcf3e354e61e5f09c53d56c3297b00d17a2e8cd
4
+ data.tar.gz: 2a8510d9363641750352dd1c9b1d9d6d04a7de64fd9965794bb1cf0d67720684
5
5
  SHA512:
6
- metadata.gz: 7421f1331d6f63deaba5a755571aec4e14ebf2ec09d53acecea2a70eec0eb517847fbf5f4db2bfe4ceeb859f59ffdf08780dae87fc6274893ebd8d42cea3c962
7
- data.tar.gz: ef4f89117062a12a8a8e3d6dbaacdf6379620f2e68a0b3b444f4c806b96c98608a6911459d90f7b20f89af56a9e9826c25f95f6099ec9e4fd94fcb3f8af52504
6
+ metadata.gz: 3c78a38bb95ee7045d97a188712264fe7e08c103f002dcfbd0ba531c57bc7bffc0615f1f3cd91c0a5c8bfbcebdbf78ad21e08812a9805c01e3f0fced513f08df
7
+ data.tar.gz: ee10c1d0aec27733e4a344152dd983ecc85db36865de934d040923ee26e73e2332b667040d13566606f6bc392d46ce5c6c07422b7dc067de1d49265518e7cf18
@@ -29,9 +29,9 @@ class LogStash::Inputs::GoogleAnalyticsDaily < LogStash::Inputs::Base
29
29
 
30
30
  # This plugin will fetch daily reports for dates in the specified range
31
31
  # In the format YYYY-MM-DD
32
- config :start_date, :validate => :string, :default => (Date.today - 1).to_s
32
+ config :start_date, :validate => :string, :default => nil
33
33
 
34
- config :end_date, :validate => :string, :default => (Date.today - 1).to_s
34
+ config :end_date, :validate => :string, :default => nil
35
35
 
36
36
  # The aggregated statistics for user activity to your site, such as clicks or pageviews.
37
37
  # Maximum of 10 metrics for any query
@@ -83,7 +83,7 @@ class LogStash::Inputs::GoogleAnalyticsDaily < LogStash::Inputs::Base
83
83
 
84
84
  # Interval to run the command. Value is in seconds. If no interval is given,
85
85
  # this plugin only fetches data once.
86
- config :interval, :validate => :number, :required => false, :default => 60 * 60 * 24 # Daily
86
+ config :interval, :validate => :number, :required => false, :default => 60 * 60 # Daily
87
87
 
88
88
 
89
89
  public
@@ -94,11 +94,16 @@ class LogStash::Inputs::GoogleAnalyticsDaily < LogStash::Inputs::Base
94
94
  def run(queue)
95
95
  # we abort the loop if stop? becomes true
96
96
  while !stop?
97
- start_time = Time.now
97
+ plugin_start_time = Time.now
98
98
 
99
99
  analytics = get_service
100
100
 
101
- @dates = (Date.parse(@start_date)..Date.parse(@end_date))
101
+ # Setting this here, not in the config at the top,
102
+ # because we need to reset the date for each new loop (new day)
103
+ start_date = @start_date || (Date.today - 1).to_s
104
+ end_date = @end_date || (Date.today - 1).to_s
105
+
106
+ @dates = (Date.parse(start_date)..Date.parse(end_date))
102
107
 
103
108
  @dates.each do |date|
104
109
  date = date.to_s
@@ -203,7 +208,7 @@ class LogStash::Inputs::GoogleAnalyticsDaily < LogStash::Inputs::Base
203
208
  break
204
209
  else
205
210
  # Otherwise we sleep till the next run
206
- time_lapsed = Time.now - start_time
211
+ time_lapsed = Time.now - plugin_start_time
207
212
  # Sleep for the remainder of the interval, or 0 if the duration ran
208
213
  # longer than the interval.
209
214
  time_to_sleep_for = [0, @interval - time_lapsed].max
@@ -214,6 +219,9 @@ class LogStash::Inputs::GoogleAnalyticsDaily < LogStash::Inputs::Base
214
219
  :interval => @interval
215
220
  )
216
221
  else
222
+ @logger.info(
223
+ "Sleeping for #{@interval} seconds"
224
+ )
217
225
  Stud.stoppable_sleep(time_to_sleep_for) { stop? }
218
226
  end
219
227
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-input-google-analytics-daily'
3
- s.version = '0.6.0'
3
+ s.version = '0.7.0'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "Logstash plugin to pull daily reports from Google Analytics."
6
6
  s.description = "Logstash plugin to pull daily reports from the Google Analytics v3 Core Reporting API. Install into Logstash using $LS_HOME/bin/logstash-plugin install logstash-input-google-analytics-daily."
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-google-analytics-daily
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shalvah
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-16 00:00:00.000000000 Z
11
+ date: 2020-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement