Class: Google::Apis::MonitoringV3::MetricDescriptor
- Inherits:
-
Object
- Object
- Google::Apis::MonitoringV3::MetricDescriptor
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/monitoring_v3/classes.rb,
generated/google/apis/monitoring_v3/representations.rb,
generated/google/apis/monitoring_v3/representations.rb
Overview
Defines a metric type and its schema.
Instance Attribute Summary collapse
-
#description ⇒ String
A detailed description of the metric, which can be used in documentation.
-
#display_name ⇒ String
A concise name for the metric, which can be displayed in user interfaces.
-
#labels ⇒ Array<Google::Apis::MonitoringV3::LabelDescriptor>
The set of labels that can be used to describe a specific instance of this metric type.
-
#metric_kind ⇒ String
Whether the metric records instantaneous values, changes to a value, etc.
-
#name ⇒ String
Resource name.
-
#type ⇒ String
The metric type including a DNS name prefix, for example "compute.
-
#unit ⇒ String
The unit in which the metric value is reported.
-
#value_type ⇒ String
Whether the measurement is an integer, a floating-point number, etc.
Instance Method Summary collapse
-
#initialize(**args) ⇒ MetricDescriptor
constructor
A new instance of MetricDescriptor.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ MetricDescriptor
Returns a new instance of MetricDescriptor.
451 452 453 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 451 def initialize(**args) update!(**args) end |
Instance Attribute Details
#description ⇒ String
A detailed description of the metric, which can be used in documentation.
Corresponds to the JSON property description
350 351 352 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 350 def description @description end |
#display_name ⇒ String
A concise name for the metric, which can be displayed in user interfaces. Use
sentence case without an ending period, for example "Request count".
Corresponds to the JSON property displayName
427 428 429 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 427 def display_name @display_name end |
#labels ⇒ Array<Google::Apis::MonitoringV3::LabelDescriptor>
The set of labels that can be used to describe a specific instance of this
metric type. For example, the compute.googleapis.com/instance/network/
received_bytes_count metric type has a label, loadbalanced, that specifies
whether the traffic was received through a load balanced IP address.
Corresponds to the JSON property labels
409 410 411 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 409 def labels @labels end |
#metric_kind ⇒ String
Whether the metric records instantaneous values, changes to a value, etc. Some
combinations of metric_kind and value_type might not be supported.
Corresponds to the JSON property metricKind
415 416 417 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 415 def metric_kind @metric_kind end |
#name ⇒ String
Resource name. The format of the name may vary between different
implementations. For examples:
projects/project_id
/metricDescriptors/type=**
metricDescriptors/type=**
Corresponds to the JSON property name
435 436 437 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 435 def name @name end |
#type ⇒ String
The metric type including a DNS name prefix, for example "compute.
googleapis.com/instance/cpu/utilization". Metric types should use a
natural hierarchical grouping such as the following:
compute.googleapis.com/instance/cpu/utilization
compute.googleapis.com/instance/disk/read_ops_count
compute.googleapis.com/instance/network/received_bytes_count
Note that if the metric type changes, the monitoring data will be discontinued,
and anything depends on it will break, such as monitoring dashboards,
alerting rules and quota limits. Therefore, once a metric has been published,
its type should be immutable.
Corresponds to the JSON property type
449 450 451 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 449 def type @type end |
#unit ⇒ String
The unit in which the metric value is reported. It is only applicable if the
value_type is INT64, DOUBLE, or DISTRIBUTION. The supported units are a subset
of The Unified Code for Units of Measure (http://unitsofmeasure.org/ucum.html)
standard:Basic units (UNIT)
bit bit
By byte
s second
min minute
h hour
d dayPrefixes (PREFIX)
k kilo (10*3)
M mega (106)
G giga (109)
T tera (1012)
P peta (1015)
E exa (1018)
Z zetta (1021)
Y yotta (1024)
m milli (10-3)
u micro (10-6)
n nano (10-9)
p pico (10-12)
f femto (10-15)
a atto (10-18)
z zepto (10-21)
y yocto (10-24)
Ki kibi (210)
Mi mebi (220)
Gi gibi (230)
Ti tebi (2*40)GrammarThe grammar includes the dimensionless unit 1, such as 1/
s.The grammar also includes these connectors:
/ division (as an infix operator, e.g. 1/s).
. multiplication (as an infix operator, e.g. GBy.d)The grammar for a unit is
as follows:
Expression = Component "." Component
"/" Component
;
Component = [ PREFIX ] UNIT [ Annotation ]
| Annotation
| "1"
;
Annotation = "" NAME "
" ;
Notes:
Annotation is just a comment if it follows a UNIT and is equivalent to 1 if
it is used alone. For examples, requests
/s == 1/s, Bytransmitted
/s == By/
s.
NAME is a sequence of non-blank printable ASCII characters not containing ''
or '
'.
Corresponds to the JSON property unit
401 402 403 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 401 def unit @unit end |
#value_type ⇒ String
Whether the measurement is an integer, a floating-point number, etc. Some
combinations of metric_kind and value_type might not be supported.
Corresponds to the JSON property valueType
421 422 423 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 421 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
456 457 458 459 460 461 462 463 464 465 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 456 def update!(**args) @description = args[:description] if args.key?(:description) @unit = args[:unit] if args.key?(:unit) @labels = args[:labels] if args.key?(:labels) @metric_kind = args[:metric_kind] if args.key?(:metric_kind) @value_type = args[:value_type] if args.key?(:value_type) @display_name = args[:display_name] if args.key?(:display_name) @name = args[:name] if args.key?(:name) @type = args[:type] if args.key?(:type) end |