cloudwatch-metrics 0.1.13 → 0.1.14

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: f81642066454cacb68f5e5d76f7cee30aae9cb09d9db2dd9a1026a102c974f3f
4
- data.tar.gz: 33ad13c41b6caa0fb8da1a538ca11cc2a11a688f012daee58ba39eeb82e6c441
3
+ metadata.gz: 4fea54b365db5f46b021de9a93dbe005d8c48a16a1022ad2f8ab8dc0aeb09a6d
4
+ data.tar.gz: 597a6420648417aa1a48184211bf034846e12700a7a2a0f0501d7766736f8a19
5
5
  SHA512:
6
- metadata.gz: d676d266e1d6bb2f9468b2fd6b9bf3b348cec4a59bcea379201b68762487849de78fdab7acdde876a0b7df1aa57440938e8657bb0f3d0870cf64a983d4c7263d
7
- data.tar.gz: 56e203e9bdad56fe89626309ec86ee2bfcae8879a262471034b9ebaad0c4e6093f5d7b96767108d91468a28dbee7db4db0f6bd7e4202eb26adaebd96ccf736d0
6
+ metadata.gz: 82270ea0dac105c309e03a3574e4a81774910ecee57f65f03068938e53dd5c693c3883851f40504b952053182c0d18deecba903924eca11eeeb8e648f64fc894
7
+ data.tar.gz: 40f2f31599f3a4882df334b176f5d78657a047344a04ef3bc994006fabc556e05258829def820ceb6e78a802ea066a14252a83c683e13e506c4a6f7d4fea1732
@@ -3,10 +3,18 @@
3
3
  module CloudwatchMetrics
4
4
  class Configuration
5
5
  attr_accessor :namespace, :region
6
- attr_writer :no_cw_alias
6
+ attr_writer :no_cw_alias, :publish_environments, :logger
7
7
 
8
8
  def no_cw_alias
9
9
  @no_cw_alias ||= false
10
10
  end
11
+
12
+ def publish_environments
13
+ @publish_environments ||= %w[production]
14
+ end
15
+
16
+ def logger
17
+ @logger ||= Logger.new(STDOUT)
18
+ end
11
19
  end
12
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudwatchMetrics
4
- VERSION = '0.1.13'
4
+ VERSION = '0.1.14'
5
5
  end
@@ -44,16 +44,26 @@ module CloudwatchMetrics
44
44
 
45
45
  private
46
46
 
47
- def cloudwatch_client
48
- @cloudwatch_client ||= Aws::CloudWatch::Client.new(region: configuration.region)
49
- end
50
-
51
47
  def put_data(namespace:, metric_data:)
52
48
  resp = cloudwatch_client.put_metric_data({
53
49
  namespace: namespace,
54
50
  metric_data: metric_data
55
51
  })
56
52
  end
53
+
54
+ def cloudwatch_client
55
+ return @cloudwatch_client unless @cloudwatch_client.nil?
56
+
57
+ @cloudwatch_client = if !configuration.region.nil?
58
+ Aws::CloudWatch::Client.new(region: configuration.region)
59
+ else
60
+ Aws::CloudWatch::Client.new
61
+ end
62
+ end
63
+
64
+ def environment
65
+ ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
66
+ end
57
67
  end
58
68
  end
59
69
 
@@ -16,4 +16,15 @@ CloudwatchMetrics.configure do |config|
16
16
  # the metrics will be published to. This is useful if you want to publish
17
17
  # to a region other than the default region for your AWS credentials.
18
18
  # config.region = 'us-east-1'
19
+
20
+ # By default metrics will only be published in the production environment.
21
+ # In all other environments metrics will be logged.
22
+ # You can override this behavior by specifying an array of environments
23
+ # that you want to publish metrics in.
24
+ # config.publish_environments = %w[production staging]
25
+
26
+ # This is an optional configuration to set the logger that
27
+ # the metrics will be logged to. Defaults to `Logger.new(STDOUT)`.
28
+ # For rails applications you can set this to `Rails.logger`.
29
+ # config.logger = Rails.logger
19
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudwatch-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Puckett