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.



440
441
442
# File 'generated/google/apis/monitoring_v3/classes.rb', line 440

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)


341
342
343
# File 'generated/google/apis/monitoring_v3/classes.rb', line 341

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)


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

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



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

def labels
  @labels
end

#metric_kindString

Whether the metric records instantaneous values, changes to a value, etc. Corresponds to the JSON property metricKind

Returns:

  • (String)


405
406
407
# File 'generated/google/apis/monitoring_v3/classes.rb', line 405

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)


424
425
426
# File 'generated/google/apis/monitoring_v3/classes.rb', line 424

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)


438
439
440
# File 'generated/google/apis/monitoring_v3/classes.rb', line 438

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)


392
393
394
# File 'generated/google/apis/monitoring_v3/classes.rb', line 392

def unit
  @unit
end

#value_typeString

Whether the measurement is an integer, a floating-point number, etc. Corresponds to the JSON property valueType

Returns:

  • (String)


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