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