blob: eb21a1c01a68d9b4b414a6367d24f85798fd543f [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="monitoring_v3.html">Cloud Monitoring API</a> . <a href="monitoring_v3.projects.html">projects</a> . <a href="monitoring_v3.projects.timeSeries.html">timeSeries</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#create">create(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.</p>
<p class="toc_element">
<code><a href="#list">list(name, interval_startTime=None, orderBy=None, pageToken=None, pageSize=None, filter=None, aggregation_groupByFields=None, aggregation_perSeriesAligner=None, interval_endTime=None, view=None, aggregation_alignmentPeriod=None, aggregation_crossSeriesReducer=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists time series that match a filter. This method does not require a Workspace.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#query">query(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Queries time series using Monitoring Query Language. This method does not require a Workspace.</p>
<p class="toc_element">
<code><a href="#query_next">query_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
<pre>Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.
Args:
name: string, Required. The project on which to execute the request. The format is:
projects/[PROJECT_ID_OR_NUMBER]
(required)
body: object, The request body.
The object takes the form of:
{ # The CreateTimeSeries request.
&quot;timeSeries&quot;: [ # Required. The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each TimeSeries value must fully specify a unique time series by supplying all label values for the metric and the monitored resource.The maximum number of TimeSeries objects per Create request is 200.
{ # A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.
&quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored.
&quot;userLabels&quot;: { # Output only. A map of user-defined metadata labels.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;systemLabels&quot;: { # Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including &quot;machine_image&quot;, &quot;vpc&quot;, &quot;subnet_id&quot;, &quot;security_group&quot;, &quot;name&quot;, etc. System label values can be only strings, Boolean values, or a list of strings. For example:
# { &quot;name&quot;: &quot;my-test-instance&quot;,
# &quot;security_group&quot;: [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;],
# &quot;spot_instance&quot;: false }
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;metricKind&quot;: &quot;A String&quot;, # The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric&#x27;s descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.
&quot;points&quot;: [ # The data points of this time series. When listing time series, points are returned in reverse time order.When creating a time series, this field must contain exactly one point and the point&#x27;s type must be the same as the value type of the associated metric. If the associated metric&#x27;s descriptor must be auto-created, then the value type of the descriptor is determined by the point&#x27;s type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.
{ # A single data point in a time series.
&quot;interval&quot;: { # A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. In no case can the end time be earlier than the start time. # The time interval to which the data point applies. For GAUGE metrics, the start time is optional, but if it is supplied, it must equal the end time. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying 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.
# For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval.
# For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval.
# For CUMULATIVE metrics, the start time and end time must specify a a non-zero interval, with subsequent points specifying 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. The new start time must be at least a millisecond after the end time of the previous interval.
# The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.
&quot;startTime&quot;: &quot;A String&quot;, # Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.
&quot;endTime&quot;: &quot;A String&quot;, # Required. The end of the time interval.
},
&quot;value&quot;: { # A single strongly-typed value. # The value of the data point.
&quot;boolValue&quot;: True or False, # A Boolean value: true or false.
&quot;int64Value&quot;: &quot;A String&quot;, # A 64-bit integer. Its range is approximately &amp;plusmn;9.2x10&lt;sup&gt;18&lt;/sup&gt;.
&quot;stringValue&quot;: &quot;A String&quot;, # A variable-length string value.
&quot;doubleValue&quot;: 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately &amp;plusmn;10&lt;sup&gt;&amp;plusmn;300&lt;/sup&gt; and it has 16 significant digits of precision.
&quot;distributionValue&quot;: { # Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets.The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless. # A distribution value.
&quot;range&quot;: { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Cloud Monitoring API v3.
&quot;max&quot;: 3.14, # The maximum of the population values.
&quot;min&quot;: 3.14, # The minimum of the population values.
},
&quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is:
# Sum[i=1..n]((x_i - mean)^2)
# Knuth, &quot;The Art of Computer Programming&quot;, Vol. 2, page 323, 3rd edition describes Welford&#x27;s method for accumulating this sum in one pass.If count is zero then this field must be zero.
&quot;count&quot;: &quot;A String&quot;, # The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.
&quot;bucketCounts&quot;: [ # Required in the Cloud Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.
&quot;A String&quot;,
],
&quot;mean&quot;: 3.14, # The arithmetic mean of the values in the population. If count is zero then this field must be zero.
&quot;bucketOptions&quot;: { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i &gt; 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Required in the Cloud Monitoring API v3. Defines the histogram bucket boundaries.
&quot;linearBuckets&quot;: { # Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): offset + (width * i). Lower bound (1 &lt;= i &lt; N): offset + (width * (i - 1)). # The linear bucket.
&quot;offset&quot;: 3.14, # Lower bound of the first bucket.
&quot;width&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;exponentialBuckets&quot;: { # Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): scale * (growth_factor ^ i). Lower bound (1 &lt;= i &lt; N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
&quot;growthFactor&quot;: 3.14, # Must be greater than 1.
&quot;scale&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;explicitBuckets&quot;: { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): boundsi Lower bound (1 &lt;= i &lt; N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
&quot;bounds&quot;: [ # The values must be monotonically increasing.
3.14,
],
},
},
&quot;exemplars&quot;: [ # Must be in increasing order of value field.
{ # Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
&quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
&quot;attachments&quot;: [ # Contextual information about the example value. Examples are:Trace: type.googleapis.com/google.monitoring.v3.SpanContextLiteral string: type.googleapis.com/google.protobuf.StringValueLabels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the exemplar belongs.
},
],
},
},
},
],
&quot;metric&quot;: { # A specific metric, identified by specifying values for all of the labels of a MetricDescriptor. # The associated metric. A fully-specified metric used to identify the time series.
&quot;labels&quot;: { # The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;type&quot;: &quot;A String&quot;, # An existing metric type, see google.api.MetricDescriptor. For example, custom.googleapis.com/invoice/paid/amount.
},
&quot;valueType&quot;: &quot;A String&quot;, # The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.
&quot;resource&quot;: { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource&#x27;s schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for &quot;gce_instance&quot; has labels &quot;instance_id&quot; and &quot;zone&quot;: # The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.
# { &quot;type&quot;: &quot;gce_instance&quot;,
# &quot;labels&quot;: { &quot;instance_id&quot;: &quot;12345678901234&quot;,
# &quot;zone&quot;: &quot;us-central1-a&quot; }}
&quot;labels&quot;: { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels &quot;project_id&quot;, &quot;instance_id&quot;, and &quot;zone&quot;.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types and Logging resource types.
},
},
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
# The JSON representation for Empty is empty JSON object {}.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(name, interval_startTime=None, orderBy=None, pageToken=None, pageSize=None, filter=None, aggregation_groupByFields=None, aggregation_perSeriesAligner=None, interval_endTime=None, view=None, aggregation_alignmentPeriod=None, aggregation_crossSeriesReducer=None, x__xgafv=None)</code>
<pre>Lists time series that match a filter. This method does not require a Workspace.
Args:
name: string, Required. The project on which to execute the request. The format is:
projects/[PROJECT_ID_OR_NUMBER]
(required)
interval_startTime: string, Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.
orderBy: string, Unsupported: must be left blank. The points in each time series are currently returned in reverse time order (most recent to oldest).
pageToken: string, If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
pageSize: integer, A positive number that is the maximum number of results to return. If page_size is empty or more than 100,000 results, the effective page_size is 100,000 results. If view is set to FULL, this is the maximum number of Points returned. If view is set to HEADERS, this is the maximum number of TimeSeries returned.
filter: string, Required. A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example:
metric.type = &quot;compute.googleapis.com/instance/cpu/usage_time&quot; AND
metric.labels.instance_name = &quot;my-instance-name&quot;
aggregation_groupByFields: string, The set of fields to preserve when cross_series_reducer is specified. The group_by_fields determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The cross_series_reducer is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains resource.type. Fields not specified in group_by_fields are aggregated away. If group_by_fields is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If cross_series_reducer is not defined, this field is ignored. (repeated)
aggregation_perSeriesAligner: string, An Aligner describes how to bring the data points in a single time series into temporal alignment. Except for ALIGN_NONE, all alignments cause all the data points in an alignment_period to be mathematically grouped together, resulting in a single data point for each alignment_period with end timestamp at the end of the period.Not all alignment operations may be applied to all time series. The valid choices depend on the metric_kind and value_type of the original time series. Alignment can change the metric_kind or the value_type of the time series.Time series data must be aligned in order to perform cross-time series reduction. If cross_series_reducer is specified, then per_series_aligner must be specified and not equal to ALIGN_NONE and alignment_period must be specified; otherwise, an error is returned.
interval_endTime: string, Required. The end of the time interval.
view: string, Required. Specifies which information is returned about the time series.
aggregation_alignmentPeriod: string, The alignment_period specifies a time interval, in seconds, that is used to divide the data in all the time series into consistent blocks of time. This will be done before the per-series aligner can be applied to the data.The value must be at least 60 seconds. If a per-series aligner other than ALIGN_NONE is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner ALIGN_NONE is specified, then this field is ignored.
aggregation_crossSeriesReducer: string, The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series.Not all reducer operations can be applied to all time series. The valid choices depend on the metric_kind and the value_type of the original time series. Reduction can yield a time series with a different metric_kind or value_type than the input time series.Time series data must first be aligned (see per_series_aligner) in order to perform cross-time series reduction. If cross_series_reducer is specified, then per_series_aligner must be specified, and must not be ALIGN_NONE. An alignment_period must also be specified; otherwise, an error is returned.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The ListTimeSeries response.
&quot;timeSeries&quot;: [ # One or more time series that match the filter included in the request.
{ # A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.
&quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored.
&quot;userLabels&quot;: { # Output only. A map of user-defined metadata labels.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;systemLabels&quot;: { # Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including &quot;machine_image&quot;, &quot;vpc&quot;, &quot;subnet_id&quot;, &quot;security_group&quot;, &quot;name&quot;, etc. System label values can be only strings, Boolean values, or a list of strings. For example:
# { &quot;name&quot;: &quot;my-test-instance&quot;,
# &quot;security_group&quot;: [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;],
# &quot;spot_instance&quot;: false }
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;metricKind&quot;: &quot;A String&quot;, # The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric&#x27;s descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either GAUGE (the default) or CUMULATIVE.
&quot;points&quot;: [ # The data points of this time series. When listing time series, points are returned in reverse time order.When creating a time series, this field must contain exactly one point and the point&#x27;s type must be the same as the value type of the associated metric. If the associated metric&#x27;s descriptor must be auto-created, then the value type of the descriptor is determined by the point&#x27;s type, which must be BOOL, INT64, DOUBLE, or DISTRIBUTION.
{ # A single data point in a time series.
&quot;interval&quot;: { # A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. In no case can the end time be earlier than the start time. # The time interval to which the data point applies. For GAUGE metrics, the start time is optional, but if it is supplied, it must equal the end time. For DELTA metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For CUMULATIVE metrics, the start and end time should specify a non-zero interval, with subsequent points specifying 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.
# For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval.
# For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval.
# For CUMULATIVE metrics, the start time and end time must specify a a non-zero interval, with subsequent points specifying 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. The new start time must be at least a millisecond after the end time of the previous interval.
# The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.
&quot;startTime&quot;: &quot;A String&quot;, # Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.
&quot;endTime&quot;: &quot;A String&quot;, # Required. The end of the time interval.
},
&quot;value&quot;: { # A single strongly-typed value. # The value of the data point.
&quot;boolValue&quot;: True or False, # A Boolean value: true or false.
&quot;int64Value&quot;: &quot;A String&quot;, # A 64-bit integer. Its range is approximately &amp;plusmn;9.2x10&lt;sup&gt;18&lt;/sup&gt;.
&quot;stringValue&quot;: &quot;A String&quot;, # A variable-length string value.
&quot;doubleValue&quot;: 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately &amp;plusmn;10&lt;sup&gt;&amp;plusmn;300&lt;/sup&gt; and it has 16 significant digits of precision.
&quot;distributionValue&quot;: { # Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets.The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless. # A distribution value.
&quot;range&quot;: { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Cloud Monitoring API v3.
&quot;max&quot;: 3.14, # The maximum of the population values.
&quot;min&quot;: 3.14, # The minimum of the population values.
},
&quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is:
# Sum[i=1..n]((x_i - mean)^2)
# Knuth, &quot;The Art of Computer Programming&quot;, Vol. 2, page 323, 3rd edition describes Welford&#x27;s method for accumulating this sum in one pass.If count is zero then this field must be zero.
&quot;count&quot;: &quot;A String&quot;, # The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.
&quot;bucketCounts&quot;: [ # Required in the Cloud Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.
&quot;A String&quot;,
],
&quot;mean&quot;: 3.14, # The arithmetic mean of the values in the population. If count is zero then this field must be zero.
&quot;bucketOptions&quot;: { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i &gt; 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Required in the Cloud Monitoring API v3. Defines the histogram bucket boundaries.
&quot;linearBuckets&quot;: { # Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): offset + (width * i). Lower bound (1 &lt;= i &lt; N): offset + (width * (i - 1)). # The linear bucket.
&quot;offset&quot;: 3.14, # Lower bound of the first bucket.
&quot;width&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;exponentialBuckets&quot;: { # Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): scale * (growth_factor ^ i). Lower bound (1 &lt;= i &lt; N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
&quot;growthFactor&quot;: 3.14, # Must be greater than 1.
&quot;scale&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;explicitBuckets&quot;: { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): boundsi Lower bound (1 &lt;= i &lt; N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
&quot;bounds&quot;: [ # The values must be monotonically increasing.
3.14,
],
},
},
&quot;exemplars&quot;: [ # Must be in increasing order of value field.
{ # Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
&quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
&quot;attachments&quot;: [ # Contextual information about the example value. Examples are:Trace: type.googleapis.com/google.monitoring.v3.SpanContextLiteral string: type.googleapis.com/google.protobuf.StringValueLabels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the exemplar belongs.
},
],
},
},
},
],
&quot;metric&quot;: { # A specific metric, identified by specifying values for all of the labels of a MetricDescriptor. # The associated metric. A fully-specified metric used to identify the time series.
&quot;labels&quot;: { # The set of label values that uniquely identify this metric. All labels listed in the MetricDescriptor must be assigned values.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;type&quot;: &quot;A String&quot;, # An existing metric type, see google.api.MetricDescriptor. For example, custom.googleapis.com/invoice/paid/amount.
},
&quot;valueType&quot;: &quot;A String&quot;, # The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series.When creating a time series, this field is optional. If present, it must be the same as the type of the data in the points field.
&quot;resource&quot;: { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The type field identifies a MonitoredResourceDescriptor object that describes the resource&#x27;s schema. Information in the labels field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for &quot;gce_instance&quot; has labels &quot;instance_id&quot; and &quot;zone&quot;: # The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data.
# { &quot;type&quot;: &quot;gce_instance&quot;,
# &quot;labels&quot;: { &quot;instance_id&quot;: &quot;12345678901234&quot;,
# &quot;zone&quot;: &quot;us-central1-a&quot; }}
&quot;labels&quot;: { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels &quot;project_id&quot;, &quot;instance_id&quot;, and &quot;zone&quot;.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;type&quot;: &quot;A String&quot;, # Required. The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types and Logging resource types.
},
},
],
&quot;executionErrors&quot;: [ # Query execution errors that may have caused the time series data returned to be incomplete.
{ # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).
&quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
},
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method.
&quot;unit&quot;: &quot;A String&quot;, # The unit in which all time_series point values are reported. unit follows the UCUM format for units as seen in https://unitsofmeasure.org/ucum.html. If different time_series have different units (for example, because they come from different metric types, or a unit is absent), then unit will be &quot;{not_a_unit}&quot;.
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call &#x27;execute()&#x27; on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="query">query(name, body=None, x__xgafv=None)</code>
<pre>Queries time series using Monitoring Query Language. This method does not require a Workspace.
Args:
name: string, Required. The project on which to execute the request. The format is:
projects/[PROJECT_ID_OR_NUMBER]
(required)
body: object, The request body.
The object takes the form of:
{ # The QueryTimeSeries request.
&quot;pageSize&quot;: 42, # A positive number that is the maximum number of time_series_data to return.
&quot;pageToken&quot;: &quot;A String&quot;, # If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
&quot;query&quot;: &quot;A String&quot;, # Required. The query in the monitoring query language format. The default time zone is in UTC.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The QueryTimeSeries response.
&quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as page_token in the next call to this method.
&quot;timeSeriesData&quot;: [ # The time series data.
{ # Represents the values of a time series associated with a TimeSeriesDescriptor.
&quot;pointData&quot;: [ # The points in the time series.
{ # A point&#x27;s value columns and time interval. Each point has one or more point values corresponding to the entries in point_descriptors field in the TimeSeriesDescriptor associated with this object.
&quot;timeInterval&quot;: { # A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind of the metric value. In no case can the end time be earlier than the start time. # The time interval associated with the point.
# For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval.
# For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval.
# For CUMULATIVE metrics, the start time and end time must specify a a non-zero interval, with subsequent points specifying 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. The new start time must be at least a millisecond after the end time of the previous interval.
# The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.
&quot;startTime&quot;: &quot;A String&quot;, # Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.
&quot;endTime&quot;: &quot;A String&quot;, # Required. The end of the time interval.
},
&quot;values&quot;: [ # The values that make up the point.
{ # A single strongly-typed value.
&quot;boolValue&quot;: True or False, # A Boolean value: true or false.
&quot;int64Value&quot;: &quot;A String&quot;, # A 64-bit integer. Its range is approximately &amp;plusmn;9.2x10&lt;sup&gt;18&lt;/sup&gt;.
&quot;stringValue&quot;: &quot;A String&quot;, # A variable-length string value.
&quot;doubleValue&quot;: 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately &amp;plusmn;10&lt;sup&gt;&amp;plusmn;300&lt;/sup&gt; and it has 16 significant digits of precision.
&quot;distributionValue&quot;: { # Distribution contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets.The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths.Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the mean and sum_of_squared_deviation fields meaningless. # A distribution value.
&quot;range&quot;: { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the count is zero. This field is presently ignored by the Cloud Monitoring API v3.
&quot;max&quot;: 3.14, # The maximum of the population values.
&quot;min&quot;: 3.14, # The minimum of the population values.
},
&quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is:
# Sum[i=1..n]((x_i - mean)^2)
# Knuth, &quot;The Art of Computer Programming&quot;, Vol. 2, page 323, 3rd edition describes Welford&#x27;s method for accumulating this sum in one pass.If count is zero then this field must be zero.
&quot;count&quot;: &quot;A String&quot;, # The number of values in the population. Must be non-negative. This value must equal the sum of the values in bucket_counts if a histogram is provided.
&quot;bucketCounts&quot;: [ # Required in the Cloud Monitoring API v3. The values for each bucket specified in bucket_options. The sum of the values in bucketCounts must equal the value in the count field of the Distribution object. The order of the bucket counts follows the numbering schemes described for the three bucket types. The underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; and the overflow bucket has number N-1. The size of bucket_counts must not be greater than N. If the size is less than N, then the remaining buckets are assigned values of zero.
&quot;A String&quot;,
],
&quot;mean&quot;: 3.14, # The arithmetic mean of the values in the population. If count is zero then this field must be zero.
&quot;bucketOptions&quot;: { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i &gt; 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Required in the Cloud Monitoring API v3. Defines the histogram bucket boundaries.
&quot;linearBuckets&quot;: { # Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): offset + (width * i). Lower bound (1 &lt;= i &lt; N): offset + (width * (i - 1)). # The linear bucket.
&quot;offset&quot;: 3.14, # Lower bound of the first bucket.
&quot;width&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;exponentialBuckets&quot;: { # Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.There are num_finite_buckets + 2 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): scale * (growth_factor ^ i). Lower bound (1 &lt;= i &lt; N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
&quot;growthFactor&quot;: 3.14, # Must be greater than 1.
&quot;scale&quot;: 3.14, # Must be greater than 0.
&quot;numFiniteBuckets&quot;: 42, # Must be greater than 0.
},
&quot;explicitBuckets&quot;: { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 &lt;= i &lt; N-1): boundsi Lower bound (1 &lt;= i &lt; N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
&quot;bounds&quot;: [ # The values must be monotonically increasing.
3.14,
],
},
},
&quot;exemplars&quot;: [ # Must be in increasing order of value field.
{ # Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
&quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
&quot;attachments&quot;: [ # Contextual information about the example value. Examples are:Trace: type.googleapis.com/google.monitoring.v3.SpanContextLiteral string: type.googleapis.com/google.protobuf.StringValueLabels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabelsThere may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the exemplar belongs.
},
],
},
},
],
},
],
&quot;labelValues&quot;: [ # The values of the labels in the time series identifier, given in the same order as the label_descriptors field of the TimeSeriesDescriptor associated with this object. Each value must have a value of the type given in the corresponding entry of label_descriptors.
{ # A label value.
&quot;stringValue&quot;: &quot;A String&quot;, # A string label value.
&quot;int64Value&quot;: &quot;A String&quot;, # An int64 label value.
&quot;boolValue&quot;: True or False, # A bool label value.
},
],
},
],
&quot;timeSeriesDescriptor&quot;: { # A descriptor for the labels and points in a time series. # The descriptor for the time series data.
&quot;labelDescriptors&quot;: [ # Descriptors for the labels.
{ # A description of a label.
&quot;key&quot;: &quot;A String&quot;, # The key for this label. The key must meet the following criteria:
# Does not exceed 100 characters.
# Matches the following regular expression: [a-zA-Z][a-zA-Z0-9_]*
# The first character must be an upper- or lower-case letter.
# The remaining characters must be letters, digits, or underscores.
&quot;description&quot;: &quot;A String&quot;, # A human-readable description for the label.
&quot;valueType&quot;: &quot;A String&quot;, # The type of data that can be assigned to the label.
},
],
&quot;pointDescriptors&quot;: [ # Descriptors for the point data value columns.
{ # A descriptor for the value columns in a data point.
&quot;valueType&quot;: &quot;A String&quot;, # The value type.
&quot;metricKind&quot;: &quot;A String&quot;, # The value stream kind.
&quot;key&quot;: &quot;A String&quot;, # The value key.
},
],
},
&quot;partialErrors&quot;: [ # Query execution errors that may have caused the time series data returned to be incomplete. The available data will be available in the response.
{ # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).
&quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
&quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
{
&quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
},
],
&quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
},
],
}</pre>
</div>
<div class="method">
<code class="details" id="query_next">query_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call &#x27;execute()&#x27; on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
</body></html>