github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/proto/v3/time_serie.proto (about)

     1  syntax = "proto3";
     2  
     3  package ntt.monitoring.v3;
     4  
     5  import "edgelq-sdk/monitoring/proto/v3/common.proto";
     6  import "edgelq-sdk/monitoring/proto/v3/metric_descriptor.proto";
     7  import "google/api/resource.proto";
     8  
     9  option go_package = "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/time_serie;time_serie";
    10  option java_multiple_files = true;
    11  option java_outer_classname = "TimeSerieProto";
    12  option java_package = "com.ntt.monitoring.pb.v3";
    13  
    14  // A single data point in a time series.
    15  message Point {
    16    // The time interval to which the data point applies.  For `GAUGE` metrics,
    17    // only the end time of the interval is used.  For `DELTA` metrics, the start
    18    // and end time should specify a non-zero interval, with subsequent points
    19    // specifying contiguous and non-overlapping intervals.  For `CUMULATIVE`
    20    // metrics, the start and end time should specify a non-zero interval, with
    21    // subsequent points specifying the same start time and increasing end times,
    22    // until an event resets the cumulative value to zero and sets a new start
    23    // time for the following points.
    24    TimeInterval interval = 1;
    25  
    26    // The value of the data point.
    27    TypedValue value = 2;
    28  
    29    // Additional aggregation info
    30    // Used internally for batching rollup points
    31    Aggregation aggregation = 101;
    32  }
    33  
    34  // A collection of data points that describes the time-varying values
    35  // of a metric. A time series is identified by a combination of a
    36  // fully-specified monitored resource and a fully-specified metric.
    37  // This type is used for both listing and creating time series.
    38  message TimeSerie {
    39    option (google.api.resource) = {
    40      type : "monitoring.edgelq.com/TimeSerie"
    41      pattern : "projects/{project}/timeSeries/{time_serie}"
    42    };
    43  
    44    // TimeSerie key identifies unique TimeSeries tuple:
    45    // <project, region, metric.type, metric.labels, resource.type,
    46    // resource.labels>
    47    //
    48    // Kind/ValueType are not present in key
    49    // Key is not to be decoded outside of service, but treated as opaque string
    50    //
    51    // Specific key is valid and understood only in single region only. If time
    52    // serie is created by merging from multiple regions, key must be ignore.
    53    bytes key = 101;
    54  
    55    // Internal use - for bulk reporting of TimeSeries
    56    string project = 102;
    57  
    58    // Region ID associated with time serie.
    59    string region = 103;
    60  
    61    // The associated metric. A fully-specified metric used to identify the time
    62    // series.
    63    Metric metric = 1;
    64  
    65    // The associated monitored resource.  Custom metrics can use only certain
    66    // monitored resource types in their time series data.
    67    MonitoredResource resource = 2;
    68  
    69    // The metric kind of the time series. When listing time series, this metric
    70    // kind might be different from the metric kind of the associated metric if
    71    // this time series is an alignment or reduction of other time series.
    72    //
    73    // When creating a time series, this field is optional. If present, it must be
    74    // the same as the metric kind of the associated metric. If the associated
    75    // metric's descriptor must be auto-created, then this field specifies the
    76    // metric kind of the new descriptor and must be either `GAUGE` (the default)
    77    // or `CUMULATIVE`.
    78    MetricDescriptor.MetricKind metric_kind = 3;
    79  
    80    // The value type of the time series. When listing time series, this value
    81    // type might be different from the value type of the associated metric if
    82    // this time series is an alignment or reduction of other time series.
    83    //
    84    // When creating a time series, this field is optional. If present, it must be
    85    // the same as the type of the data in the `points` field.
    86    MetricDescriptor.ValueType value_type = 4;
    87  
    88    // The data points of this time series. When listing time series, points are
    89    // returned in reverse time order.
    90    //
    91    // When creating a time series, this field must contain exactly one point and
    92    // the point's type must be the same as the value type of the associated
    93    // metric. If the associated metric's descriptor must be auto-created, then
    94    // the value type of the descriptor is determined by the point's type, which
    95    // must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.
    96    repeated Point points = 5;
    97  
    98    reserved 7;
    99  }
   100  
   101  // Used for reporting rollups
   102  message BulkTimeSeries {
   103    repeated TimeSerie time_series = 1;
   104  
   105    bool phantom_flag = 2;
   106  }