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; } }