Class: Google::Api::MetricDescriptor

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/monitoring/v3/doc/google/api/metric.rb

Overview

Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.

Defined Under Namespace

Modules: MetricKind, ValueType

Instance Attribute Summary collapse

Instance Attribute Details

#descriptionString

Returns A detailed description of the metric, which can be used in documentation.

Returns:

  • (String)

    A detailed description of the metric, which can be used in documentation.



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#display_nameString

Returns A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".

Returns:

  • (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".



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#labelsArray<Google::Api::LabelDescriptor>

Returns The set of labels that can be used to describe a specific instance of this metric type. For example, the +appengine.googleapis.com/http/server/response_latencies+ metric type has a label for the HTTP response code, +response_code+, so you can look at latencies for successful responses or just for responses that failed.

Returns:

  • (Array<Google::Api::LabelDescriptor>)

    The set of labels that can be used to describe a specific instance of this metric type. For example, the +appengine.googleapis.com/http/server/response_latencies+ metric type has a label for the HTTP response code, +response_code+, so you can look at latencies for successful responses or just for responses that failed.



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#metric_kindGoogle::Api::MetricDescriptor::MetricKind

Returns Whether the metric records instantaneous values, changes to a value, etc. Some combinations of +metric_kind+ and +value_type+ might not be supported.

Returns:



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#nameString

Returns The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the +type+ field of this descriptor. For example, following is the resource name of a custom metric within the GCP project 123456789:

"projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"

Returns:

  • (String)

    The resource name of the metric descriptor. Depending on the implementation, the name typically includes: (1) the parent resource name that defines the scope of the metric type or of its data; and (2) the metric's URL-encoded type, which also appears in the +type+ field of this descriptor. For example, following is the resource name of a custom metric within the GCP project 123456789:

    "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
    


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#typeString

Returns The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name +custom.googleapis.com+. Metric types should use a natural hierarchical grouping. For example:

"custom.googleapis.com/invoice/paid/amount"
"appengine.googleapis.com/http/server/response_latencies"

Returns:

  • (String)

    The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name +custom.googleapis.com+. Metric types should use a natural hierarchical grouping. For example:

    "custom.googleapis.com/invoice/paid/amount"
    "appengine.googleapis.com/http/server/response_latencies"
    


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#unitString

Returns 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 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+ day

Prefixes (PREFIX)

  • +k+ kilo (10**3)
  • +M+ mega (10**6)
  • +G+ giga (10**9)
  • +T+ tera (10**12)
  • +P+ peta (10**15)
  • +E+ exa (10**18)
  • +Z+ zetta (10**21)
  • +Y+ yotta (10**24)
  • +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 (2**10)
  • +Mi+ mebi (2**20)
  • +Gi+ gibi (2**30)
  • +Ti+ tebi (2**40)

Grammar

The 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 ''.

Returns:

  • (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 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+ day

    Prefixes (PREFIX)

    • +k+ kilo (10**3)
    • +M+ mega (10**6)
    • +G+ giga (10**9)
    • +T+ tera (10**12)
    • +P+ peta (10**15)
    • +E+ exa (10**18)
    • +Z+ zetta (10**21)
    • +Y+ yotta (10**24)
    • +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 (2**10)
    • +Mi+ mebi (2**20)
    • +Gi+ gibi (2**30)
    • +Ti+ tebi (2**40)

    Grammar

    The 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 ''.


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end

#value_typeGoogle::Api::MetricDescriptor::ValueType

Returns Whether the measurement is an integer, a floating-point number, etc. Some combinations of +metric_kind+ and +value_type+ might not be supported.

Returns:



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/google/cloud/monitoring/v3/doc/google/api/metric.rb', line 128

class MetricDescriptor
  # The kind of measurement. It describes how the data is reported.
  module MetricKind
    # Do not use this default value.
    METRIC_KIND_UNSPECIFIED = 0

    # An instantaneous measurement of a value.
    GAUGE = 1

    # The change in a value during a time interval.
    DELTA = 2

    # A value accumulated over a time interval.  Cumulative
    # measurements in a time series should have the same start time
    # and increasing end times, until an event resets the cumulative
    # value to zero and sets a new start time for the following
    # points.
    CUMULATIVE = 3
  end

  # The value type of a metric.
  module ValueType
    # Do not use this default value.
    VALUE_TYPE_UNSPECIFIED = 0

    # The value is a boolean.
    # This value type can be used only if the metric kind is +GAUGE+.
    BOOL = 1

    # The value is a signed 64-bit integer.
    INT64 = 2

    # The value is a double precision floating point number.
    DOUBLE = 3

    # The value is a text string.
    # This value type can be used only if the metric kind is +GAUGE+.
    STRING = 4

    # The value is a +Distribution+.
    DISTRIBUTION = 5

    # The value is money.
    MONEY = 6
  end
end