github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/ts/tspb/timeseries.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: ts/tspb/timeseries.proto
     3  
     4  package tspb
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  
    10  import (
    11  	context "context"
    12  	grpc "google.golang.org/grpc"
    13  )
    14  
    15  import encoding_binary "encoding/binary"
    16  
    17  import io "io"
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var _ = proto.Marshal
    21  var _ = fmt.Errorf
    22  var _ = math.Inf
    23  
    24  // This is a compile-time assertion to ensure that this generated file
    25  // is compatible with the proto package it is being compiled against.
    26  // A compilation error at this line likely means your copy of the
    27  // proto package needs to be updated.
    28  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    29  
    30  // TimeSeriesQueryAggregator describes a set of aggregation functions which can
    31  // be used to combine multiple datapoints into a single datapoint.
    32  //
    33  // Aggregators are used to "downsample" series by combining datapoints from the
    34  // same series at different times. They are also used to "aggregate" values from
    35  // different series, combining data points from different series at the same
    36  // time.
    37  type TimeSeriesQueryAggregator int32
    38  
    39  const (
    40  	// AVG returns the average value of datapoints.
    41  	TimeSeriesQueryAggregator_AVG TimeSeriesQueryAggregator = 1
    42  	// SUM returns the sum value of datapoints.
    43  	TimeSeriesQueryAggregator_SUM TimeSeriesQueryAggregator = 2
    44  	// MAX returns the maximum value of datapoints.
    45  	TimeSeriesQueryAggregator_MAX TimeSeriesQueryAggregator = 3
    46  	// MIN returns the minimum value of datapoints.
    47  	TimeSeriesQueryAggregator_MIN TimeSeriesQueryAggregator = 4
    48  	// FIRST returns the value of the first datapoint in the set being aggregated.
    49  	// This aggregator is not valid for a source aggregator, and should only be
    50  	// used for downsampling.
    51  	TimeSeriesQueryAggregator_FIRST TimeSeriesQueryAggregator = 5
    52  	// LAST returns the value of the last datapoint in the set being aggregated.
    53  	// This aggregator is not valid for a source aggregator, and should only be
    54  	// used for downsampling.
    55  	TimeSeriesQueryAggregator_LAST TimeSeriesQueryAggregator = 6
    56  	// VARIANCE returns the variance (σ^2) of the datapoints.
    57  	TimeSeriesQueryAggregator_VARIANCE TimeSeriesQueryAggregator = 7
    58  )
    59  
    60  var TimeSeriesQueryAggregator_name = map[int32]string{
    61  	1: "AVG",
    62  	2: "SUM",
    63  	3: "MAX",
    64  	4: "MIN",
    65  	5: "FIRST",
    66  	6: "LAST",
    67  	7: "VARIANCE",
    68  }
    69  var TimeSeriesQueryAggregator_value = map[string]int32{
    70  	"AVG":      1,
    71  	"SUM":      2,
    72  	"MAX":      3,
    73  	"MIN":      4,
    74  	"FIRST":    5,
    75  	"LAST":     6,
    76  	"VARIANCE": 7,
    77  }
    78  
    79  func (x TimeSeriesQueryAggregator) Enum() *TimeSeriesQueryAggregator {
    80  	p := new(TimeSeriesQueryAggregator)
    81  	*p = x
    82  	return p
    83  }
    84  func (x TimeSeriesQueryAggregator) String() string {
    85  	return proto.EnumName(TimeSeriesQueryAggregator_name, int32(x))
    86  }
    87  func (x *TimeSeriesQueryAggregator) UnmarshalJSON(data []byte) error {
    88  	value, err := proto.UnmarshalJSONEnum(TimeSeriesQueryAggregator_value, data, "TimeSeriesQueryAggregator")
    89  	if err != nil {
    90  		return err
    91  	}
    92  	*x = TimeSeriesQueryAggregator(value)
    93  	return nil
    94  }
    95  func (TimeSeriesQueryAggregator) EnumDescriptor() ([]byte, []int) {
    96  	return fileDescriptor_timeseries_01081b15400c236e, []int{0}
    97  }
    98  
    99  // TimeSeriesQueryDerivative describes a derivative function used to convert
   100  // returned datapoints into a rate-of-change.
   101  type TimeSeriesQueryDerivative int32
   102  
   103  const (
   104  	// NONE is the default value, and does not apply a derivative function.
   105  	TimeSeriesQueryDerivative_NONE TimeSeriesQueryDerivative = 0
   106  	// DERIVATIVE returns the first-order derivative of values in the time series.
   107  	TimeSeriesQueryDerivative_DERIVATIVE TimeSeriesQueryDerivative = 1
   108  	// NON_NEGATIVE_DERIVATIVE returns only non-negative values of the first-order
   109  	// derivative; negative values are returned as zero. This should be used for
   110  	// counters that monotonically increase, but might wrap or reset.
   111  	TimeSeriesQueryDerivative_NON_NEGATIVE_DERIVATIVE TimeSeriesQueryDerivative = 2
   112  )
   113  
   114  var TimeSeriesQueryDerivative_name = map[int32]string{
   115  	0: "NONE",
   116  	1: "DERIVATIVE",
   117  	2: "NON_NEGATIVE_DERIVATIVE",
   118  }
   119  var TimeSeriesQueryDerivative_value = map[string]int32{
   120  	"NONE":                    0,
   121  	"DERIVATIVE":              1,
   122  	"NON_NEGATIVE_DERIVATIVE": 2,
   123  }
   124  
   125  func (x TimeSeriesQueryDerivative) Enum() *TimeSeriesQueryDerivative {
   126  	p := new(TimeSeriesQueryDerivative)
   127  	*p = x
   128  	return p
   129  }
   130  func (x TimeSeriesQueryDerivative) String() string {
   131  	return proto.EnumName(TimeSeriesQueryDerivative_name, int32(x))
   132  }
   133  func (x *TimeSeriesQueryDerivative) UnmarshalJSON(data []byte) error {
   134  	value, err := proto.UnmarshalJSONEnum(TimeSeriesQueryDerivative_value, data, "TimeSeriesQueryDerivative")
   135  	if err != nil {
   136  		return err
   137  	}
   138  	*x = TimeSeriesQueryDerivative(value)
   139  	return nil
   140  }
   141  func (TimeSeriesQueryDerivative) EnumDescriptor() ([]byte, []int) {
   142  	return fileDescriptor_timeseries_01081b15400c236e, []int{1}
   143  }
   144  
   145  // TimeSeriesDatapoint is a single point of time series data; a value associated
   146  // with a timestamp.
   147  type TimeSeriesDatapoint struct {
   148  	// The timestamp when this datapoint is located, expressed in nanoseconds
   149  	// since the unix epoch.
   150  	TimestampNanos int64 `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos"`
   151  	// A floating point representation of the value of this datapoint.
   152  	Value float64 `protobuf:"fixed64,2,opt,name=value" json:"value"`
   153  }
   154  
   155  func (m *TimeSeriesDatapoint) Reset()         { *m = TimeSeriesDatapoint{} }
   156  func (m *TimeSeriesDatapoint) String() string { return proto.CompactTextString(m) }
   157  func (*TimeSeriesDatapoint) ProtoMessage()    {}
   158  func (*TimeSeriesDatapoint) Descriptor() ([]byte, []int) {
   159  	return fileDescriptor_timeseries_01081b15400c236e, []int{0}
   160  }
   161  func (m *TimeSeriesDatapoint) XXX_Unmarshal(b []byte) error {
   162  	return m.Unmarshal(b)
   163  }
   164  func (m *TimeSeriesDatapoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   165  	b = b[:cap(b)]
   166  	n, err := m.MarshalTo(b)
   167  	if err != nil {
   168  		return nil, err
   169  	}
   170  	return b[:n], nil
   171  }
   172  func (dst *TimeSeriesDatapoint) XXX_Merge(src proto.Message) {
   173  	xxx_messageInfo_TimeSeriesDatapoint.Merge(dst, src)
   174  }
   175  func (m *TimeSeriesDatapoint) XXX_Size() int {
   176  	return m.Size()
   177  }
   178  func (m *TimeSeriesDatapoint) XXX_DiscardUnknown() {
   179  	xxx_messageInfo_TimeSeriesDatapoint.DiscardUnknown(m)
   180  }
   181  
   182  var xxx_messageInfo_TimeSeriesDatapoint proto.InternalMessageInfo
   183  
   184  // TimeSeriesData is a set of measurements of a single named variable at
   185  // multiple points in time. This message contains a name and a source which, in
   186  // combination, uniquely identify the time series being measured. Measurement
   187  // data is represented as a repeated set of TimeSeriesDatapoint messages.
   188  type TimeSeriesData struct {
   189  	// A string which uniquely identifies the variable from which this data was
   190  	// measured.
   191  	Name string `protobuf:"bytes,1,opt,name=name" json:"name"`
   192  	// A string which identifies the unique source from which the variable was measured.
   193  	Source string `protobuf:"bytes,2,opt,name=source" json:"source"`
   194  	// Datapoints representing one or more measurements taken from the variable.
   195  	Datapoints []TimeSeriesDatapoint `protobuf:"bytes,3,rep,name=datapoints" json:"datapoints"`
   196  }
   197  
   198  func (m *TimeSeriesData) Reset()         { *m = TimeSeriesData{} }
   199  func (m *TimeSeriesData) String() string { return proto.CompactTextString(m) }
   200  func (*TimeSeriesData) ProtoMessage()    {}
   201  func (*TimeSeriesData) Descriptor() ([]byte, []int) {
   202  	return fileDescriptor_timeseries_01081b15400c236e, []int{1}
   203  }
   204  func (m *TimeSeriesData) XXX_Unmarshal(b []byte) error {
   205  	return m.Unmarshal(b)
   206  }
   207  func (m *TimeSeriesData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   208  	b = b[:cap(b)]
   209  	n, err := m.MarshalTo(b)
   210  	if err != nil {
   211  		return nil, err
   212  	}
   213  	return b[:n], nil
   214  }
   215  func (dst *TimeSeriesData) XXX_Merge(src proto.Message) {
   216  	xxx_messageInfo_TimeSeriesData.Merge(dst, src)
   217  }
   218  func (m *TimeSeriesData) XXX_Size() int {
   219  	return m.Size()
   220  }
   221  func (m *TimeSeriesData) XXX_DiscardUnknown() {
   222  	xxx_messageInfo_TimeSeriesData.DiscardUnknown(m)
   223  }
   224  
   225  var xxx_messageInfo_TimeSeriesData proto.InternalMessageInfo
   226  
   227  // Each Query defines a specific metric to query over the time span of
   228  // this request.
   229  type Query struct {
   230  	// The name of the time series to query.
   231  	Name string `protobuf:"bytes,1,opt,name=name" json:"name"`
   232  	// A downsampling aggregation function to apply to datapoints within the
   233  	// same sample period.
   234  	Downsampler *TimeSeriesQueryAggregator `protobuf:"varint,2,opt,name=downsampler,enum=cockroach.ts.tspb.TimeSeriesQueryAggregator,def=1" json:"downsampler,omitempty"`
   235  	// An aggregation function used to combine timelike datapoints from the
   236  	// different sources being queried.
   237  	SourceAggregator *TimeSeriesQueryAggregator `protobuf:"varint,3,opt,name=source_aggregator,json=sourceAggregator,enum=cockroach.ts.tspb.TimeSeriesQueryAggregator,def=2" json:"source_aggregator,omitempty"`
   238  	// If set to a value other than 'NONE', query will return a derivative
   239  	// (rate of change) of the aggregated datapoints.
   240  	Derivative *TimeSeriesQueryDerivative `protobuf:"varint,4,opt,name=derivative,enum=cockroach.ts.tspb.TimeSeriesQueryDerivative,def=0" json:"derivative,omitempty"`
   241  	// An optional list of sources to restrict the time series query. If no
   242  	// sources are provided, all available sources will be queried.
   243  	Sources []string `protobuf:"bytes,5,rep,name=sources" json:"sources,omitempty"`
   244  }
   245  
   246  func (m *Query) Reset()         { *m = Query{} }
   247  func (m *Query) String() string { return proto.CompactTextString(m) }
   248  func (*Query) ProtoMessage()    {}
   249  func (*Query) Descriptor() ([]byte, []int) {
   250  	return fileDescriptor_timeseries_01081b15400c236e, []int{2}
   251  }
   252  func (m *Query) XXX_Unmarshal(b []byte) error {
   253  	return m.Unmarshal(b)
   254  }
   255  func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   256  	b = b[:cap(b)]
   257  	n, err := m.MarshalTo(b)
   258  	if err != nil {
   259  		return nil, err
   260  	}
   261  	return b[:n], nil
   262  }
   263  func (dst *Query) XXX_Merge(src proto.Message) {
   264  	xxx_messageInfo_Query.Merge(dst, src)
   265  }
   266  func (m *Query) XXX_Size() int {
   267  	return m.Size()
   268  }
   269  func (m *Query) XXX_DiscardUnknown() {
   270  	xxx_messageInfo_Query.DiscardUnknown(m)
   271  }
   272  
   273  var xxx_messageInfo_Query proto.InternalMessageInfo
   274  
   275  const Default_Query_Downsampler TimeSeriesQueryAggregator = TimeSeriesQueryAggregator_AVG
   276  const Default_Query_SourceAggregator TimeSeriesQueryAggregator = TimeSeriesQueryAggregator_SUM
   277  const Default_Query_Derivative TimeSeriesQueryDerivative = TimeSeriesQueryDerivative_NONE
   278  
   279  func (m *Query) GetName() string {
   280  	if m != nil {
   281  		return m.Name
   282  	}
   283  	return ""
   284  }
   285  
   286  func (m *Query) GetDownsampler() TimeSeriesQueryAggregator {
   287  	if m != nil && m.Downsampler != nil {
   288  		return *m.Downsampler
   289  	}
   290  	return Default_Query_Downsampler
   291  }
   292  
   293  func (m *Query) GetSourceAggregator() TimeSeriesQueryAggregator {
   294  	if m != nil && m.SourceAggregator != nil {
   295  		return *m.SourceAggregator
   296  	}
   297  	return Default_Query_SourceAggregator
   298  }
   299  
   300  func (m *Query) GetDerivative() TimeSeriesQueryDerivative {
   301  	if m != nil && m.Derivative != nil {
   302  		return *m.Derivative
   303  	}
   304  	return Default_Query_Derivative
   305  }
   306  
   307  func (m *Query) GetSources() []string {
   308  	if m != nil {
   309  		return m.Sources
   310  	}
   311  	return nil
   312  }
   313  
   314  // TimeSeriesQueryRequest is the standard incoming time series query request
   315  // accepted from cockroach clients.
   316  type TimeSeriesQueryRequest struct {
   317  	// A timestamp in nanoseconds which defines the early bound of the time span
   318  	// for this query.
   319  	StartNanos int64 `protobuf:"varint,1,opt,name=start_nanos,json=startNanos" json:"start_nanos"`
   320  	// A timestamp in nanoseconds which defines the late bound of the time span
   321  	// for this query. Must be greater than start_nanos.
   322  	EndNanos int64 `protobuf:"varint,2,opt,name=end_nanos,json=endNanos" json:"end_nanos"`
   323  	// A set of Queries for this request. A request must have at least one
   324  	// Query.
   325  	Queries []Query `protobuf:"bytes,3,rep,name=queries" json:"queries"`
   326  	// Duration of requested sample period in nanoseconds. Returned data for each
   327  	// query will be downsampled into periods of the supplied length. The
   328  	// supplied duration must be a multiple of ten seconds.
   329  	SampleNanos int64 `protobuf:"varint,4,opt,name=sample_nanos,json=sampleNanos" json:"sample_nanos"`
   330  }
   331  
   332  func (m *TimeSeriesQueryRequest) Reset()         { *m = TimeSeriesQueryRequest{} }
   333  func (m *TimeSeriesQueryRequest) String() string { return proto.CompactTextString(m) }
   334  func (*TimeSeriesQueryRequest) ProtoMessage()    {}
   335  func (*TimeSeriesQueryRequest) Descriptor() ([]byte, []int) {
   336  	return fileDescriptor_timeseries_01081b15400c236e, []int{3}
   337  }
   338  func (m *TimeSeriesQueryRequest) XXX_Unmarshal(b []byte) error {
   339  	return m.Unmarshal(b)
   340  }
   341  func (m *TimeSeriesQueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   342  	b = b[:cap(b)]
   343  	n, err := m.MarshalTo(b)
   344  	if err != nil {
   345  		return nil, err
   346  	}
   347  	return b[:n], nil
   348  }
   349  func (dst *TimeSeriesQueryRequest) XXX_Merge(src proto.Message) {
   350  	xxx_messageInfo_TimeSeriesQueryRequest.Merge(dst, src)
   351  }
   352  func (m *TimeSeriesQueryRequest) XXX_Size() int {
   353  	return m.Size()
   354  }
   355  func (m *TimeSeriesQueryRequest) XXX_DiscardUnknown() {
   356  	xxx_messageInfo_TimeSeriesQueryRequest.DiscardUnknown(m)
   357  }
   358  
   359  var xxx_messageInfo_TimeSeriesQueryRequest proto.InternalMessageInfo
   360  
   361  // TimeSeriesQueryResponse is the standard response for time series queries
   362  // returned to cockroach clients.
   363  type TimeSeriesQueryResponse struct {
   364  	// A set of Results; there will be one result for each Query in the matching
   365  	// TimeSeriesQueryRequest, in the same order. A Result will be present for
   366  	// each Query even if there are zero datapoints to return.
   367  	Results []TimeSeriesQueryResponse_Result `protobuf:"bytes,1,rep,name=results" json:"results"`
   368  }
   369  
   370  func (m *TimeSeriesQueryResponse) Reset()         { *m = TimeSeriesQueryResponse{} }
   371  func (m *TimeSeriesQueryResponse) String() string { return proto.CompactTextString(m) }
   372  func (*TimeSeriesQueryResponse) ProtoMessage()    {}
   373  func (*TimeSeriesQueryResponse) Descriptor() ([]byte, []int) {
   374  	return fileDescriptor_timeseries_01081b15400c236e, []int{4}
   375  }
   376  func (m *TimeSeriesQueryResponse) XXX_Unmarshal(b []byte) error {
   377  	return m.Unmarshal(b)
   378  }
   379  func (m *TimeSeriesQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   380  	b = b[:cap(b)]
   381  	n, err := m.MarshalTo(b)
   382  	if err != nil {
   383  		return nil, err
   384  	}
   385  	return b[:n], nil
   386  }
   387  func (dst *TimeSeriesQueryResponse) XXX_Merge(src proto.Message) {
   388  	xxx_messageInfo_TimeSeriesQueryResponse.Merge(dst, src)
   389  }
   390  func (m *TimeSeriesQueryResponse) XXX_Size() int {
   391  	return m.Size()
   392  }
   393  func (m *TimeSeriesQueryResponse) XXX_DiscardUnknown() {
   394  	xxx_messageInfo_TimeSeriesQueryResponse.DiscardUnknown(m)
   395  }
   396  
   397  var xxx_messageInfo_TimeSeriesQueryResponse proto.InternalMessageInfo
   398  
   399  // Result is the data returned from a single metric query over a time span.
   400  type TimeSeriesQueryResponse_Result struct {
   401  	Query      `protobuf:"bytes,1,opt,name=query,embedded=query" json:"query"`
   402  	Datapoints []TimeSeriesDatapoint `protobuf:"bytes,2,rep,name=datapoints" json:"datapoints"`
   403  }
   404  
   405  func (m *TimeSeriesQueryResponse_Result) Reset()         { *m = TimeSeriesQueryResponse_Result{} }
   406  func (m *TimeSeriesQueryResponse_Result) String() string { return proto.CompactTextString(m) }
   407  func (*TimeSeriesQueryResponse_Result) ProtoMessage()    {}
   408  func (*TimeSeriesQueryResponse_Result) Descriptor() ([]byte, []int) {
   409  	return fileDescriptor_timeseries_01081b15400c236e, []int{4, 0}
   410  }
   411  func (m *TimeSeriesQueryResponse_Result) XXX_Unmarshal(b []byte) error {
   412  	return m.Unmarshal(b)
   413  }
   414  func (m *TimeSeriesQueryResponse_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   415  	b = b[:cap(b)]
   416  	n, err := m.MarshalTo(b)
   417  	if err != nil {
   418  		return nil, err
   419  	}
   420  	return b[:n], nil
   421  }
   422  func (dst *TimeSeriesQueryResponse_Result) XXX_Merge(src proto.Message) {
   423  	xxx_messageInfo_TimeSeriesQueryResponse_Result.Merge(dst, src)
   424  }
   425  func (m *TimeSeriesQueryResponse_Result) XXX_Size() int {
   426  	return m.Size()
   427  }
   428  func (m *TimeSeriesQueryResponse_Result) XXX_DiscardUnknown() {
   429  	xxx_messageInfo_TimeSeriesQueryResponse_Result.DiscardUnknown(m)
   430  }
   431  
   432  var xxx_messageInfo_TimeSeriesQueryResponse_Result proto.InternalMessageInfo
   433  
   434  type DumpRequest struct {
   435  }
   436  
   437  func (m *DumpRequest) Reset()         { *m = DumpRequest{} }
   438  func (m *DumpRequest) String() string { return proto.CompactTextString(m) }
   439  func (*DumpRequest) ProtoMessage()    {}
   440  func (*DumpRequest) Descriptor() ([]byte, []int) {
   441  	return fileDescriptor_timeseries_01081b15400c236e, []int{5}
   442  }
   443  func (m *DumpRequest) XXX_Unmarshal(b []byte) error {
   444  	return m.Unmarshal(b)
   445  }
   446  func (m *DumpRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   447  	b = b[:cap(b)]
   448  	n, err := m.MarshalTo(b)
   449  	if err != nil {
   450  		return nil, err
   451  	}
   452  	return b[:n], nil
   453  }
   454  func (dst *DumpRequest) XXX_Merge(src proto.Message) {
   455  	xxx_messageInfo_DumpRequest.Merge(dst, src)
   456  }
   457  func (m *DumpRequest) XXX_Size() int {
   458  	return m.Size()
   459  }
   460  func (m *DumpRequest) XXX_DiscardUnknown() {
   461  	xxx_messageInfo_DumpRequest.DiscardUnknown(m)
   462  }
   463  
   464  var xxx_messageInfo_DumpRequest proto.InternalMessageInfo
   465  
   466  func init() {
   467  	proto.RegisterType((*TimeSeriesDatapoint)(nil), "cockroach.ts.tspb.TimeSeriesDatapoint")
   468  	proto.RegisterType((*TimeSeriesData)(nil), "cockroach.ts.tspb.TimeSeriesData")
   469  	proto.RegisterType((*Query)(nil), "cockroach.ts.tspb.Query")
   470  	proto.RegisterType((*TimeSeriesQueryRequest)(nil), "cockroach.ts.tspb.TimeSeriesQueryRequest")
   471  	proto.RegisterType((*TimeSeriesQueryResponse)(nil), "cockroach.ts.tspb.TimeSeriesQueryResponse")
   472  	proto.RegisterType((*TimeSeriesQueryResponse_Result)(nil), "cockroach.ts.tspb.TimeSeriesQueryResponse.Result")
   473  	proto.RegisterType((*DumpRequest)(nil), "cockroach.ts.tspb.DumpRequest")
   474  	proto.RegisterEnum("cockroach.ts.tspb.TimeSeriesQueryAggregator", TimeSeriesQueryAggregator_name, TimeSeriesQueryAggregator_value)
   475  	proto.RegisterEnum("cockroach.ts.tspb.TimeSeriesQueryDerivative", TimeSeriesQueryDerivative_name, TimeSeriesQueryDerivative_value)
   476  }
   477  
   478  // Reference imports to suppress errors if they are not otherwise used.
   479  var _ context.Context
   480  var _ grpc.ClientConn
   481  
   482  // This is a compile-time assertion to ensure that this generated file
   483  // is compatible with the grpc package it is being compiled against.
   484  const _ = grpc.SupportPackageIsVersion4
   485  
   486  // TimeSeriesClient is the client API for TimeSeries service.
   487  //
   488  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   489  type TimeSeriesClient interface {
   490  	// URL: /ts/query
   491  	Query(ctx context.Context, in *TimeSeriesQueryRequest, opts ...grpc.CallOption) (*TimeSeriesQueryResponse, error)
   492  	// Dump returns a stream of raw timeseries data that has been stored on the
   493  	// server. Only data from the 10-second resolution is returned - rollup data is
   494  	// not returned. Data is returned in the order it is read from disk, meaning
   495  	// that data from different series may be interleaved.
   496  	Dump(ctx context.Context, in *DumpRequest, opts ...grpc.CallOption) (TimeSeries_DumpClient, error)
   497  }
   498  
   499  type timeSeriesClient struct {
   500  	cc *grpc.ClientConn
   501  }
   502  
   503  func NewTimeSeriesClient(cc *grpc.ClientConn) TimeSeriesClient {
   504  	return &timeSeriesClient{cc}
   505  }
   506  
   507  func (c *timeSeriesClient) Query(ctx context.Context, in *TimeSeriesQueryRequest, opts ...grpc.CallOption) (*TimeSeriesQueryResponse, error) {
   508  	out := new(TimeSeriesQueryResponse)
   509  	err := c.cc.Invoke(ctx, "/cockroach.ts.tspb.TimeSeries/Query", in, out, opts...)
   510  	if err != nil {
   511  		return nil, err
   512  	}
   513  	return out, nil
   514  }
   515  
   516  func (c *timeSeriesClient) Dump(ctx context.Context, in *DumpRequest, opts ...grpc.CallOption) (TimeSeries_DumpClient, error) {
   517  	stream, err := c.cc.NewStream(ctx, &_TimeSeries_serviceDesc.Streams[0], "/cockroach.ts.tspb.TimeSeries/Dump", opts...)
   518  	if err != nil {
   519  		return nil, err
   520  	}
   521  	x := &timeSeriesDumpClient{stream}
   522  	if err := x.ClientStream.SendMsg(in); err != nil {
   523  		return nil, err
   524  	}
   525  	if err := x.ClientStream.CloseSend(); err != nil {
   526  		return nil, err
   527  	}
   528  	return x, nil
   529  }
   530  
   531  type TimeSeries_DumpClient interface {
   532  	Recv() (*TimeSeriesData, error)
   533  	grpc.ClientStream
   534  }
   535  
   536  type timeSeriesDumpClient struct {
   537  	grpc.ClientStream
   538  }
   539  
   540  func (x *timeSeriesDumpClient) Recv() (*TimeSeriesData, error) {
   541  	m := new(TimeSeriesData)
   542  	if err := x.ClientStream.RecvMsg(m); err != nil {
   543  		return nil, err
   544  	}
   545  	return m, nil
   546  }
   547  
   548  // TimeSeriesServer is the server API for TimeSeries service.
   549  type TimeSeriesServer interface {
   550  	// URL: /ts/query
   551  	Query(context.Context, *TimeSeriesQueryRequest) (*TimeSeriesQueryResponse, error)
   552  	// Dump returns a stream of raw timeseries data that has been stored on the
   553  	// server. Only data from the 10-second resolution is returned - rollup data is
   554  	// not returned. Data is returned in the order it is read from disk, meaning
   555  	// that data from different series may be interleaved.
   556  	Dump(*DumpRequest, TimeSeries_DumpServer) error
   557  }
   558  
   559  func RegisterTimeSeriesServer(s *grpc.Server, srv TimeSeriesServer) {
   560  	s.RegisterService(&_TimeSeries_serviceDesc, srv)
   561  }
   562  
   563  func _TimeSeries_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   564  	in := new(TimeSeriesQueryRequest)
   565  	if err := dec(in); err != nil {
   566  		return nil, err
   567  	}
   568  	if interceptor == nil {
   569  		return srv.(TimeSeriesServer).Query(ctx, in)
   570  	}
   571  	info := &grpc.UnaryServerInfo{
   572  		Server:     srv,
   573  		FullMethod: "/cockroach.ts.tspb.TimeSeries/Query",
   574  	}
   575  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   576  		return srv.(TimeSeriesServer).Query(ctx, req.(*TimeSeriesQueryRequest))
   577  	}
   578  	return interceptor(ctx, in, info, handler)
   579  }
   580  
   581  func _TimeSeries_Dump_Handler(srv interface{}, stream grpc.ServerStream) error {
   582  	m := new(DumpRequest)
   583  	if err := stream.RecvMsg(m); err != nil {
   584  		return err
   585  	}
   586  	return srv.(TimeSeriesServer).Dump(m, &timeSeriesDumpServer{stream})
   587  }
   588  
   589  type TimeSeries_DumpServer interface {
   590  	Send(*TimeSeriesData) error
   591  	grpc.ServerStream
   592  }
   593  
   594  type timeSeriesDumpServer struct {
   595  	grpc.ServerStream
   596  }
   597  
   598  func (x *timeSeriesDumpServer) Send(m *TimeSeriesData) error {
   599  	return x.ServerStream.SendMsg(m)
   600  }
   601  
   602  var _TimeSeries_serviceDesc = grpc.ServiceDesc{
   603  	ServiceName: "cockroach.ts.tspb.TimeSeries",
   604  	HandlerType: (*TimeSeriesServer)(nil),
   605  	Methods: []grpc.MethodDesc{
   606  		{
   607  			MethodName: "Query",
   608  			Handler:    _TimeSeries_Query_Handler,
   609  		},
   610  	},
   611  	Streams: []grpc.StreamDesc{
   612  		{
   613  			StreamName:    "Dump",
   614  			Handler:       _TimeSeries_Dump_Handler,
   615  			ServerStreams: true,
   616  		},
   617  	},
   618  	Metadata: "ts/tspb/timeseries.proto",
   619  }
   620  
   621  func (m *TimeSeriesDatapoint) Marshal() (dAtA []byte, err error) {
   622  	size := m.Size()
   623  	dAtA = make([]byte, size)
   624  	n, err := m.MarshalTo(dAtA)
   625  	if err != nil {
   626  		return nil, err
   627  	}
   628  	return dAtA[:n], nil
   629  }
   630  
   631  func (m *TimeSeriesDatapoint) MarshalTo(dAtA []byte) (int, error) {
   632  	var i int
   633  	_ = i
   634  	var l int
   635  	_ = l
   636  	dAtA[i] = 0x8
   637  	i++
   638  	i = encodeVarintTimeseries(dAtA, i, uint64(m.TimestampNanos))
   639  	dAtA[i] = 0x11
   640  	i++
   641  	encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value))))
   642  	i += 8
   643  	return i, nil
   644  }
   645  
   646  func (m *TimeSeriesData) Marshal() (dAtA []byte, err error) {
   647  	size := m.Size()
   648  	dAtA = make([]byte, size)
   649  	n, err := m.MarshalTo(dAtA)
   650  	if err != nil {
   651  		return nil, err
   652  	}
   653  	return dAtA[:n], nil
   654  }
   655  
   656  func (m *TimeSeriesData) MarshalTo(dAtA []byte) (int, error) {
   657  	var i int
   658  	_ = i
   659  	var l int
   660  	_ = l
   661  	dAtA[i] = 0xa
   662  	i++
   663  	i = encodeVarintTimeseries(dAtA, i, uint64(len(m.Name)))
   664  	i += copy(dAtA[i:], m.Name)
   665  	dAtA[i] = 0x12
   666  	i++
   667  	i = encodeVarintTimeseries(dAtA, i, uint64(len(m.Source)))
   668  	i += copy(dAtA[i:], m.Source)
   669  	if len(m.Datapoints) > 0 {
   670  		for _, msg := range m.Datapoints {
   671  			dAtA[i] = 0x1a
   672  			i++
   673  			i = encodeVarintTimeseries(dAtA, i, uint64(msg.Size()))
   674  			n, err := msg.MarshalTo(dAtA[i:])
   675  			if err != nil {
   676  				return 0, err
   677  			}
   678  			i += n
   679  		}
   680  	}
   681  	return i, nil
   682  }
   683  
   684  func (m *Query) Marshal() (dAtA []byte, err error) {
   685  	size := m.Size()
   686  	dAtA = make([]byte, size)
   687  	n, err := m.MarshalTo(dAtA)
   688  	if err != nil {
   689  		return nil, err
   690  	}
   691  	return dAtA[:n], nil
   692  }
   693  
   694  func (m *Query) MarshalTo(dAtA []byte) (int, error) {
   695  	var i int
   696  	_ = i
   697  	var l int
   698  	_ = l
   699  	dAtA[i] = 0xa
   700  	i++
   701  	i = encodeVarintTimeseries(dAtA, i, uint64(len(m.Name)))
   702  	i += copy(dAtA[i:], m.Name)
   703  	if m.Downsampler != nil {
   704  		dAtA[i] = 0x10
   705  		i++
   706  		i = encodeVarintTimeseries(dAtA, i, uint64(*m.Downsampler))
   707  	}
   708  	if m.SourceAggregator != nil {
   709  		dAtA[i] = 0x18
   710  		i++
   711  		i = encodeVarintTimeseries(dAtA, i, uint64(*m.SourceAggregator))
   712  	}
   713  	if m.Derivative != nil {
   714  		dAtA[i] = 0x20
   715  		i++
   716  		i = encodeVarintTimeseries(dAtA, i, uint64(*m.Derivative))
   717  	}
   718  	if len(m.Sources) > 0 {
   719  		for _, s := range m.Sources {
   720  			dAtA[i] = 0x2a
   721  			i++
   722  			l = len(s)
   723  			for l >= 1<<7 {
   724  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   725  				l >>= 7
   726  				i++
   727  			}
   728  			dAtA[i] = uint8(l)
   729  			i++
   730  			i += copy(dAtA[i:], s)
   731  		}
   732  	}
   733  	return i, nil
   734  }
   735  
   736  func (m *TimeSeriesQueryRequest) Marshal() (dAtA []byte, err error) {
   737  	size := m.Size()
   738  	dAtA = make([]byte, size)
   739  	n, err := m.MarshalTo(dAtA)
   740  	if err != nil {
   741  		return nil, err
   742  	}
   743  	return dAtA[:n], nil
   744  }
   745  
   746  func (m *TimeSeriesQueryRequest) MarshalTo(dAtA []byte) (int, error) {
   747  	var i int
   748  	_ = i
   749  	var l int
   750  	_ = l
   751  	dAtA[i] = 0x8
   752  	i++
   753  	i = encodeVarintTimeseries(dAtA, i, uint64(m.StartNanos))
   754  	dAtA[i] = 0x10
   755  	i++
   756  	i = encodeVarintTimeseries(dAtA, i, uint64(m.EndNanos))
   757  	if len(m.Queries) > 0 {
   758  		for _, msg := range m.Queries {
   759  			dAtA[i] = 0x1a
   760  			i++
   761  			i = encodeVarintTimeseries(dAtA, i, uint64(msg.Size()))
   762  			n, err := msg.MarshalTo(dAtA[i:])
   763  			if err != nil {
   764  				return 0, err
   765  			}
   766  			i += n
   767  		}
   768  	}
   769  	dAtA[i] = 0x20
   770  	i++
   771  	i = encodeVarintTimeseries(dAtA, i, uint64(m.SampleNanos))
   772  	return i, nil
   773  }
   774  
   775  func (m *TimeSeriesQueryResponse) Marshal() (dAtA []byte, err error) {
   776  	size := m.Size()
   777  	dAtA = make([]byte, size)
   778  	n, err := m.MarshalTo(dAtA)
   779  	if err != nil {
   780  		return nil, err
   781  	}
   782  	return dAtA[:n], nil
   783  }
   784  
   785  func (m *TimeSeriesQueryResponse) MarshalTo(dAtA []byte) (int, error) {
   786  	var i int
   787  	_ = i
   788  	var l int
   789  	_ = l
   790  	if len(m.Results) > 0 {
   791  		for _, msg := range m.Results {
   792  			dAtA[i] = 0xa
   793  			i++
   794  			i = encodeVarintTimeseries(dAtA, i, uint64(msg.Size()))
   795  			n, err := msg.MarshalTo(dAtA[i:])
   796  			if err != nil {
   797  				return 0, err
   798  			}
   799  			i += n
   800  		}
   801  	}
   802  	return i, nil
   803  }
   804  
   805  func (m *TimeSeriesQueryResponse_Result) Marshal() (dAtA []byte, err error) {
   806  	size := m.Size()
   807  	dAtA = make([]byte, size)
   808  	n, err := m.MarshalTo(dAtA)
   809  	if err != nil {
   810  		return nil, err
   811  	}
   812  	return dAtA[:n], nil
   813  }
   814  
   815  func (m *TimeSeriesQueryResponse_Result) MarshalTo(dAtA []byte) (int, error) {
   816  	var i int
   817  	_ = i
   818  	var l int
   819  	_ = l
   820  	dAtA[i] = 0xa
   821  	i++
   822  	i = encodeVarintTimeseries(dAtA, i, uint64(m.Query.Size()))
   823  	n1, err := m.Query.MarshalTo(dAtA[i:])
   824  	if err != nil {
   825  		return 0, err
   826  	}
   827  	i += n1
   828  	if len(m.Datapoints) > 0 {
   829  		for _, msg := range m.Datapoints {
   830  			dAtA[i] = 0x12
   831  			i++
   832  			i = encodeVarintTimeseries(dAtA, i, uint64(msg.Size()))
   833  			n, err := msg.MarshalTo(dAtA[i:])
   834  			if err != nil {
   835  				return 0, err
   836  			}
   837  			i += n
   838  		}
   839  	}
   840  	return i, nil
   841  }
   842  
   843  func (m *DumpRequest) Marshal() (dAtA []byte, err error) {
   844  	size := m.Size()
   845  	dAtA = make([]byte, size)
   846  	n, err := m.MarshalTo(dAtA)
   847  	if err != nil {
   848  		return nil, err
   849  	}
   850  	return dAtA[:n], nil
   851  }
   852  
   853  func (m *DumpRequest) MarshalTo(dAtA []byte) (int, error) {
   854  	var i int
   855  	_ = i
   856  	var l int
   857  	_ = l
   858  	return i, nil
   859  }
   860  
   861  func encodeVarintTimeseries(dAtA []byte, offset int, v uint64) int {
   862  	for v >= 1<<7 {
   863  		dAtA[offset] = uint8(v&0x7f | 0x80)
   864  		v >>= 7
   865  		offset++
   866  	}
   867  	dAtA[offset] = uint8(v)
   868  	return offset + 1
   869  }
   870  func (m *TimeSeriesDatapoint) Size() (n int) {
   871  	if m == nil {
   872  		return 0
   873  	}
   874  	var l int
   875  	_ = l
   876  	n += 1 + sovTimeseries(uint64(m.TimestampNanos))
   877  	n += 9
   878  	return n
   879  }
   880  
   881  func (m *TimeSeriesData) Size() (n int) {
   882  	if m == nil {
   883  		return 0
   884  	}
   885  	var l int
   886  	_ = l
   887  	l = len(m.Name)
   888  	n += 1 + l + sovTimeseries(uint64(l))
   889  	l = len(m.Source)
   890  	n += 1 + l + sovTimeseries(uint64(l))
   891  	if len(m.Datapoints) > 0 {
   892  		for _, e := range m.Datapoints {
   893  			l = e.Size()
   894  			n += 1 + l + sovTimeseries(uint64(l))
   895  		}
   896  	}
   897  	return n
   898  }
   899  
   900  func (m *Query) Size() (n int) {
   901  	if m == nil {
   902  		return 0
   903  	}
   904  	var l int
   905  	_ = l
   906  	l = len(m.Name)
   907  	n += 1 + l + sovTimeseries(uint64(l))
   908  	if m.Downsampler != nil {
   909  		n += 1 + sovTimeseries(uint64(*m.Downsampler))
   910  	}
   911  	if m.SourceAggregator != nil {
   912  		n += 1 + sovTimeseries(uint64(*m.SourceAggregator))
   913  	}
   914  	if m.Derivative != nil {
   915  		n += 1 + sovTimeseries(uint64(*m.Derivative))
   916  	}
   917  	if len(m.Sources) > 0 {
   918  		for _, s := range m.Sources {
   919  			l = len(s)
   920  			n += 1 + l + sovTimeseries(uint64(l))
   921  		}
   922  	}
   923  	return n
   924  }
   925  
   926  func (m *TimeSeriesQueryRequest) Size() (n int) {
   927  	if m == nil {
   928  		return 0
   929  	}
   930  	var l int
   931  	_ = l
   932  	n += 1 + sovTimeseries(uint64(m.StartNanos))
   933  	n += 1 + sovTimeseries(uint64(m.EndNanos))
   934  	if len(m.Queries) > 0 {
   935  		for _, e := range m.Queries {
   936  			l = e.Size()
   937  			n += 1 + l + sovTimeseries(uint64(l))
   938  		}
   939  	}
   940  	n += 1 + sovTimeseries(uint64(m.SampleNanos))
   941  	return n
   942  }
   943  
   944  func (m *TimeSeriesQueryResponse) Size() (n int) {
   945  	if m == nil {
   946  		return 0
   947  	}
   948  	var l int
   949  	_ = l
   950  	if len(m.Results) > 0 {
   951  		for _, e := range m.Results {
   952  			l = e.Size()
   953  			n += 1 + l + sovTimeseries(uint64(l))
   954  		}
   955  	}
   956  	return n
   957  }
   958  
   959  func (m *TimeSeriesQueryResponse_Result) Size() (n int) {
   960  	if m == nil {
   961  		return 0
   962  	}
   963  	var l int
   964  	_ = l
   965  	l = m.Query.Size()
   966  	n += 1 + l + sovTimeseries(uint64(l))
   967  	if len(m.Datapoints) > 0 {
   968  		for _, e := range m.Datapoints {
   969  			l = e.Size()
   970  			n += 1 + l + sovTimeseries(uint64(l))
   971  		}
   972  	}
   973  	return n
   974  }
   975  
   976  func (m *DumpRequest) Size() (n int) {
   977  	if m == nil {
   978  		return 0
   979  	}
   980  	var l int
   981  	_ = l
   982  	return n
   983  }
   984  
   985  func sovTimeseries(x uint64) (n int) {
   986  	for {
   987  		n++
   988  		x >>= 7
   989  		if x == 0 {
   990  			break
   991  		}
   992  	}
   993  	return n
   994  }
   995  func sozTimeseries(x uint64) (n int) {
   996  	return sovTimeseries(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   997  }
   998  func (m *TimeSeriesDatapoint) Unmarshal(dAtA []byte) error {
   999  	l := len(dAtA)
  1000  	iNdEx := 0
  1001  	for iNdEx < l {
  1002  		preIndex := iNdEx
  1003  		var wire uint64
  1004  		for shift := uint(0); ; shift += 7 {
  1005  			if shift >= 64 {
  1006  				return ErrIntOverflowTimeseries
  1007  			}
  1008  			if iNdEx >= l {
  1009  				return io.ErrUnexpectedEOF
  1010  			}
  1011  			b := dAtA[iNdEx]
  1012  			iNdEx++
  1013  			wire |= (uint64(b) & 0x7F) << shift
  1014  			if b < 0x80 {
  1015  				break
  1016  			}
  1017  		}
  1018  		fieldNum := int32(wire >> 3)
  1019  		wireType := int(wire & 0x7)
  1020  		if wireType == 4 {
  1021  			return fmt.Errorf("proto: TimeSeriesDatapoint: wiretype end group for non-group")
  1022  		}
  1023  		if fieldNum <= 0 {
  1024  			return fmt.Errorf("proto: TimeSeriesDatapoint: illegal tag %d (wire type %d)", fieldNum, wire)
  1025  		}
  1026  		switch fieldNum {
  1027  		case 1:
  1028  			if wireType != 0 {
  1029  				return fmt.Errorf("proto: wrong wireType = %d for field TimestampNanos", wireType)
  1030  			}
  1031  			m.TimestampNanos = 0
  1032  			for shift := uint(0); ; shift += 7 {
  1033  				if shift >= 64 {
  1034  					return ErrIntOverflowTimeseries
  1035  				}
  1036  				if iNdEx >= l {
  1037  					return io.ErrUnexpectedEOF
  1038  				}
  1039  				b := dAtA[iNdEx]
  1040  				iNdEx++
  1041  				m.TimestampNanos |= (int64(b) & 0x7F) << shift
  1042  				if b < 0x80 {
  1043  					break
  1044  				}
  1045  			}
  1046  		case 2:
  1047  			if wireType != 1 {
  1048  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  1049  			}
  1050  			var v uint64
  1051  			if (iNdEx + 8) > l {
  1052  				return io.ErrUnexpectedEOF
  1053  			}
  1054  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1055  			iNdEx += 8
  1056  			m.Value = float64(math.Float64frombits(v))
  1057  		default:
  1058  			iNdEx = preIndex
  1059  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1060  			if err != nil {
  1061  				return err
  1062  			}
  1063  			if skippy < 0 {
  1064  				return ErrInvalidLengthTimeseries
  1065  			}
  1066  			if (iNdEx + skippy) > l {
  1067  				return io.ErrUnexpectedEOF
  1068  			}
  1069  			iNdEx += skippy
  1070  		}
  1071  	}
  1072  
  1073  	if iNdEx > l {
  1074  		return io.ErrUnexpectedEOF
  1075  	}
  1076  	return nil
  1077  }
  1078  func (m *TimeSeriesData) Unmarshal(dAtA []byte) error {
  1079  	l := len(dAtA)
  1080  	iNdEx := 0
  1081  	for iNdEx < l {
  1082  		preIndex := iNdEx
  1083  		var wire uint64
  1084  		for shift := uint(0); ; shift += 7 {
  1085  			if shift >= 64 {
  1086  				return ErrIntOverflowTimeseries
  1087  			}
  1088  			if iNdEx >= l {
  1089  				return io.ErrUnexpectedEOF
  1090  			}
  1091  			b := dAtA[iNdEx]
  1092  			iNdEx++
  1093  			wire |= (uint64(b) & 0x7F) << shift
  1094  			if b < 0x80 {
  1095  				break
  1096  			}
  1097  		}
  1098  		fieldNum := int32(wire >> 3)
  1099  		wireType := int(wire & 0x7)
  1100  		if wireType == 4 {
  1101  			return fmt.Errorf("proto: TimeSeriesData: wiretype end group for non-group")
  1102  		}
  1103  		if fieldNum <= 0 {
  1104  			return fmt.Errorf("proto: TimeSeriesData: illegal tag %d (wire type %d)", fieldNum, wire)
  1105  		}
  1106  		switch fieldNum {
  1107  		case 1:
  1108  			if wireType != 2 {
  1109  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1110  			}
  1111  			var stringLen uint64
  1112  			for shift := uint(0); ; shift += 7 {
  1113  				if shift >= 64 {
  1114  					return ErrIntOverflowTimeseries
  1115  				}
  1116  				if iNdEx >= l {
  1117  					return io.ErrUnexpectedEOF
  1118  				}
  1119  				b := dAtA[iNdEx]
  1120  				iNdEx++
  1121  				stringLen |= (uint64(b) & 0x7F) << shift
  1122  				if b < 0x80 {
  1123  					break
  1124  				}
  1125  			}
  1126  			intStringLen := int(stringLen)
  1127  			if intStringLen < 0 {
  1128  				return ErrInvalidLengthTimeseries
  1129  			}
  1130  			postIndex := iNdEx + intStringLen
  1131  			if postIndex > l {
  1132  				return io.ErrUnexpectedEOF
  1133  			}
  1134  			m.Name = string(dAtA[iNdEx:postIndex])
  1135  			iNdEx = postIndex
  1136  		case 2:
  1137  			if wireType != 2 {
  1138  				return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
  1139  			}
  1140  			var stringLen uint64
  1141  			for shift := uint(0); ; shift += 7 {
  1142  				if shift >= 64 {
  1143  					return ErrIntOverflowTimeseries
  1144  				}
  1145  				if iNdEx >= l {
  1146  					return io.ErrUnexpectedEOF
  1147  				}
  1148  				b := dAtA[iNdEx]
  1149  				iNdEx++
  1150  				stringLen |= (uint64(b) & 0x7F) << shift
  1151  				if b < 0x80 {
  1152  					break
  1153  				}
  1154  			}
  1155  			intStringLen := int(stringLen)
  1156  			if intStringLen < 0 {
  1157  				return ErrInvalidLengthTimeseries
  1158  			}
  1159  			postIndex := iNdEx + intStringLen
  1160  			if postIndex > l {
  1161  				return io.ErrUnexpectedEOF
  1162  			}
  1163  			m.Source = string(dAtA[iNdEx:postIndex])
  1164  			iNdEx = postIndex
  1165  		case 3:
  1166  			if wireType != 2 {
  1167  				return fmt.Errorf("proto: wrong wireType = %d for field Datapoints", wireType)
  1168  			}
  1169  			var msglen int
  1170  			for shift := uint(0); ; shift += 7 {
  1171  				if shift >= 64 {
  1172  					return ErrIntOverflowTimeseries
  1173  				}
  1174  				if iNdEx >= l {
  1175  					return io.ErrUnexpectedEOF
  1176  				}
  1177  				b := dAtA[iNdEx]
  1178  				iNdEx++
  1179  				msglen |= (int(b) & 0x7F) << shift
  1180  				if b < 0x80 {
  1181  					break
  1182  				}
  1183  			}
  1184  			if msglen < 0 {
  1185  				return ErrInvalidLengthTimeseries
  1186  			}
  1187  			postIndex := iNdEx + msglen
  1188  			if postIndex > l {
  1189  				return io.ErrUnexpectedEOF
  1190  			}
  1191  			m.Datapoints = append(m.Datapoints, TimeSeriesDatapoint{})
  1192  			if err := m.Datapoints[len(m.Datapoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1193  				return err
  1194  			}
  1195  			iNdEx = postIndex
  1196  		default:
  1197  			iNdEx = preIndex
  1198  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1199  			if err != nil {
  1200  				return err
  1201  			}
  1202  			if skippy < 0 {
  1203  				return ErrInvalidLengthTimeseries
  1204  			}
  1205  			if (iNdEx + skippy) > l {
  1206  				return io.ErrUnexpectedEOF
  1207  			}
  1208  			iNdEx += skippy
  1209  		}
  1210  	}
  1211  
  1212  	if iNdEx > l {
  1213  		return io.ErrUnexpectedEOF
  1214  	}
  1215  	return nil
  1216  }
  1217  func (m *Query) Unmarshal(dAtA []byte) error {
  1218  	l := len(dAtA)
  1219  	iNdEx := 0
  1220  	for iNdEx < l {
  1221  		preIndex := iNdEx
  1222  		var wire uint64
  1223  		for shift := uint(0); ; shift += 7 {
  1224  			if shift >= 64 {
  1225  				return ErrIntOverflowTimeseries
  1226  			}
  1227  			if iNdEx >= l {
  1228  				return io.ErrUnexpectedEOF
  1229  			}
  1230  			b := dAtA[iNdEx]
  1231  			iNdEx++
  1232  			wire |= (uint64(b) & 0x7F) << shift
  1233  			if b < 0x80 {
  1234  				break
  1235  			}
  1236  		}
  1237  		fieldNum := int32(wire >> 3)
  1238  		wireType := int(wire & 0x7)
  1239  		if wireType == 4 {
  1240  			return fmt.Errorf("proto: Query: wiretype end group for non-group")
  1241  		}
  1242  		if fieldNum <= 0 {
  1243  			return fmt.Errorf("proto: Query: illegal tag %d (wire type %d)", fieldNum, wire)
  1244  		}
  1245  		switch fieldNum {
  1246  		case 1:
  1247  			if wireType != 2 {
  1248  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  1249  			}
  1250  			var stringLen uint64
  1251  			for shift := uint(0); ; shift += 7 {
  1252  				if shift >= 64 {
  1253  					return ErrIntOverflowTimeseries
  1254  				}
  1255  				if iNdEx >= l {
  1256  					return io.ErrUnexpectedEOF
  1257  				}
  1258  				b := dAtA[iNdEx]
  1259  				iNdEx++
  1260  				stringLen |= (uint64(b) & 0x7F) << shift
  1261  				if b < 0x80 {
  1262  					break
  1263  				}
  1264  			}
  1265  			intStringLen := int(stringLen)
  1266  			if intStringLen < 0 {
  1267  				return ErrInvalidLengthTimeseries
  1268  			}
  1269  			postIndex := iNdEx + intStringLen
  1270  			if postIndex > l {
  1271  				return io.ErrUnexpectedEOF
  1272  			}
  1273  			m.Name = string(dAtA[iNdEx:postIndex])
  1274  			iNdEx = postIndex
  1275  		case 2:
  1276  			if wireType != 0 {
  1277  				return fmt.Errorf("proto: wrong wireType = %d for field Downsampler", wireType)
  1278  			}
  1279  			var v TimeSeriesQueryAggregator
  1280  			for shift := uint(0); ; shift += 7 {
  1281  				if shift >= 64 {
  1282  					return ErrIntOverflowTimeseries
  1283  				}
  1284  				if iNdEx >= l {
  1285  					return io.ErrUnexpectedEOF
  1286  				}
  1287  				b := dAtA[iNdEx]
  1288  				iNdEx++
  1289  				v |= (TimeSeriesQueryAggregator(b) & 0x7F) << shift
  1290  				if b < 0x80 {
  1291  					break
  1292  				}
  1293  			}
  1294  			m.Downsampler = &v
  1295  		case 3:
  1296  			if wireType != 0 {
  1297  				return fmt.Errorf("proto: wrong wireType = %d for field SourceAggregator", wireType)
  1298  			}
  1299  			var v TimeSeriesQueryAggregator
  1300  			for shift := uint(0); ; shift += 7 {
  1301  				if shift >= 64 {
  1302  					return ErrIntOverflowTimeseries
  1303  				}
  1304  				if iNdEx >= l {
  1305  					return io.ErrUnexpectedEOF
  1306  				}
  1307  				b := dAtA[iNdEx]
  1308  				iNdEx++
  1309  				v |= (TimeSeriesQueryAggregator(b) & 0x7F) << shift
  1310  				if b < 0x80 {
  1311  					break
  1312  				}
  1313  			}
  1314  			m.SourceAggregator = &v
  1315  		case 4:
  1316  			if wireType != 0 {
  1317  				return fmt.Errorf("proto: wrong wireType = %d for field Derivative", wireType)
  1318  			}
  1319  			var v TimeSeriesQueryDerivative
  1320  			for shift := uint(0); ; shift += 7 {
  1321  				if shift >= 64 {
  1322  					return ErrIntOverflowTimeseries
  1323  				}
  1324  				if iNdEx >= l {
  1325  					return io.ErrUnexpectedEOF
  1326  				}
  1327  				b := dAtA[iNdEx]
  1328  				iNdEx++
  1329  				v |= (TimeSeriesQueryDerivative(b) & 0x7F) << shift
  1330  				if b < 0x80 {
  1331  					break
  1332  				}
  1333  			}
  1334  			m.Derivative = &v
  1335  		case 5:
  1336  			if wireType != 2 {
  1337  				return fmt.Errorf("proto: wrong wireType = %d for field Sources", wireType)
  1338  			}
  1339  			var stringLen uint64
  1340  			for shift := uint(0); ; shift += 7 {
  1341  				if shift >= 64 {
  1342  					return ErrIntOverflowTimeseries
  1343  				}
  1344  				if iNdEx >= l {
  1345  					return io.ErrUnexpectedEOF
  1346  				}
  1347  				b := dAtA[iNdEx]
  1348  				iNdEx++
  1349  				stringLen |= (uint64(b) & 0x7F) << shift
  1350  				if b < 0x80 {
  1351  					break
  1352  				}
  1353  			}
  1354  			intStringLen := int(stringLen)
  1355  			if intStringLen < 0 {
  1356  				return ErrInvalidLengthTimeseries
  1357  			}
  1358  			postIndex := iNdEx + intStringLen
  1359  			if postIndex > l {
  1360  				return io.ErrUnexpectedEOF
  1361  			}
  1362  			m.Sources = append(m.Sources, string(dAtA[iNdEx:postIndex]))
  1363  			iNdEx = postIndex
  1364  		default:
  1365  			iNdEx = preIndex
  1366  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1367  			if err != nil {
  1368  				return err
  1369  			}
  1370  			if skippy < 0 {
  1371  				return ErrInvalidLengthTimeseries
  1372  			}
  1373  			if (iNdEx + skippy) > l {
  1374  				return io.ErrUnexpectedEOF
  1375  			}
  1376  			iNdEx += skippy
  1377  		}
  1378  	}
  1379  
  1380  	if iNdEx > l {
  1381  		return io.ErrUnexpectedEOF
  1382  	}
  1383  	return nil
  1384  }
  1385  func (m *TimeSeriesQueryRequest) Unmarshal(dAtA []byte) error {
  1386  	l := len(dAtA)
  1387  	iNdEx := 0
  1388  	for iNdEx < l {
  1389  		preIndex := iNdEx
  1390  		var wire uint64
  1391  		for shift := uint(0); ; shift += 7 {
  1392  			if shift >= 64 {
  1393  				return ErrIntOverflowTimeseries
  1394  			}
  1395  			if iNdEx >= l {
  1396  				return io.ErrUnexpectedEOF
  1397  			}
  1398  			b := dAtA[iNdEx]
  1399  			iNdEx++
  1400  			wire |= (uint64(b) & 0x7F) << shift
  1401  			if b < 0x80 {
  1402  				break
  1403  			}
  1404  		}
  1405  		fieldNum := int32(wire >> 3)
  1406  		wireType := int(wire & 0x7)
  1407  		if wireType == 4 {
  1408  			return fmt.Errorf("proto: TimeSeriesQueryRequest: wiretype end group for non-group")
  1409  		}
  1410  		if fieldNum <= 0 {
  1411  			return fmt.Errorf("proto: TimeSeriesQueryRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1412  		}
  1413  		switch fieldNum {
  1414  		case 1:
  1415  			if wireType != 0 {
  1416  				return fmt.Errorf("proto: wrong wireType = %d for field StartNanos", wireType)
  1417  			}
  1418  			m.StartNanos = 0
  1419  			for shift := uint(0); ; shift += 7 {
  1420  				if shift >= 64 {
  1421  					return ErrIntOverflowTimeseries
  1422  				}
  1423  				if iNdEx >= l {
  1424  					return io.ErrUnexpectedEOF
  1425  				}
  1426  				b := dAtA[iNdEx]
  1427  				iNdEx++
  1428  				m.StartNanos |= (int64(b) & 0x7F) << shift
  1429  				if b < 0x80 {
  1430  					break
  1431  				}
  1432  			}
  1433  		case 2:
  1434  			if wireType != 0 {
  1435  				return fmt.Errorf("proto: wrong wireType = %d for field EndNanos", wireType)
  1436  			}
  1437  			m.EndNanos = 0
  1438  			for shift := uint(0); ; shift += 7 {
  1439  				if shift >= 64 {
  1440  					return ErrIntOverflowTimeseries
  1441  				}
  1442  				if iNdEx >= l {
  1443  					return io.ErrUnexpectedEOF
  1444  				}
  1445  				b := dAtA[iNdEx]
  1446  				iNdEx++
  1447  				m.EndNanos |= (int64(b) & 0x7F) << shift
  1448  				if b < 0x80 {
  1449  					break
  1450  				}
  1451  			}
  1452  		case 3:
  1453  			if wireType != 2 {
  1454  				return fmt.Errorf("proto: wrong wireType = %d for field Queries", wireType)
  1455  			}
  1456  			var msglen int
  1457  			for shift := uint(0); ; shift += 7 {
  1458  				if shift >= 64 {
  1459  					return ErrIntOverflowTimeseries
  1460  				}
  1461  				if iNdEx >= l {
  1462  					return io.ErrUnexpectedEOF
  1463  				}
  1464  				b := dAtA[iNdEx]
  1465  				iNdEx++
  1466  				msglen |= (int(b) & 0x7F) << shift
  1467  				if b < 0x80 {
  1468  					break
  1469  				}
  1470  			}
  1471  			if msglen < 0 {
  1472  				return ErrInvalidLengthTimeseries
  1473  			}
  1474  			postIndex := iNdEx + msglen
  1475  			if postIndex > l {
  1476  				return io.ErrUnexpectedEOF
  1477  			}
  1478  			m.Queries = append(m.Queries, Query{})
  1479  			if err := m.Queries[len(m.Queries)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1480  				return err
  1481  			}
  1482  			iNdEx = postIndex
  1483  		case 4:
  1484  			if wireType != 0 {
  1485  				return fmt.Errorf("proto: wrong wireType = %d for field SampleNanos", wireType)
  1486  			}
  1487  			m.SampleNanos = 0
  1488  			for shift := uint(0); ; shift += 7 {
  1489  				if shift >= 64 {
  1490  					return ErrIntOverflowTimeseries
  1491  				}
  1492  				if iNdEx >= l {
  1493  					return io.ErrUnexpectedEOF
  1494  				}
  1495  				b := dAtA[iNdEx]
  1496  				iNdEx++
  1497  				m.SampleNanos |= (int64(b) & 0x7F) << shift
  1498  				if b < 0x80 {
  1499  					break
  1500  				}
  1501  			}
  1502  		default:
  1503  			iNdEx = preIndex
  1504  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1505  			if err != nil {
  1506  				return err
  1507  			}
  1508  			if skippy < 0 {
  1509  				return ErrInvalidLengthTimeseries
  1510  			}
  1511  			if (iNdEx + skippy) > l {
  1512  				return io.ErrUnexpectedEOF
  1513  			}
  1514  			iNdEx += skippy
  1515  		}
  1516  	}
  1517  
  1518  	if iNdEx > l {
  1519  		return io.ErrUnexpectedEOF
  1520  	}
  1521  	return nil
  1522  }
  1523  func (m *TimeSeriesQueryResponse) Unmarshal(dAtA []byte) error {
  1524  	l := len(dAtA)
  1525  	iNdEx := 0
  1526  	for iNdEx < l {
  1527  		preIndex := iNdEx
  1528  		var wire uint64
  1529  		for shift := uint(0); ; shift += 7 {
  1530  			if shift >= 64 {
  1531  				return ErrIntOverflowTimeseries
  1532  			}
  1533  			if iNdEx >= l {
  1534  				return io.ErrUnexpectedEOF
  1535  			}
  1536  			b := dAtA[iNdEx]
  1537  			iNdEx++
  1538  			wire |= (uint64(b) & 0x7F) << shift
  1539  			if b < 0x80 {
  1540  				break
  1541  			}
  1542  		}
  1543  		fieldNum := int32(wire >> 3)
  1544  		wireType := int(wire & 0x7)
  1545  		if wireType == 4 {
  1546  			return fmt.Errorf("proto: TimeSeriesQueryResponse: wiretype end group for non-group")
  1547  		}
  1548  		if fieldNum <= 0 {
  1549  			return fmt.Errorf("proto: TimeSeriesQueryResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1550  		}
  1551  		switch fieldNum {
  1552  		case 1:
  1553  			if wireType != 2 {
  1554  				return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType)
  1555  			}
  1556  			var msglen int
  1557  			for shift := uint(0); ; shift += 7 {
  1558  				if shift >= 64 {
  1559  					return ErrIntOverflowTimeseries
  1560  				}
  1561  				if iNdEx >= l {
  1562  					return io.ErrUnexpectedEOF
  1563  				}
  1564  				b := dAtA[iNdEx]
  1565  				iNdEx++
  1566  				msglen |= (int(b) & 0x7F) << shift
  1567  				if b < 0x80 {
  1568  					break
  1569  				}
  1570  			}
  1571  			if msglen < 0 {
  1572  				return ErrInvalidLengthTimeseries
  1573  			}
  1574  			postIndex := iNdEx + msglen
  1575  			if postIndex > l {
  1576  				return io.ErrUnexpectedEOF
  1577  			}
  1578  			m.Results = append(m.Results, TimeSeriesQueryResponse_Result{})
  1579  			if err := m.Results[len(m.Results)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1580  				return err
  1581  			}
  1582  			iNdEx = postIndex
  1583  		default:
  1584  			iNdEx = preIndex
  1585  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1586  			if err != nil {
  1587  				return err
  1588  			}
  1589  			if skippy < 0 {
  1590  				return ErrInvalidLengthTimeseries
  1591  			}
  1592  			if (iNdEx + skippy) > l {
  1593  				return io.ErrUnexpectedEOF
  1594  			}
  1595  			iNdEx += skippy
  1596  		}
  1597  	}
  1598  
  1599  	if iNdEx > l {
  1600  		return io.ErrUnexpectedEOF
  1601  	}
  1602  	return nil
  1603  }
  1604  func (m *TimeSeriesQueryResponse_Result) Unmarshal(dAtA []byte) error {
  1605  	l := len(dAtA)
  1606  	iNdEx := 0
  1607  	for iNdEx < l {
  1608  		preIndex := iNdEx
  1609  		var wire uint64
  1610  		for shift := uint(0); ; shift += 7 {
  1611  			if shift >= 64 {
  1612  				return ErrIntOverflowTimeseries
  1613  			}
  1614  			if iNdEx >= l {
  1615  				return io.ErrUnexpectedEOF
  1616  			}
  1617  			b := dAtA[iNdEx]
  1618  			iNdEx++
  1619  			wire |= (uint64(b) & 0x7F) << shift
  1620  			if b < 0x80 {
  1621  				break
  1622  			}
  1623  		}
  1624  		fieldNum := int32(wire >> 3)
  1625  		wireType := int(wire & 0x7)
  1626  		if wireType == 4 {
  1627  			return fmt.Errorf("proto: Result: wiretype end group for non-group")
  1628  		}
  1629  		if fieldNum <= 0 {
  1630  			return fmt.Errorf("proto: Result: illegal tag %d (wire type %d)", fieldNum, wire)
  1631  		}
  1632  		switch fieldNum {
  1633  		case 1:
  1634  			if wireType != 2 {
  1635  				return fmt.Errorf("proto: wrong wireType = %d for field Query", wireType)
  1636  			}
  1637  			var msglen int
  1638  			for shift := uint(0); ; shift += 7 {
  1639  				if shift >= 64 {
  1640  					return ErrIntOverflowTimeseries
  1641  				}
  1642  				if iNdEx >= l {
  1643  					return io.ErrUnexpectedEOF
  1644  				}
  1645  				b := dAtA[iNdEx]
  1646  				iNdEx++
  1647  				msglen |= (int(b) & 0x7F) << shift
  1648  				if b < 0x80 {
  1649  					break
  1650  				}
  1651  			}
  1652  			if msglen < 0 {
  1653  				return ErrInvalidLengthTimeseries
  1654  			}
  1655  			postIndex := iNdEx + msglen
  1656  			if postIndex > l {
  1657  				return io.ErrUnexpectedEOF
  1658  			}
  1659  			if err := m.Query.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1660  				return err
  1661  			}
  1662  			iNdEx = postIndex
  1663  		case 2:
  1664  			if wireType != 2 {
  1665  				return fmt.Errorf("proto: wrong wireType = %d for field Datapoints", wireType)
  1666  			}
  1667  			var msglen int
  1668  			for shift := uint(0); ; shift += 7 {
  1669  				if shift >= 64 {
  1670  					return ErrIntOverflowTimeseries
  1671  				}
  1672  				if iNdEx >= l {
  1673  					return io.ErrUnexpectedEOF
  1674  				}
  1675  				b := dAtA[iNdEx]
  1676  				iNdEx++
  1677  				msglen |= (int(b) & 0x7F) << shift
  1678  				if b < 0x80 {
  1679  					break
  1680  				}
  1681  			}
  1682  			if msglen < 0 {
  1683  				return ErrInvalidLengthTimeseries
  1684  			}
  1685  			postIndex := iNdEx + msglen
  1686  			if postIndex > l {
  1687  				return io.ErrUnexpectedEOF
  1688  			}
  1689  			m.Datapoints = append(m.Datapoints, TimeSeriesDatapoint{})
  1690  			if err := m.Datapoints[len(m.Datapoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1691  				return err
  1692  			}
  1693  			iNdEx = postIndex
  1694  		default:
  1695  			iNdEx = preIndex
  1696  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1697  			if err != nil {
  1698  				return err
  1699  			}
  1700  			if skippy < 0 {
  1701  				return ErrInvalidLengthTimeseries
  1702  			}
  1703  			if (iNdEx + skippy) > l {
  1704  				return io.ErrUnexpectedEOF
  1705  			}
  1706  			iNdEx += skippy
  1707  		}
  1708  	}
  1709  
  1710  	if iNdEx > l {
  1711  		return io.ErrUnexpectedEOF
  1712  	}
  1713  	return nil
  1714  }
  1715  func (m *DumpRequest) Unmarshal(dAtA []byte) error {
  1716  	l := len(dAtA)
  1717  	iNdEx := 0
  1718  	for iNdEx < l {
  1719  		preIndex := iNdEx
  1720  		var wire uint64
  1721  		for shift := uint(0); ; shift += 7 {
  1722  			if shift >= 64 {
  1723  				return ErrIntOverflowTimeseries
  1724  			}
  1725  			if iNdEx >= l {
  1726  				return io.ErrUnexpectedEOF
  1727  			}
  1728  			b := dAtA[iNdEx]
  1729  			iNdEx++
  1730  			wire |= (uint64(b) & 0x7F) << shift
  1731  			if b < 0x80 {
  1732  				break
  1733  			}
  1734  		}
  1735  		fieldNum := int32(wire >> 3)
  1736  		wireType := int(wire & 0x7)
  1737  		if wireType == 4 {
  1738  			return fmt.Errorf("proto: DumpRequest: wiretype end group for non-group")
  1739  		}
  1740  		if fieldNum <= 0 {
  1741  			return fmt.Errorf("proto: DumpRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1742  		}
  1743  		switch fieldNum {
  1744  		default:
  1745  			iNdEx = preIndex
  1746  			skippy, err := skipTimeseries(dAtA[iNdEx:])
  1747  			if err != nil {
  1748  				return err
  1749  			}
  1750  			if skippy < 0 {
  1751  				return ErrInvalidLengthTimeseries
  1752  			}
  1753  			if (iNdEx + skippy) > l {
  1754  				return io.ErrUnexpectedEOF
  1755  			}
  1756  			iNdEx += skippy
  1757  		}
  1758  	}
  1759  
  1760  	if iNdEx > l {
  1761  		return io.ErrUnexpectedEOF
  1762  	}
  1763  	return nil
  1764  }
  1765  func skipTimeseries(dAtA []byte) (n int, err error) {
  1766  	l := len(dAtA)
  1767  	iNdEx := 0
  1768  	for iNdEx < l {
  1769  		var wire uint64
  1770  		for shift := uint(0); ; shift += 7 {
  1771  			if shift >= 64 {
  1772  				return 0, ErrIntOverflowTimeseries
  1773  			}
  1774  			if iNdEx >= l {
  1775  				return 0, io.ErrUnexpectedEOF
  1776  			}
  1777  			b := dAtA[iNdEx]
  1778  			iNdEx++
  1779  			wire |= (uint64(b) & 0x7F) << shift
  1780  			if b < 0x80 {
  1781  				break
  1782  			}
  1783  		}
  1784  		wireType := int(wire & 0x7)
  1785  		switch wireType {
  1786  		case 0:
  1787  			for shift := uint(0); ; shift += 7 {
  1788  				if shift >= 64 {
  1789  					return 0, ErrIntOverflowTimeseries
  1790  				}
  1791  				if iNdEx >= l {
  1792  					return 0, io.ErrUnexpectedEOF
  1793  				}
  1794  				iNdEx++
  1795  				if dAtA[iNdEx-1] < 0x80 {
  1796  					break
  1797  				}
  1798  			}
  1799  			return iNdEx, nil
  1800  		case 1:
  1801  			iNdEx += 8
  1802  			return iNdEx, nil
  1803  		case 2:
  1804  			var length int
  1805  			for shift := uint(0); ; shift += 7 {
  1806  				if shift >= 64 {
  1807  					return 0, ErrIntOverflowTimeseries
  1808  				}
  1809  				if iNdEx >= l {
  1810  					return 0, io.ErrUnexpectedEOF
  1811  				}
  1812  				b := dAtA[iNdEx]
  1813  				iNdEx++
  1814  				length |= (int(b) & 0x7F) << shift
  1815  				if b < 0x80 {
  1816  					break
  1817  				}
  1818  			}
  1819  			iNdEx += length
  1820  			if length < 0 {
  1821  				return 0, ErrInvalidLengthTimeseries
  1822  			}
  1823  			return iNdEx, nil
  1824  		case 3:
  1825  			for {
  1826  				var innerWire uint64
  1827  				var start int = iNdEx
  1828  				for shift := uint(0); ; shift += 7 {
  1829  					if shift >= 64 {
  1830  						return 0, ErrIntOverflowTimeseries
  1831  					}
  1832  					if iNdEx >= l {
  1833  						return 0, io.ErrUnexpectedEOF
  1834  					}
  1835  					b := dAtA[iNdEx]
  1836  					iNdEx++
  1837  					innerWire |= (uint64(b) & 0x7F) << shift
  1838  					if b < 0x80 {
  1839  						break
  1840  					}
  1841  				}
  1842  				innerWireType := int(innerWire & 0x7)
  1843  				if innerWireType == 4 {
  1844  					break
  1845  				}
  1846  				next, err := skipTimeseries(dAtA[start:])
  1847  				if err != nil {
  1848  					return 0, err
  1849  				}
  1850  				iNdEx = start + next
  1851  			}
  1852  			return iNdEx, nil
  1853  		case 4:
  1854  			return iNdEx, nil
  1855  		case 5:
  1856  			iNdEx += 4
  1857  			return iNdEx, nil
  1858  		default:
  1859  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1860  		}
  1861  	}
  1862  	panic("unreachable")
  1863  }
  1864  
  1865  var (
  1866  	ErrInvalidLengthTimeseries = fmt.Errorf("proto: negative length found during unmarshaling")
  1867  	ErrIntOverflowTimeseries   = fmt.Errorf("proto: integer overflow")
  1868  )
  1869  
  1870  func init() {
  1871  	proto.RegisterFile("ts/tspb/timeseries.proto", fileDescriptor_timeseries_01081b15400c236e)
  1872  }
  1873  
  1874  var fileDescriptor_timeseries_01081b15400c236e = []byte{
  1875  	// 715 bytes of a gzipped FileDescriptorProto
  1876  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0x4d, 0x6f, 0x12, 0x41,
  1877  	0x18, 0xc7, 0x19, 0x58, 0x0a, 0x3c, 0x54, 0xdc, 0x8e, 0x8d, 0x5d, 0xb1, 0xd9, 0xd2, 0x4d, 0xac,
  1878  	0x48, 0x14, 0xb4, 0xa7, 0x86, 0x1b, 0x15, 0x6c, 0x48, 0xca, 0x36, 0x5d, 0x28, 0x31, 0x1e, 0xc4,
  1879  	0x2d, 0x4c, 0x70, 0x23, 0xec, 0x6c, 0x77, 0x86, 0x9a, 0x5e, 0x3d, 0x79, 0x6c, 0x62, 0xe2, 0xd9,
  1880  	0x2f, 0x63, 0xd2, 0x78, 0xaa, 0xf1, 0xd2, 0x53, 0xa3, 0xd4, 0xef, 0xa1, 0xd9, 0xd9, 0xa5, 0xc5,
  1881  	0x16, 0xdb, 0x46, 0x6f, 0xb3, 0xcf, 0xcb, 0xef, 0xff, 0xbc, 0x2d, 0x28, 0x9c, 0x15, 0x38, 0x73,
  1882  	0xb6, 0x0b, 0xdc, 0xea, 0x13, 0x46, 0x5c, 0x8b, 0xb0, 0xbc, 0xe3, 0x52, 0x4e, 0xf1, 0x4c, 0x9b,
  1883  	0xb6, 0xdf, 0xb8, 0xd4, 0x6c, 0xbf, 0xce, 0x73, 0x96, 0xf7, 0x62, 0xd2, 0xb3, 0x5d, 0xda, 0xa5,
  1884  	0xc2, 0x5b, 0xf0, 0x5e, 0x7e, 0x60, 0x7a, 0xbe, 0x4b, 0x69, 0xb7, 0x47, 0x0a, 0xa6, 0x63, 0x15,
  1885  	0x4c, 0xdb, 0xa6, 0xdc, 0xe4, 0x16, 0xb5, 0x03, 0x8c, 0xf6, 0x0a, 0x6e, 0x35, 0xac, 0x3e, 0xa9,
  1886  	0x0b, 0x74, 0xd9, 0xe4, 0xa6, 0x43, 0x2d, 0x9b, 0xe3, 0x47, 0x70, 0x53, 0x28, 0x72, 0xb3, 0xef,
  1887  	0xb4, 0x6c, 0xd3, 0xa6, 0x4c, 0x41, 0x19, 0x94, 0x8d, 0xac, 0x4a, 0x07, 0xc7, 0x0b, 0x21, 0x23,
  1888  	0x75, 0xea, 0xd4, 0x3d, 0x1f, 0x4e, 0x43, 0x74, 0xd7, 0xec, 0x0d, 0x88, 0x12, 0xce, 0xa0, 0x2c,
  1889  	0x0a, 0x82, 0x7c, 0x93, 0xf6, 0x11, 0x41, 0xea, 0x4f, 0x09, 0xac, 0x80, 0x64, 0x9b, 0x7d, 0x22,
  1890  	0x90, 0x89, 0x20, 0x5a, 0x58, 0xf0, 0x3c, 0x4c, 0x31, 0x3a, 0x70, 0xdb, 0x3e, 0x69, 0xe4, 0x0b,
  1891  	0x6c, 0x78, 0x1d, 0xa0, 0x33, 0x2a, 0x91, 0x29, 0x91, 0x4c, 0x24, 0x9b, 0x5c, 0x5e, 0xca, 0x5f,
  1892  	0x18, 0x44, 0x7e, 0x42, 0x47, 0x01, 0x69, 0x2c, 0x5f, 0xfb, 0x12, 0x86, 0xe8, 0xe6, 0x80, 0xb8,
  1893  	0x7b, 0x97, 0xd4, 0x53, 0x87, 0x64, 0x87, 0xbe, 0xb5, 0x99, 0xd9, 0x77, 0x7a, 0xc4, 0x15, 0x45,
  1894  	0xa5, 0x96, 0x1f, 0x5e, 0x2a, 0x29, 0x90, 0xa5, 0x6e, 0xd7, 0x25, 0x5d, 0x93, 0x53, 0xb7, 0x18,
  1895  	0x29, 0x35, 0xd7, 0x8c, 0x71, 0x0a, 0x7e, 0x09, 0x33, 0x7e, 0x43, 0x2d, 0xf3, 0x34, 0x4c, 0x89,
  1896  	0xfc, 0x0b, 0xba, 0xbe, 0x55, 0x33, 0x64, 0x9f, 0x75, 0x66, 0xc6, 0x06, 0x40, 0x87, 0xb8, 0xd6,
  1897  	0xae, 0xc9, 0xad, 0x5d, 0xa2, 0x48, 0xd7, 0x05, 0x97, 0x4f, 0x73, 0x8a, 0x92, 0xbe, 0xa1, 0x57,
  1898  	0x8c, 0x31, 0x0a, 0x56, 0x20, 0xe6, 0xeb, 0x30, 0x25, 0x9a, 0x89, 0x64, 0x13, 0xc6, 0xe8, 0xb3,
  1899  	0x28, 0xbd, 0xff, 0xb4, 0x80, 0xb4, 0xcf, 0x08, 0x6e, 0x9f, 0xe3, 0x19, 0x64, 0x67, 0x40, 0x18,
  1900  	0xc7, 0xf7, 0x20, 0xc9, 0xb8, 0xe9, 0xf2, 0x09, 0x77, 0x04, 0xc2, 0xe1, 0xdf, 0xd0, 0x22, 0x24,
  1901  	0x88, 0xdd, 0x09, 0x82, 0xc2, 0x63, 0x41, 0x71, 0x62, 0x77, 0xfc, 0x90, 0x15, 0x88, 0xed, 0x0c,
  1902  	0x84, 0x40, 0xb0, 0x7c, 0x65, 0x42, 0x57, 0x42, 0x3b, 0x48, 0x1d, 0x85, 0xe3, 0xfb, 0x30, 0xed,
  1903  	0x4f, 0x3f, 0xe0, 0x4b, 0x63, 0xfc, 0xa4, 0xef, 0x11, 0x12, 0xda, 0x2f, 0x04, 0x73, 0x17, 0xfa,
  1904  	0x60, 0x0e, 0xb5, 0x19, 0xc1, 0x9b, 0x10, 0x73, 0x09, 0x1b, 0xf4, 0xb8, 0xd7, 0x84, 0x27, 0xff,
  1905  	0xe4, 0xea, 0xa1, 0x8e, 0x92, 0xf3, 0x86, 0xc8, 0x1c, 0xd5, 0x15, 0x70, 0xd2, 0xfb, 0x08, 0xa6,
  1906  	0x7c, 0x0f, 0x5e, 0x81, 0xa8, 0x57, 0xed, 0x9e, 0x18, 0xd0, 0x65, 0xad, 0xc5, 0x3d, 0xc4, 0xe1,
  1907  	0xf1, 0x02, 0x32, 0xfc, 0x84, 0x73, 0xbf, 0x45, 0xf8, 0x3f, 0x7f, 0x8b, 0x1b, 0x90, 0x2c, 0x0f,
  1908  	0xfa, 0x4e, 0xb0, 0xbd, 0xdc, 0x36, 0xdc, 0xf9, 0xeb, 0x01, 0xe2, 0x18, 0x78, 0xd7, 0x2d, 0x23,
  1909  	0xef, 0x51, 0xdf, 0xaa, 0xc9, 0x61, 0xef, 0x51, 0x2b, 0x3d, 0x97, 0x23, 0xe2, 0x51, 0xd5, 0x65,
  1910  	0x09, 0x27, 0x20, 0xfa, 0xac, 0x6a, 0xd4, 0x1b, 0x72, 0x14, 0xc7, 0x41, 0x5a, 0x2f, 0xd5, 0x1b,
  1911  	0xf2, 0x14, 0x9e, 0x86, 0x78, 0xb3, 0x64, 0x54, 0x4b, 0xfa, 0xd3, 0x8a, 0x1c, 0xcb, 0x19, 0x17,
  1912  	0x34, 0xce, 0x6e, 0xd1, 0x4b, 0xf2, 0xae, 0x51, 0x0e, 0xe1, 0x14, 0x40, 0xb9, 0x62, 0x54, 0x9b,
  1913  	0xa5, 0x46, 0xb5, 0x59, 0x91, 0x11, 0xbe, 0x0b, 0x73, 0xfa, 0x86, 0xde, 0xd2, 0x2b, 0x6b, 0xc2,
  1914  	0xd2, 0x1a, 0x73, 0x86, 0x97, 0xbf, 0x22, 0x80, 0x33, 0x28, 0xe6, 0xa3, 0x7f, 0xfd, 0xc1, 0x75,
  1915  	0x76, 0x26, 0x5a, 0x4f, 0xe7, 0xae, 0xbf, 0x5e, 0x6d, 0xf6, 0xdd, 0xb7, 0x9f, 0x1f, 0xc2, 0x29,
  1916  	0x2d, 0x51, 0xe0, 0xac, 0x20, 0xd6, 0x52, 0x44, 0x39, 0x5c, 0x03, 0xc9, 0x9b, 0x25, 0x56, 0x27,
  1917  	0x90, 0xc6, 0x86, 0x9c, 0x5e, 0xbc, 0x72, 0x5b, 0x5a, 0xe8, 0x31, 0x5a, 0x5d, 0x3a, 0xf8, 0xa1,
  1918  	0x86, 0x0e, 0x86, 0x2a, 0x3a, 0x1c, 0xaa, 0xe8, 0x68, 0xa8, 0xa2, 0xef, 0x43, 0x15, 0xed, 0x9f,
  1919  	0xa8, 0xa1, 0xc3, 0x13, 0x35, 0x74, 0x74, 0xa2, 0x86, 0x5e, 0x48, 0x5e, 0xea, 0xef, 0x00, 0x00,
  1920  	0x00, 0xff, 0xff, 0x23, 0xbe, 0x15, 0xff, 0x36, 0x06, 0x00, 0x00,
  1921  }