<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="cloudmonitoring_v2beta1.html">Cloud Monitoring API</a> . <a href="cloudmonitoring_v2beta1.timeseries.html">timeseries</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(project, metric, youngest, count=None, timespan=None, labels=None, pageToken=None, oldest=None)</a></code></p>
<p class="firstline">List the data points of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.</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>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(project, metric, youngest, count=None, timespan=None, labels=None, pageToken=None, oldest=None)</code>
  <pre>List the data points of the time series that match the metric and labels values and that have data points in the interval. Large responses are paginated; use the nextPageToken returned in the response to request subsequent pages of results by setting the pageToken query parameter to the value of the nextPageToken.

Args:
  project: string, The project ID to which this time series belongs. The value can be the numeric project ID or string-based project name. (required)
  metric: string, Metric names are protocol-free URLs as listed in the Supported Metrics page. For example, compute.googleapis.com/instance/disk/read_ops_count. (required)
  youngest: string, End of the time interval (inclusive), which is expressed as an RFC 3339 timestamp. (required)
  count: integer, Maximum number of data points per page, which is used for pagination of results.
  timespan: string, Length of the time interval to query, which is an alternative way to declare the interval: (youngest - timespan, youngest]. The timespan and oldest parameters should not be used together. Units:  
- s: second 
- m: minute 
- h: hour 
- d: day 
- w: week  Examples: 2s, 3m, 4w. Only one unit is allowed, for example: 2w3d is not allowed; you should use 17d instead.

If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest].
  labels: string, A collection of labels for the matching time series, which are represented as:  
- key==value: key equals the value 
- key=~value: key regex matches the value 
- key!=value: key does not equal the value 
- key!~value: key regex does not match the value  For example, to list all of the time series descriptors for the region us-central1, you could specify:
label=cloud.googleapis.com%2Flocation=~us-central1.* (repeated)
  pageToken: string, The pagination token, which is used to page through large result sets. Set this value to the value of the nextPageToken to retrieve the next page of results.
  oldest: string, Start of the time interval (exclusive), which is expressed as an RFC 3339 timestamp. If neither oldest nor timespan is specified, the default time interval will be (youngest - 4 hours, youngest]

Returns:
  An object of the form:

    { # The response of cloudmonitoring.timeseries.list
    "nextPageToken": "A String", # Pagination token. If present, indicates that additional results are available for retrieval. To access the results past the pagination limit, set the pageToken query parameter to this value. All of the points of a time series will be returned before returning any point of the subsequent time series.
    "youngest": "A String", # The youngest timestamp of the interval of this query as an RFC 3339 string.
    "kind": "cloudmonitoring#listTimeseriesResponse", # Identifies what kind of resource this is. Value: the fixed string "cloudmonitoring#listTimeseriesResponse".
    "oldest": "A String", # The oldest timestamp of the interval of this query as an RFC 3339 string.
    "timeseries": [ # The returned time series.
      { # The monitoring data is organized as metrics and stored as data points that are recorded over time. Each data point represents information like the CPU utilization of your virtual machine. A historical record of these data points is called a time series.
        "timeseriesDesc": { # TimeseriesDescriptor identifies a single time series. # The descriptor of this time series.
          "project": "A String", # The Developers Console project number to which this time series belongs.
          "metric": "A String", # The name of the metric.
          "labels": { # The label's name.
            "a_key": "A String", # The label's name.
          },
        },
        "points": [ # The data points of this time series. The points are listed in order of their end timestamp, from younger to older.
          { # Point is a single point in a time series. It consists of a start time, an end time, and a value.
            "end": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
            "doubleValue": 3.14, # The value of this data point as a double-precision floating-point number.
            "start": "A String", # The interval [start, end] is the time period to which the point's value applies. For gauge metrics, whose values are instantaneous measurements, this interval should be empty (start should equal end). For cumulative metrics (of which deltas and rates are special cases), the interval should be non-empty. Both start and end are RFC 3339 strings.
            "boolValue": True or False, # The value of this data point. Either "true" or "false".
            "distributionValue": { # Distribution data point value type. When writing distribution points, try to be consistent with the boundaries of your buckets. If you must modify the bucket boundaries, then do so by merging, partitioning, or appending rather than skewing them. # The value of this data point as a distribution. A distribution value can contain a list of buckets and/or an underflowBucket and an overflowBucket. The values of these points can be used to create a histogram.
              "buckets": [ # The finite buckets.
                { # The histogram's bucket. Buckets that form the histogram of a distribution value. If the upper bound of a bucket, say U1, does not equal the lower bound of the next bucket, say L2, this means that there is no event in [U1, L2).
                  "count": "A String", # The number of events whose values are in the interval defined by this bucket.
                  "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
                  "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
                },
              ],
              "underflowBucket": { # The underflow bucket is a special bucket that does not have the lowerBound field; it includes all of the events that are less than its upper bound. # The underflow bucket.
                "count": "A String", # The number of events whose values are in the interval defined by this bucket.
                "upperBound": 3.14, # The upper bound of the value interval of this bucket (exclusive).
              },
              "overflowBucket": { # The overflow bucket is a special bucket that does not have the upperBound field; it includes all of the events that are no less than its lower bound. # The overflow bucket.
                "count": "A String", # The number of events whose values are in the interval defined by this bucket.
                "lowerBound": 3.14, # The lower bound of the value interval of this bucket (inclusive).
              },
            },
            "stringValue": "A String", # The value of this data point in string format.
            "int64Value": "A String", # The value of this data point as a 64-bit integer.
          },
        ],
      },
    ],
  }</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 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>