google.api.MetricDescriptor
*/
class MetricDescriptor extends \Google\Protobuf\Internal\Message
{
/**
* The resource name of the metric descriptor.
*
* Generated from protobuf field string name = 1;
*/
private $name = '';
/**
* 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"
*
* Generated from protobuf field string type = 8;
*/
private $type = '';
/**
* 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.
*
* Generated from protobuf field repeated .google.api.LabelDescriptor labels = 2;
*/
private $labels;
/**
* Whether the metric records instantaneous values, changes to a value, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.MetricKind metric_kind = 3;
*/
private $metric_kind = 0;
/**
* Whether the measurement is an integer, a floating-point number, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.ValueType value_type = 4;
*/
private $value_type = 0;
/**
* 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 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 '}'.
* * `1` represents dimensionless value 1, such as in `1/s`.
* * `%` represents dimensionless value 1/100, and annotates values giving
* a percentage.
*
* Generated from protobuf field string unit = 5;
*/
private $unit = '';
/**
* A detailed description of the metric, which can be used in documentation.
*
* Generated from protobuf field string description = 6;
*/
private $description = '';
/**
* A concise name for the metric, which can be displayed in user interfaces.
* Use sentence case without an ending period, for example "Request count".
* This field is optional but it is recommended to be set for any metrics
* associated with user-visible concepts, such as Quota.
*
* Generated from protobuf field string display_name = 7;
*/
private $display_name = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The resource name of the metric descriptor.
* @type string $type
* 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 \Google\Api\LabelDescriptor[]|\Google\Protobuf\Internal\RepeatedField $labels
* 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.
* @type int $metric_kind
* Whether the metric records instantaneous values, changes to a value, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
* @type int $value_type
* Whether the measurement is an integer, a floating-point number, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
* @type string $unit
* 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 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 '}'.
* * `1` represents dimensionless value 1, such as in `1/s`.
* * `%` represents dimensionless value 1/100, and annotates values giving
* a percentage.
* @type string $description
* A detailed description of the metric, which can be used in documentation.
* @type string $display_name
* A concise name for the metric, which can be displayed in user interfaces.
* Use sentence case without an ending period, for example "Request count".
* This field is optional but it is recommended to be set for any metrics
* associated with user-visible concepts, such as Quota.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Api\Metric::initOnce();
parent::__construct($data);
}
/**
* The resource name of the metric descriptor.
*
* Generated from protobuf field string name = 1;
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The resource name of the metric descriptor.
*
* Generated from protobuf field string name = 1;
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* 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"
*
* Generated from protobuf field string type = 8;
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* 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"
*
* Generated from protobuf field string type = 8;
* @param string $var
* @return $this
*/
public function setType($var)
{
GPBUtil::checkString($var, True);
$this->type = $var;
return $this;
}
/**
* 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.
*
* Generated from protobuf field repeated .google.api.LabelDescriptor labels = 2;
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getLabels()
{
return $this->labels;
}
/**
* 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.
*
* Generated from protobuf field repeated .google.api.LabelDescriptor labels = 2;
* @param \Google\Api\LabelDescriptor[]|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setLabels($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Api\LabelDescriptor::class);
$this->labels = $arr;
return $this;
}
/**
* Whether the metric records instantaneous values, changes to a value, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.MetricKind metric_kind = 3;
* @return int
*/
public function getMetricKind()
{
return $this->metric_kind;
}
/**
* Whether the metric records instantaneous values, changes to a value, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.MetricKind metric_kind = 3;
* @param int $var
* @return $this
*/
public function setMetricKind($var)
{
GPBUtil::checkEnum($var, \Google\Api\MetricDescriptor_MetricKind::class);
$this->metric_kind = $var;
return $this;
}
/**
* Whether the measurement is an integer, a floating-point number, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.ValueType value_type = 4;
* @return int
*/
public function getValueType()
{
return $this->value_type;
}
/**
* Whether the measurement is an integer, a floating-point number, etc.
* Some combinations of `metric_kind` and `value_type` might not be supported.
*
* Generated from protobuf field .google.api.MetricDescriptor.ValueType value_type = 4;
* @param int $var
* @return $this
*/
public function setValueType($var)
{
GPBUtil::checkEnum($var, \Google\Api\MetricDescriptor_ValueType::class);
$this->value_type = $var;
return $this;
}
/**
* 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 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 '}'.
* * `1` represents dimensionless value 1, such as in `1/s`.
* * `%` represents dimensionless value 1/100, and annotates values giving
* a percentage.
*
* Generated from protobuf field string unit = 5;
* @return string
*/
public function getUnit()
{
return $this->unit;
}
/**
* 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 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 '}'.
* * `1` represents dimensionless value 1, such as in `1/s`.
* * `%` represents dimensionless value 1/100, and annotates values giving
* a percentage.
*
* Generated from protobuf field string unit = 5;
* @param string $var
* @return $this
*/
public function setUnit($var)
{
GPBUtil::checkString($var, True);
$this->unit = $var;
return $this;
}
/**
* A detailed description of the metric, which can be used in documentation.
*
* Generated from protobuf field string description = 6;
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* A detailed description of the metric, which can be used in documentation.
*
* Generated from protobuf field string description = 6;
* @param string $var
* @return $this
*/
public function setDescription($var)
{
GPBUtil::checkString($var, True);
$this->description = $var;
return $this;
}
/**
* A concise name for the metric, which can be displayed in user interfaces.
* Use sentence case without an ending period, for example "Request count".
* This field is optional but it is recommended to be set for any metrics
* associated with user-visible concepts, such as Quota.
*
* Generated from protobuf field string display_name = 7;
* @return string
*/
public function getDisplayName()
{
return $this->display_name;
}
/**
* A concise name for the metric, which can be displayed in user interfaces.
* Use sentence case without an ending period, for example "Request count".
* This field is optional but it is recommended to be set for any metrics
* associated with user-visible concepts, such as Quota.
*
* Generated from protobuf field string display_name = 7;
* @param string $var
* @return $this
*/
public function setDisplayName($var)
{
GPBUtil::checkString($var, True);
$this->display_name = $var;
return $this;
}
}