# Google Monitoring API . projects . timeSeries

## Instance Methods

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.

Lists time series that match a filter. This method does not require a Stackdriver account.

Retrieves the next page of results.

### Method Details

`create(name, body, x__xgafv=None)`

    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, The project on which to execute the request. The format is `"projects/{project_id_or_number}"`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The `CreateTimeSeries` request.
        "timeSeries": [ # 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.
          { # A collection of data points that describes the time-varying nature of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric.
            "metricKind": "A String", # The metric kind of the time series. This can be different than the metric kind specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
            "metric": { # A specific metric identified by specifying values for all of the labels of a `MetricDescriptor`. # The fully-specified metric used to identify the time series.
              "labels": { # The set of labels that uniquely identify a metric. To specify a metric, all labels enumerated in the `MetricDescriptor` must be assigned values.
                "a_key": "A String",
              },
              "type": "A String", # An existing metric type, see google.api.MetricDescriptor. For example, `compute.googleapis.com/instance/cpu/usage_time`.
            },
            "points": [ # The data points of this time series. When used as output, points will be sorted by decreasing time order. When used as input, points could be written in any orders.
              { # A single data point in a time series.
                "interval": { # A time interval extending from after `startTime` through `endTime`. If `startTime` is omitted, the interval is the single point in time, `endTime`. # The time interval to which the value applies.
                  "endTime": "A String", # Required. The end of the interval. The interval includes this time.
                  "startTime": "A String", # If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
                },
                "value": { # A single strongly-typed value. # The value of the data point.
                  "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram 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 specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). 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.
                    "count": "A String", # The number of values in the population. Must be non-negative.
                    "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
                      "A String",
                    ],
                    "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is 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 > 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. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
                      "exponentialBuckets": { # Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
                        "scale": 3.14, # Must be greater than 0
                        "growthFactor": 3.14, # Must be greater than 1
                        "numFiniteBuckets": 42, # must be greater than 0
                      },
                      "linearBuckets": { # Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
                        "width": 3.14, # Must be greater than 0.
                        "numFiniteBuckets": 42, # Must be greater than 0.
                        "offset": 3.14, # Lower bound of the first bucket.
                      },
                      "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
                        "bounds": [ # The values must be monotonically increasing.
                          3.14,
                        ],
                      },
                    },
                    "range": { # 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.
                      "max": 3.14, # The maximum of the population values.
                      "min": 3.14, # The minimum of the population values.
                    },
                    "sumOfSquaredDeviation": 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, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
                    "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
                  },
                  "stringValue": "A String", # A variable-length string value.
                  "boolValue": True or False, # A Boolean value: `true` or `false`.
                  "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
                  "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
                },
              },
            ],
            "resource": { # 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'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 `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # The fully-specified monitored resource used to identify the time series.
              "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
                "a_key": "A String",
              },
              "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
            },
            "valueType": "A String", # The value type of the time series. This can be different than the value type specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
          },
        ],
      }

      x__xgafv: string, V1 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 `{}`.
      }

`list(name, orderBy=None, pageSize=None, x__xgafv=None, aggregation_alignmentPeriod=None, pageToken=None, aggregation_groupByFields=None, aggregation_perSeriesAligner=None, interval_endTime=None, aggregation_crossSeriesReducer=None, filter=None, interval_startTime=None, view=None)`

    Lists time series that match a filter. This method does not require a Stackdriver account.

    Args:
      name: string, The project on which to execute the request. The format is "projects/{project_id_or_number}". (required)
      orderBy: string, Specifies the order in which the points of the time series should be returned. By default, results are not ordered. Currently, this field must be left blank.
      pageSize: integer, A positive number that is the maximum number of results to return. When `view` field sets to `FULL`, it limits the number of `Points` server will return; if `view` field is `HEADERS`, it limits the number of `TimeSeries` server will return.
      x__xgafv: string, V1 error format.
      aggregation_alignmentPeriod: string, The alignment period for per-[time series](TimeSeries) alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
      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.
      aggregation_groupByFields: string, The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. 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 `crossSeriesReducer` is applied to each subset of time series. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified, the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored. (repeated)
      aggregation_perSeriesAligner: string, The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
      interval_endTime: string, Required. The end of the interval. The interval includes this time.
      aggregation_crossSeriesReducer: string, The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
      filter: string, A [monitoring filter](/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 = "compute.googleapis.com/instance/cpu/usage_time" AND metric.label.instance_name = "my-instance-name"
      interval_startTime: string, If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
      view: string, Specifies which information is returned about the time series.

    Returns:
      An object of the form:

        { # The `ListTimeSeries` response.
        "nextPageToken": "A String", # 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 `pageToken` in the next call to this method.
        "timeSeries": [ # One or more time series that match the filter included in the request.
          { # A collection of data points that describes the time-varying nature of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric.
            "metricKind": "A String", # The metric kind of the time series. This can be different than the metric kind specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
            "metric": { # A specific metric identified by specifying values for all of the labels of a `MetricDescriptor`. # The fully-specified metric used to identify the time series.
              "labels": { # The set of labels that uniquely identify a metric. To specify a metric, all labels enumerated in the `MetricDescriptor` must be assigned values.
                "a_key": "A String",
              },
              "type": "A String", # An existing metric type, see google.api.MetricDescriptor. For example, `compute.googleapis.com/instance/cpu/usage_time`.
            },
            "points": [ # The data points of this time series. When used as output, points will be sorted by decreasing time order. When used as input, points could be written in any orders.
              { # A single data point in a time series.
                "interval": { # A time interval extending from after `startTime` through `endTime`. If `startTime` is omitted, the interval is the single point in time, `endTime`. # The time interval to which the value applies.
                  "endTime": "A String", # Required. The end of the interval. The interval includes this time.
                  "startTime": "A String", # If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
                },
                "value": { # A single strongly-typed value. # The value of the data point.
                  "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram 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 specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). 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.
                    "count": "A String", # The number of values in the population. Must be non-negative.
                    "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
                      "A String",
                    ],
                    "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is 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 > 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. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
                      "exponentialBuckets": { # Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
                        "scale": 3.14, # Must be greater than 0
                        "growthFactor": 3.14, # Must be greater than 1
                        "numFiniteBuckets": 42, # must be greater than 0
                      },
                      "linearBuckets": { # Specify a 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. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
                        "width": 3.14, # Must be greater than 0.
                        "numFiniteBuckets": 42, # Must be greater than 0.
                        "offset": 3.14, # Lower bound of the first bucket.
                      },
                      "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
                        "bounds": [ # The values must be monotonically increasing.
                          3.14,
                        ],
                      },
                    },
                    "range": { # 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.
                      "max": 3.14, # The maximum of the population values.
                      "min": 3.14, # The minimum of the population values.
                    },
                    "sumOfSquaredDeviation": 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, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
                    "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
                  },
                  "stringValue": "A String", # A variable-length string value.
                  "boolValue": True or False, # A Boolean value: `true` or `false`.
                  "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
                  "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
                },
              },
            ],
            "resource": { # 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'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 `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # The fully-specified monitored resource used to identify the time series.
              "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
                "a_key": "A String",
              },
              "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
            },
            "valueType": "A String", # The value type of the time series. This can be different than the value type specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
          },
        ],
      }

`list_next(previous_request, previous_response)`

    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.