Method: projects.collectdTimeSeries.create

Stackdriver Monitoring Agent only: Creates a new time series.

HTTP request

POST https://monitoring.googleapis.com/v3/{name}/collectdTimeSeries

Path parameters

Parameters
name

string

The project in which to create the time series. The format is "projects/PROJECT_ID_OR_NUMBER".

Request body

The request body contains data with the following structure:

JSON representation
{
  "resource": {
    object(MonitoredResource)
  },
  "collectdVersion": string,
  "collectdPayloads": [
    {
      object(CollectdPayload)
    }
  ],
}
Fields
resource

object(MonitoredResource)

The monitored resource associated with the time series.

collectdVersion

string

The version of collectd that collected the data. Example: "5.3.0-192.el6".

collectdPayloads[]

object(CollectdPayload)

The collectd payloads representing the time series data. You must not include more than a single point for each time series, so no two payloads can have the same values for all of the fields plugin, pluginInstance, type, and typeInstance.

Response body

If successful, the response body contains data with the following structure:

The collectdTimeSeries.create response.

JSON representation
{
  "payloadErrors": [
    {
      object(CollectdPayloadError)
    }
  ],
}
Fields
payloadErrors[]

object(CollectdPayloadError)

Records the error status for points that were not written due to an error.

Failed requests for which nothing is written will return an error response instead.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/monitoring.write

For more information, see the Auth Guide.

CollectdPayload

A collection of data points sent from a collectd-based plugin. See the collectd documentation for more information.

JSON representation
{
  "values": [
    {
      object(CollectdValue)
    }
  ],
  "startTime": string,
  "endTime": string,
  "plugin": string,
  "pluginInstance": string,
  "type": string,
  "typeInstance": string,
  "metadata": {
    string: {
      object(TypedValue)
    },
    ...
  },
}
Fields
values[]

object(CollectdValue)

The measured values during this time interval. Each value must have a different dataSourceName.

startTime

string (Timestamp format)

The start time of the interval.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

The end time of the interval.

A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

plugin

string

The name of the plugin. Example: "disk".

pluginInstance

string

The instance name of the plugin Example: "hdcl".

type

string

The measurement type. Example: "memory".

typeInstance

string

The measurement type instance. Example: "used".

metadata

map (key: string, value: object(TypedValue))

The measurement metadata. Example: "process_id" -> 12345

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

CollectdValue

A single data point from a collectd-based plugin.

JSON representation
{
  "dataSourceName": string,
  "dataSourceType": enum(DataSourceType),
  "value": {
    object(TypedValue)
  },
}
Fields
dataSourceName

string

The data source for the collectd value. For example there are two data sources for network measurements: "rx" and "tx".

dataSourceType

enum(DataSourceType)

The type of measurement.

value

object(TypedValue)

The measurement value.

DataSourceType

The type of measurement for the data source.

Enums
UNSPECIFIED_DATA_SOURCE_TYPE An unspecified data source type. This corresponds to google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED.
GAUGE An instantaneous measurement of a varying quantity. This corresponds to google.api.MetricDescriptor.MetricKind.GAUGE.
COUNTER A cumulative value over time. This corresponds to google.api.MetricDescriptor.MetricKind.CUMULATIVE.
DERIVE A rate of change of the measurement.
ABSOLUTE An amount of change since the last measurement interval. This corresponds to google.api.MetricDescriptor.MetricKind.DELTA.

CollectdPayloadError

Describes the error status for payloads that were not written.

JSON representation
{
  "index": number,
  "error": {
    object(Status)
  },
  "valueErrors": [
    {
      object(CollectdValueError)
    }
  ],
}
Fields
index

number

The zero-based index in CreateCollectdTimeSeriesRequest.collectd_payloads.

error

object(Status)

Records the error status for the payload. If this field is present, the partial errors for nested values won't be populated.

valueErrors[]

object(CollectdValueError)

Records the error status for values that were not written due to an error.

Failed payloads for which nothing is written will not include partial value errors.

Status

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. The error model is designed to be:

  • Simple to use and understand for most users
  • Flexible enough to meet unexpected needs

Overview

The Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.

Language mapping

The Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.

Other uses

The error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.

Example uses of this error model include:

  • Partial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.

  • Workflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.

  • Batch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.

  • Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.

  • Logging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.

JSON representation
{
  "code": number,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ],
}
Fields
code

number

The status code, which should be an enum value of google.rpc.Code.

message

string

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.

details[]

object

A list of messages that carry the error details. There is a common set of message types for APIs to use.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }.

CollectdValueError

Describes the error status for values that were not written.

JSON representation
{
  "index": number,
  "error": {
    object(Status)
  },
}
Fields
index

number

The zero-based index in CollectdPayload.values within the parent CreateCollectdTimeSeriesRequest.collectd_payloads.

error

object(Status)

Records the error status for the value.

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

Stackdriver Monitoring