cloudwatch-metrics 0.1.13 → 0.1.14

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.
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