Module: AppOpticsAPM::SDK::CustomMetrics
- Included in:
- AppOpticsAPM::SDK
- Defined in:
- lib/appoptics_apm/sdk/custom_metrics.rb
Instance Method Summary collapse
-
#increment_metric(name, count = 1, with_hostname = false, tags_kvs = {}) ⇒ Object
Send counts.
-
#summary_metric(name, value, count = 1, with_hostname = false, tags_kvs = {}) ⇒ Object
Send values with counts.
Instance Method Details
#increment_metric(name, count = 1, with_hostname = false, tags_kvs = {}) ⇒ Object
Send counts
Use this method to report the number of times an action occurs. The metric counts reported are summed and flushed every 60 seconds.
Arguments:
-
name
(String) Name to be used for the metric. Must be 255 or fewer characters and consist only of A-Za-z0-9.:-* -
count
(Integer, optional, default = 1): Count of actions being reported -
with_hostname
(Boolean, optional, default = false): Indicates if the host name should be included as a tag for the metric -
tags_kvs
(Hash, optional): List of key/value pairs to describe the metric. The key must be <= 64 characters, the value must be <= 255 characters, allowed characters: A-Za-z0-9.:-_
Example:
class WorkTracker
def counting(name, = {})
yield # yield to where work is done
AppOpticsAPM::SDK.increment_metric(name, 1, false, )
end
end
Returns:
-
0 on success, error code on failure
34 35 36 37 38 39 |
# File 'lib/appoptics_apm/sdk/custom_metrics.rb', line 34 def increment_metric(name, count = 1, with_hostname = false, = {}) return true unless AppOpticsAPM.loaded with_hostname = with_hostname ? 1 : 0 , = () AppOpticsAPM::CustomMetrics.increment(name.to_s, count, with_hostname, nil, , ) == 1 end |
#summary_metric(name, value, count = 1, with_hostname = false, tags_kvs = {}) ⇒ Object
Send values with counts
Use this method to report a value for each or multiple counts. The metric values reported are aggregated and flushed every 60 seconds. The dashboard displays the average value per count.
Arguments:
-
name
(String) Name to be used for the metric. Must be 255 or fewer characters and consist only of A-Za-z0-9.:-* -
value
(Numeric) Value to be added to the current sum -
count
(Integer, optional, default = 1): Count of actions being reported -
with_hostname
(Boolean, optional, default = false): Indicates if the host name should be included as a tag for the metric -
tags_kvs
(Hash, optional): List of key/value pairs to describe the metric. The key must be <= 64 characters, the value must be <= 255 characters, allowed characters: A-Za-z0-9.:-_
Example:
class WorkTracker
def timing(name, = {})
start = Time.now
yield # yield to where work is done
duration = Time.now - start
AppOpticsAPM::SDK.summary_metric(name, duration, 1, false, )
end
end
Returns:
-
0 on success, error code on failure
67 68 69 70 71 72 |
# File 'lib/appoptics_apm/sdk/custom_metrics.rb', line 67 def summary_metric(name, value, count = 1, with_hostname = false, = {}) return true unless AppOpticsAPM.loaded with_hostname = with_hostname ? 1 : 0 , = () AppOpticsAPM::CustomMetrics.summary(name.to_s, value, count, with_hostname, nil, , ) == 1 end |