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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fea54b365db5f46b021de9a93dbe005d8c48a16a1022ad2f8ab8dc0aeb09a6d
|
4
|
+
data.tar.gz: 597a6420648417aa1a48184211bf034846e12700a7a2a0f0501d7766736f8a19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/cloudwatch_metrics.rb
CHANGED
@@ -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
|