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.
440 441 442 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 440 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
341 342 343 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 341 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
416 417 418 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 416 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
400 401 402 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 400 def labels @labels end |
#metric_kind ⇒ String
Whether the metric records instantaneous values, changes to a value, etc.
Corresponds to the JSON property metricKind
405 406 407 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 405 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
424 425 426 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 424 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
438 439 440 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 438 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
392 393 394 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 392 def unit @unit end |
#value_type ⇒ String
Whether the measurement is an integer, a floating-point number, etc.
Corresponds to the JSON property valueType
410 411 412 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 410 def value_type @value_type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
445 446 447 448 449 450 451 452 453 454 |
# File 'generated/google/apis/monitoring_v3/classes.rb', line 445 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 |