Class: Google::Apis::MonitoringV3::MetricDescriptor

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

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

#descriptionString

A detailed description of the metric, which can be used in documentation. Corresponds to the JSON property description

Returns:

  • (String)


350
351
352
# File 'generated/google/apis/monitoring_v3/classes.rb', line 350

def description
  @description
end

#display_nameString

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

Returns:

  • (String)


427
428
429
# File 'generated/google/apis/monitoring_v3/classes.rb', line 427

def display_name
  @display_name
end

#labelsArray<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_kindString

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

Returns:

  • (String)


415
416
417
# File 'generated/google/apis/monitoring_v3/classes.rb', line 415

def metric_kind
  @metric_kind
end

#nameString

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

Returns:

  • (String)


435
436
437
# File 'generated/google/apis/monitoring_v3/classes.rb', line 435

def name
  @name
end

#typeString

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

Returns:

  • (String)


449
450
451
# File 'generated/google/apis/monitoring_v3/classes.rb', line 449

def type
  @type
end

#unitString

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 &quot;.&quot; Component &quot;/&quot; Component ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | "1" ; Annotation = "&quot; NAME &quot;" ; 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

Returns:

  • (String)


401
402
403
# File 'generated/google/apis/monitoring_v3/classes.rb', line 401

def unit
  @unit
end

#value_typeString

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

Returns:

  • (String)


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