...
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
ActiveGo 1.8