logstash-output-cloudwatch 3.0.10 → 3.1.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: 8aa68c4678a209eeeab4d6e43e7f0c6e7e10de5525efc2c87d771fef4ecf053e
4
- data.tar.gz: 67484c33232c78a5d4ac335011dbad19377d83ab0745934daf8da185fed40c6d
3
+ metadata.gz: 481a88fcce877164a1509394ea7b544ae0a91a987994cd83c9077708f38d2e23
4
+ data.tar.gz: af740d8bbe2c0d2a68121fd2ea01656cc85e1dac925febcbf2cdea2b04b573ac
5
5
  SHA512:
6
- metadata.gz: af131f72bc576f1c65a43396b93b9a3847a211fecffdf0d2299d97070c4593ad8c453d3577048af3ca75d1447416f14c632a3fe075a3cd83b5e4d601fccf59ef
7
- data.tar.gz: 7a9d5b73e391150d1eac342a75e6398d520acf311775fd7aab6bbd6a45e042e05c416cd70c3c011f0380d588ef17e2bbb18a31787efe539d68388c2fb9ff97f9
6
+ metadata.gz: 70e7b7b78a0ec49a2b47de1c61226b9302f2798e742f9b68a95d6802a43285169251be6169e655ef253c824d5fb1aa0fe6fe194ac40c5375b70161aabd3db1f8
7
+ data.tar.gz: cd20f4ead9f8d4e1d224d96a766fa3194e8b9a85de175761950c4e3f59afed38c00156669b437adc87cd6caf27e11bc20e432753768786df34864b62e4a46ca2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 3.1.0
2
+ - Refactor: switch to using the scheduler mixin [#22](https://github.com/logstash-plugins/logstash-output-cloudwatch/pull/22)
3
+
1
4
  ## 3.0.10
2
5
  - Deps: unpin rufus scheduler [#20](https://github.com/logstash-plugins/logstash-output-cloudwatch/pull/20)
3
6
  - Fix: an old undefined method error which would surface with load (as queue fills up)
@@ -2,8 +2,7 @@
2
2
  require "logstash/outputs/base"
3
3
  require "logstash/namespace"
4
4
  require "logstash/plugin_mixins/aws_config"
5
-
6
- require "rufus/scheduler"
5
+ require "logstash/plugin_mixins/scheduler"
7
6
 
8
7
  # This output lets you aggregate and send metric data to AWS CloudWatch
9
8
  #
@@ -64,6 +63,7 @@ require "rufus/scheduler"
64
63
  # http://docs.amazonwebservices.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html[PutMetricData]
65
64
  class LogStash::Outputs::CloudWatch < LogStash::Outputs::Base
66
65
  include LogStash::PluginMixins::AwsConfig::V2
66
+ include LogStash::PluginMixins::Scheduler
67
67
 
68
68
  config_name "cloudwatch"
69
69
 
@@ -166,28 +166,25 @@ class LogStash::Outputs::CloudWatch < LogStash::Outputs::Base
166
166
  @cw = Aws::CloudWatch::Client.new(aws_options_hash)
167
167
 
168
168
  @event_queue = SizedQueue.new(@queue_size)
169
- @scheduler = Rufus::Scheduler.new
170
- @job = @scheduler.schedule_every @timeframe do
171
- @logger.debug("Scheduler Activated")
172
- publish(aggregate({}))
173
- end
169
+
170
+ @job = scheduler.every(@timeframe) { do_publish }
174
171
  end # def register
175
172
 
176
- # Rufus::Scheduler >= 3.4 moved the Time impl into a gem EoTime = ::EtOrbi::EoTime`
177
- # Rufus::Scheduler 3.1 - 3.3 using it's own Time impl `Rufus::Scheduler::ZoTime`
178
- RufusTimeImpl = defined?(Rufus::Scheduler::EoTime) ? Rufus::Scheduler::EoTime :
179
- (defined?(Rufus::Scheduler::ZoTime) ? Rufus::Scheduler::ZoTime : ::Time)
173
+ def do_publish
174
+ publish(aggregate({}))
175
+ end
176
+ private :do_publish
180
177
 
181
178
  public
182
179
  def receive(event)
183
180
  return unless (event.get(@field_metricname) || @metricname)
184
181
 
185
182
  if (@event_queue.length >= @event_queue.max)
186
- @job.trigger RufusTimeImpl.now
183
+ do_publish
187
184
  @logger.warn("Posted to AWS CloudWatch ahead of schedule. If you see this often, consider increasing the cloudwatch queue_size option.")
188
185
  end
189
186
 
190
- @logger.debug("Queueing event", :event => event)
187
+ @logger.debug? && @logger.debug("Queueing event", :event => event.to_hash)
191
188
  @event_queue << event
192
189
  end # def receive
193
190
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-output-cloudwatch'
4
- s.version = '3.0.10'
4
+ s.version = '3.1.0'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Aggregates and sends metric data to AWS CloudWatch"
7
7
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  # Gem dependencies
23
23
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
24
24
  s.add_runtime_dependency 'logstash-mixin-aws', '>= 1.0.0'
25
- s.add_runtime_dependency 'rufus-scheduler', '>= 3.0.9'
25
+ s.add_runtime_dependency "logstash-mixin-scheduler", '~> 1.0'
26
26
 
27
27
  s.add_development_dependency 'logstash-devutils'
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-cloudwatch
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.10
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -47,17 +47,17 @@ dependencies:
47
47
  - !ruby/object:Gem::Dependency
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - ">="
50
+ - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: 3.0.9
53
- name: rufus-scheduler
52
+ version: '1.0'
53
+ name: logstash-mixin-scheduler
54
54
  prerelease: false
55
55
  type: :runtime
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 3.0.9
60
+ version: '1.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements: