...
Package metric
Overview ▹
Index ▹
Variables
var MetricDescriptor_MetricKind_name = map[int32]string{ 0: "METRIC_KIND_UNSPECIFIED", 1: "GAUGE", 2: "DELTA", 3: "CUMULATIVE", }
var MetricDescriptor_MetricKind_value = map[string]int32{ "METRIC_KIND_UNSPECIFIED": 0, "GAUGE": 1, "DELTA": 2, "CUMULATIVE": 3, }
var MetricDescriptor_ValueType_name = map[int32]string{ 0: "VALUE_TYPE_UNSPECIFIED", 1: "BOOL", 2: "INT64", 3: "DOUBLE", 4: "STRING", 5: "DISTRIBUTION", 6: "MONEY", }
var MetricDescriptor_ValueType_value = map[string]int32{ "VALUE_TYPE_UNSPECIFIED": 0, "BOOL": 1, "INT64": 2, "DOUBLE": 3, "STRING": 4, "DISTRIBUTION": 5, "MONEY": 6, }
type Metric ¶
A specific metric, identified by specifying values for all of the labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
type Metric struct { // An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor]. // For example, `custom.googleapis.com/invoice/paid/amount`. Type string `protobuf:"bytes,3,opt,name=type" json:"type,omitempty"` // The set of label values that uniquely identify this metric. All // labels listed in the `MetricDescriptor` must be assigned values. Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` }
func (*Metric) Descriptor ¶
func (*Metric) Descriptor() ([]byte, []int)
func (*Metric) GetLabels ¶
func (m *Metric) GetLabels() map[string]string
func (*Metric) GetType ¶
func (m *Metric) GetType() string
func (*Metric) ProtoMessage ¶
func (*Metric) ProtoMessage()
func (*Metric) Reset ¶
func (m *Metric) Reset()
func (*Metric) String ¶
func (m *Metric) String() string
type MetricDescriptor ¶
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.
type MetricDescriptor struct { // 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 `my-project-id`: // // "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount" Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // The metric type, including its DNS name prefix. The type is not // URL-encoded. All user-defined custom 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" Type string `protobuf:"bytes,8,opt,name=type" json:"type,omitempty"` // 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. Labels []*google_api.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"` // Whether the metric records instantaneous values, changes to a value, etc. // Some combinations of `metric_kind` and `value_type` might not be supported. MetricKind MetricDescriptor_MetricKind `protobuf:"varint,3,opt,name=metric_kind,json=metricKind,enum=google.api.MetricDescriptor_MetricKind" json:"metric_kind,omitempty"` // Whether the measurement is an integer, a floating-point number, etc. // Some combinations of `metric_kind` and `value_type` might not be supported. ValueType MetricDescriptor_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=google.api.MetricDescriptor_ValueType" json:"value_type,omitempty"` // 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` 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`, `By{transmitted}/s == By/s`. // * `NAME` is a sequence of non-blank printable ASCII characters not // containing '{' or '}'. Unit string `protobuf:"bytes,5,opt,name=unit" json:"unit,omitempty"` // A detailed description of the metric, which can be used in documentation. Description string `protobuf:"bytes,6,opt,name=description" json:"description,omitempty"` // A concise name for the metric, which can be displayed in user interfaces. // Use sentence case without an ending period, for example "Request count". DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName" json:"display_name,omitempty"` }
func (*MetricDescriptor) Descriptor ¶
func (*MetricDescriptor) Descriptor() ([]byte, []int)
func (*MetricDescriptor) GetDescription ¶
func (m *MetricDescriptor) GetDescription() string
func (*MetricDescriptor) GetDisplayName ¶
func (m *MetricDescriptor) GetDisplayName() string
func (*MetricDescriptor) GetLabels ¶
func (m *MetricDescriptor) GetLabels() []*google_api.LabelDescriptor
func (*MetricDescriptor) GetMetricKind ¶
func (m *MetricDescriptor) GetMetricKind() MetricDescriptor_MetricKind
func (*MetricDescriptor) GetName ¶
func (m *MetricDescriptor) GetName() string
func (*MetricDescriptor) GetType ¶
func (m *MetricDescriptor) GetType() string
func (*MetricDescriptor) GetUnit ¶
func (m *MetricDescriptor) GetUnit() string
func (*MetricDescriptor) GetValueType ¶
func (m *MetricDescriptor) GetValueType() MetricDescriptor_ValueType
func (*MetricDescriptor) ProtoMessage ¶
func (*MetricDescriptor) ProtoMessage()
func (*MetricDescriptor) Reset ¶
func (m *MetricDescriptor) Reset()
func (*MetricDescriptor) String ¶
func (m *MetricDescriptor) String() string
type MetricDescriptor_MetricKind ¶
The kind of measurement. It describes how the data is reported.
type MetricDescriptor_MetricKind int32
const ( // Do not use this default value. MetricDescriptor_METRIC_KIND_UNSPECIFIED MetricDescriptor_MetricKind = 0 // An instantaneous measurement of a value. MetricDescriptor_GAUGE MetricDescriptor_MetricKind = 1 // The change in a value during a time interval. MetricDescriptor_DELTA MetricDescriptor_MetricKind = 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. MetricDescriptor_CUMULATIVE MetricDescriptor_MetricKind = 3 )
func (MetricDescriptor_MetricKind) EnumDescriptor ¶
func (MetricDescriptor_MetricKind) EnumDescriptor() ([]byte, []int)
func (MetricDescriptor_MetricKind) String ¶
func (x MetricDescriptor_MetricKind) String() string
type MetricDescriptor_ValueType ¶
The value type of a metric.
type MetricDescriptor_ValueType int32
const ( // Do not use this default value. MetricDescriptor_VALUE_TYPE_UNSPECIFIED MetricDescriptor_ValueType = 0 // The value is a boolean. // This value type can be used only if the metric kind is `GAUGE`. MetricDescriptor_BOOL MetricDescriptor_ValueType = 1 // The value is a signed 64-bit integer. MetricDescriptor_INT64 MetricDescriptor_ValueType = 2 // The value is a double precision floating point number. MetricDescriptor_DOUBLE MetricDescriptor_ValueType = 3 // The value is a text string. // This value type can be used only if the metric kind is `GAUGE`. MetricDescriptor_STRING MetricDescriptor_ValueType = 4 // The value is a [`Distribution`][google.api.Distribution]. MetricDescriptor_DISTRIBUTION MetricDescriptor_ValueType = 5 // The value is money. MetricDescriptor_MONEY MetricDescriptor_ValueType = 6 )
func (MetricDescriptor_ValueType) EnumDescriptor ¶
func (MetricDescriptor_ValueType) EnumDescriptor() ([]byte, []int)
func (MetricDescriptor_ValueType) String ¶
func (x MetricDescriptor_ValueType) String() string