// Copyright 2016 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.monitoring.v3; import "google/api/annotations.proto"; import "google/monitoring/v3/common.proto"; import "google/protobuf/timestamp.proto"; option java_multiple_files = true; option java_outer_classname = "AgentProto"; option java_package = "com.google.monitoring.v3"; // A single data point from a `collectd`-based plugin. message CollectdValue { // The type of measurement for the data source. enum DataSourceType { // An unspecified data source type. // This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED]. UNSPECIFIED_DATA_SOURCE_TYPE = 0; // An instantaneous measurement of a varying quantity. // This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE]. GAUGE = 1; // A cumulative value over time. // This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE]. COUNTER = 2; // A rate of change of the measurement. DERIVE = 3; // An amount of change since the last measurement interval. // This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA]. ABSOLUTE = 4; } // The data source for the `collectd` value. For example there are // two data sources for network measurements: `"rx"` and `"tx"`. string data_source_name = 1; // The type of measurement. DataSourceType data_source_type = 2; // The measurement value. TypedValue value = 3; } // A collection of data points sent from a `collectd`-based plugin. // See the `collectd` documentation for more information. message CollectdPayload { // The measured values during this time interval. // Each value must have a different `dataSourceName`. repeated CollectdValue values = 1; // The start time of the interval. google.protobuf.Timestamp start_time = 2; // The end time of the interval. google.protobuf.Timestamp end_time = 3; // The name of the plugin. Example: `"disk"`. string plugin = 4; // The instance name of the plugin Example: `"hdcl"`. string plugin_instance = 5; // The measurement type. Example: `"memory"`. string type = 6; // The measurement type instance. Example: `"used"`. string type_instance = 7; // The measurement metadata. Example: `"process_id" -> 12345` map metadata = 8; }