mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Review tsdb protobuf contract
This commit is contained in:
parent
1fd40a48d9
commit
ce4beb730d
@ -1,7 +1,6 @@
|
||||
package tsdb
|
||||
|
||||
import (
|
||||
"github.com/golang/protobuf/ptypes"
|
||||
"github.com/grafana/grafana/pkg/components/null"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/tsdb"
|
||||
@ -19,28 +18,20 @@ func (tw *DatasourcePluginWrapper) Query(ctx context.Context, ds *models.DataSou
|
||||
return nil, err
|
||||
}
|
||||
|
||||
now, err := ptypes.TimestampProto(query.TimeRange.Now)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pbQuery := &proto.TsdbQuery{
|
||||
Datasource: &proto.DatasourceInfo{
|
||||
Access: string(ds.Access),
|
||||
BasicAuth: ds.BasicAuth,
|
||||
BasicAuthUser: ds.BasicAuthUser,
|
||||
BasicAuthPassword: ds.BasicAuthPassword,
|
||||
JsonData: string(jsonData),
|
||||
Name: ds.Name,
|
||||
Type: ds.Type,
|
||||
Url: ds.Url,
|
||||
Id: ds.Id,
|
||||
OrgId: ds.OrgId,
|
||||
JsonData: string(jsonData),
|
||||
Name: ds.Name,
|
||||
Type: ds.Type,
|
||||
Url: ds.Url,
|
||||
Id: ds.Id,
|
||||
OrgId: ds.OrgId,
|
||||
},
|
||||
Timerange: &proto.Timerange{
|
||||
From: query.TimeRange.From,
|
||||
To: query.TimeRange.To,
|
||||
Now: now,
|
||||
TimeRange: &proto.TimeRange{
|
||||
FromRaw: query.TimeRange.From,
|
||||
ToRaw: query.TimeRange.To,
|
||||
ToEpochMs: query.TimeRange.GetToAsMsEpoch(),
|
||||
FromEpochMs: query.TimeRange.GetFromAsMsEpoch(),
|
||||
},
|
||||
Queries: []*proto.Query{},
|
||||
}
|
||||
@ -63,7 +54,6 @@ func (tw *DatasourcePluginWrapper) Query(ctx context.Context, ds *models.DataSou
|
||||
}
|
||||
|
||||
res := &tsdb.Response{
|
||||
Message: pbres.Message,
|
||||
Results: map[string]*tsdb.QueryResult{},
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@ It is generated from these files:
|
||||
It has these top-level messages:
|
||||
TsdbQuery
|
||||
Query
|
||||
Timerange
|
||||
TimeRange
|
||||
Response
|
||||
QueryResult
|
||||
DatasourceInfo
|
||||
@ -22,7 +22,6 @@ package proto
|
||||
import proto1 "github.com/golang/protobuf/proto"
|
||||
import fmt "fmt"
|
||||
import math "math"
|
||||
import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
|
||||
|
||||
import (
|
||||
context "golang.org/x/net/context"
|
||||
@ -41,7 +40,7 @@ var _ = math.Inf
|
||||
const _ = proto1.ProtoPackageIsVersion2 // please upgrade the proto package
|
||||
|
||||
type TsdbQuery struct {
|
||||
Timerange *Timerange `protobuf:"bytes,1,opt,name=timerange" json:"timerange,omitempty"`
|
||||
TimeRange *TimeRange `protobuf:"bytes,1,opt,name=timeRange" json:"timeRange,omitempty"`
|
||||
Datasource *DatasourceInfo `protobuf:"bytes,2,opt,name=datasource" json:"datasource,omitempty"`
|
||||
Queries []*Query `protobuf:"bytes,3,rep,name=queries" json:"queries,omitempty"`
|
||||
}
|
||||
@ -51,9 +50,9 @@ func (m *TsdbQuery) String() string { return proto1.CompactTextString
|
||||
func (*TsdbQuery) ProtoMessage() {}
|
||||
func (*TsdbQuery) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
|
||||
|
||||
func (m *TsdbQuery) GetTimerange() *Timerange {
|
||||
func (m *TsdbQuery) GetTimeRange() *TimeRange {
|
||||
if m != nil {
|
||||
return m.Timerange
|
||||
return m.TimeRange
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -74,9 +73,9 @@ func (m *TsdbQuery) GetQueries() []*Query {
|
||||
|
||||
type Query struct {
|
||||
RefId string `protobuf:"bytes,1,opt,name=refId" json:"refId,omitempty"`
|
||||
ModelJson string `protobuf:"bytes,2,opt,name=modelJson" json:"modelJson,omitempty"`
|
||||
MaxDataPoints int64 `protobuf:"varint,3,opt,name=MaxDataPoints" json:"MaxDataPoints,omitempty"`
|
||||
IntervalMs int64 `protobuf:"varint,4,opt,name=intervalMs" json:"intervalMs,omitempty"`
|
||||
MaxDataPoints int64 `protobuf:"varint,2,opt,name=maxDataPoints" json:"maxDataPoints,omitempty"`
|
||||
IntervalMs int64 `protobuf:"varint,3,opt,name=intervalMs" json:"intervalMs,omitempty"`
|
||||
ModelJson string `protobuf:"bytes,4,opt,name=modelJson" json:"modelJson,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Query) Reset() { *m = Query{} }
|
||||
@ -91,13 +90,6 @@ func (m *Query) GetRefId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Query) GetModelJson() string {
|
||||
if m != nil {
|
||||
return m.ModelJson
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Query) GetMaxDataPoints() int64 {
|
||||
if m != nil {
|
||||
return m.MaxDataPoints
|
||||
@ -112,41 +104,55 @@ func (m *Query) GetIntervalMs() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
type Timerange struct {
|
||||
From string `protobuf:"bytes,1,opt,name=from" json:"from,omitempty"`
|
||||
To string `protobuf:"bytes,2,opt,name=to" json:"to,omitempty"`
|
||||
Now *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=now" json:"now,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Timerange) Reset() { *m = Timerange{} }
|
||||
func (m *Timerange) String() string { return proto1.CompactTextString(m) }
|
||||
func (*Timerange) ProtoMessage() {}
|
||||
func (*Timerange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
|
||||
|
||||
func (m *Timerange) GetFrom() string {
|
||||
func (m *Query) GetModelJson() string {
|
||||
if m != nil {
|
||||
return m.From
|
||||
return m.ModelJson
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Timerange) GetTo() string {
|
||||
type TimeRange struct {
|
||||
FromRaw string `protobuf:"bytes,1,opt,name=fromRaw" json:"fromRaw,omitempty"`
|
||||
ToRaw string `protobuf:"bytes,2,opt,name=toRaw" json:"toRaw,omitempty"`
|
||||
FromEpochMs int64 `protobuf:"varint,3,opt,name=fromEpochMs" json:"fromEpochMs,omitempty"`
|
||||
ToEpochMs int64 `protobuf:"varint,4,opt,name=toEpochMs" json:"toEpochMs,omitempty"`
|
||||
}
|
||||
|
||||
func (m *TimeRange) Reset() { *m = TimeRange{} }
|
||||
func (m *TimeRange) String() string { return proto1.CompactTextString(m) }
|
||||
func (*TimeRange) ProtoMessage() {}
|
||||
func (*TimeRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
|
||||
|
||||
func (m *TimeRange) GetFromRaw() string {
|
||||
if m != nil {
|
||||
return m.To
|
||||
return m.FromRaw
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Timerange) GetNow() *google_protobuf.Timestamp {
|
||||
func (m *TimeRange) GetToRaw() string {
|
||||
if m != nil {
|
||||
return m.Now
|
||||
return m.ToRaw
|
||||
}
|
||||
return nil
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *TimeRange) GetFromEpochMs() int64 {
|
||||
if m != nil {
|
||||
return m.FromEpochMs
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *TimeRange) GetToEpochMs() int64 {
|
||||
if m != nil {
|
||||
return m.ToEpochMs
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
|
||||
Results map[string]*QueryResult `protobuf:"bytes,2,rep,name=results" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
Results []*QueryResult `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Response) Reset() { *m = Response{} }
|
||||
@ -154,14 +160,7 @@ func (m *Response) String() string { return proto1.CompactTextString(
|
||||
func (*Response) ProtoMessage() {}
|
||||
func (*Response) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
|
||||
|
||||
func (m *Response) GetMessage() string {
|
||||
if m != nil {
|
||||
return m.Message
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Response) GetResults() map[string]*QueryResult {
|
||||
func (m *Response) GetResults() []*QueryResult {
|
||||
if m != nil {
|
||||
return m.Results
|
||||
}
|
||||
@ -169,11 +168,10 @@ func (m *Response) GetResults() map[string]*QueryResult {
|
||||
}
|
||||
|
||||
type QueryResult struct {
|
||||
Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
|
||||
ErrorString string `protobuf:"bytes,2,opt,name=errorString" json:"errorString,omitempty"`
|
||||
RefId string `protobuf:"bytes,3,opt,name=refId" json:"refId,omitempty"`
|
||||
MetaJson string `protobuf:"bytes,4,opt,name=metaJson" json:"metaJson,omitempty"`
|
||||
Series []*TimeSeries `protobuf:"bytes,5,rep,name=series" json:"series,omitempty"`
|
||||
Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
|
||||
RefId string `protobuf:"bytes,2,opt,name=refId" json:"refId,omitempty"`
|
||||
MetaJson string `protobuf:"bytes,3,opt,name=metaJson" json:"metaJson,omitempty"`
|
||||
Series []*TimeSeries `protobuf:"bytes,4,rep,name=series" json:"series,omitempty"`
|
||||
}
|
||||
|
||||
func (m *QueryResult) Reset() { *m = QueryResult{} }
|
||||
@ -188,13 +186,6 @@ func (m *QueryResult) GetError() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *QueryResult) GetErrorString() string {
|
||||
if m != nil {
|
||||
return m.ErrorString
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *QueryResult) GetRefId() string {
|
||||
if m != nil {
|
||||
return m.RefId
|
||||
@ -217,17 +208,13 @@ func (m *QueryResult) GetSeries() []*TimeSeries {
|
||||
}
|
||||
|
||||
type DatasourceInfo struct {
|
||||
Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
|
||||
OrgId int64 `protobuf:"varint,2,opt,name=orgId" json:"orgId,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
|
||||
Type string `protobuf:"bytes,4,opt,name=type" json:"type,omitempty"`
|
||||
Access string `protobuf:"bytes,5,opt,name=access" json:"access,omitempty"`
|
||||
Url string `protobuf:"bytes,6,opt,name=url" json:"url,omitempty"`
|
||||
BasicAuth bool `protobuf:"varint,7,opt,name=basicAuth" json:"basicAuth,omitempty"`
|
||||
BasicAuthUser string `protobuf:"bytes,8,opt,name=basicAuthUser" json:"basicAuthUser,omitempty"`
|
||||
BasicAuthPassword string `protobuf:"bytes,9,opt,name=basicAuthPassword" json:"basicAuthPassword,omitempty"`
|
||||
JsonData string `protobuf:"bytes,10,opt,name=jsonData" json:"jsonData,omitempty"`
|
||||
SecureJsonData string `protobuf:"bytes,11,opt,name=secureJsonData" json:"secureJsonData,omitempty"`
|
||||
Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
|
||||
OrgId int64 `protobuf:"varint,2,opt,name=orgId" json:"orgId,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
|
||||
Type string `protobuf:"bytes,4,opt,name=type" json:"type,omitempty"`
|
||||
Url string `protobuf:"bytes,5,opt,name=url" json:"url,omitempty"`
|
||||
JsonData string `protobuf:"bytes,6,opt,name=jsonData" json:"jsonData,omitempty"`
|
||||
SecureJsonData string `protobuf:"bytes,7,opt,name=secureJsonData" json:"secureJsonData,omitempty"`
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) Reset() { *m = DatasourceInfo{} }
|
||||
@ -263,13 +250,6 @@ func (m *DatasourceInfo) GetType() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetAccess() string {
|
||||
if m != nil {
|
||||
return m.Access
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetUrl() string {
|
||||
if m != nil {
|
||||
return m.Url
|
||||
@ -277,27 +257,6 @@ func (m *DatasourceInfo) GetUrl() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetBasicAuth() bool {
|
||||
if m != nil {
|
||||
return m.BasicAuth
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetBasicAuthUser() string {
|
||||
if m != nil {
|
||||
return m.BasicAuthUser
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetBasicAuthPassword() string {
|
||||
if m != nil {
|
||||
return m.BasicAuthPassword
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *DatasourceInfo) GetJsonData() string {
|
||||
if m != nil {
|
||||
return m.JsonData
|
||||
@ -371,7 +330,7 @@ func (m *Point) GetValue() float64 {
|
||||
func init() {
|
||||
proto1.RegisterType((*TsdbQuery)(nil), "plugins.TsdbQuery")
|
||||
proto1.RegisterType((*Query)(nil), "plugins.Query")
|
||||
proto1.RegisterType((*Timerange)(nil), "plugins.Timerange")
|
||||
proto1.RegisterType((*TimeRange)(nil), "plugins.TimeRange")
|
||||
proto1.RegisterType((*Response)(nil), "plugins.Response")
|
||||
proto1.RegisterType((*QueryResult)(nil), "plugins.QueryResult")
|
||||
proto1.RegisterType((*DatasourceInfo)(nil), "plugins.DatasourceInfo")
|
||||
@ -454,49 +413,41 @@ var _TsdbPlugin_serviceDesc = grpc.ServiceDesc{
|
||||
func init() { proto1.RegisterFile("tsdb_plugin.proto", fileDescriptor0) }
|
||||
|
||||
var fileDescriptor0 = []byte{
|
||||
// 691 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0xcd, 0x6e, 0xd3, 0x4c,
|
||||
0x14, 0x95, 0xe3, 0xfc, 0xf9, 0xe6, 0xfb, 0x22, 0x3a, 0x54, 0x60, 0x45, 0x50, 0x22, 0x0b, 0x55,
|
||||
0x11, 0x54, 0x2e, 0x84, 0x45, 0x2b, 0x60, 0x03, 0x82, 0x45, 0x2b, 0x55, 0x0a, 0xd3, 0xb2, 0x41,
|
||||
0x42, 0x68, 0x12, 0x4f, 0x8c, 0xc1, 0xf6, 0x84, 0x99, 0x71, 0x4b, 0x97, 0xbc, 0x09, 0x0b, 0x1e,
|
||||
0x80, 0x05, 0x6b, 0x9e, 0x0d, 0xcd, 0xf5, 0xd8, 0x71, 0xda, 0xae, 0x72, 0x7f, 0xce, 0x1d, 0x9f,
|
||||
0x9c, 0x73, 0x67, 0x60, 0x4b, 0xab, 0x68, 0xfe, 0x69, 0x95, 0x16, 0x71, 0x92, 0x87, 0x2b, 0x29,
|
||||
0xb4, 0x20, 0xbd, 0x32, 0x53, 0xa3, 0x07, 0xb1, 0x10, 0x71, 0xca, 0xf7, 0xb1, 0x3c, 0x2f, 0x96,
|
||||
0xfb, 0x3a, 0xc9, 0xb8, 0xd2, 0x2c, 0x5b, 0x95, 0xc8, 0xe0, 0xa7, 0x03, 0xde, 0x99, 0x8a, 0xe6,
|
||||
0xef, 0x0a, 0x2e, 0x2f, 0xc9, 0x13, 0xf0, 0x0c, 0x40, 0xb2, 0x3c, 0xe6, 0xbe, 0x33, 0x76, 0x26,
|
||||
0x83, 0x29, 0x09, 0xed, 0x59, 0xe1, 0x59, 0xd5, 0xa1, 0x6b, 0x10, 0x39, 0x00, 0x88, 0x98, 0x66,
|
||||
0x4a, 0x14, 0x72, 0xc1, 0xfd, 0x16, 0x8e, 0xdc, 0xad, 0x47, 0xde, 0xd4, 0xad, 0xa3, 0x7c, 0x29,
|
||||
0x68, 0x03, 0x4a, 0x26, 0xd0, 0xfb, 0x56, 0x70, 0x99, 0x70, 0xe5, 0xbb, 0x63, 0x77, 0x32, 0x98,
|
||||
0x0e, 0xeb, 0x29, 0xe4, 0x42, 0xab, 0x76, 0xf0, 0xc3, 0x81, 0x4e, 0x49, 0x6f, 0x1b, 0x3a, 0x92,
|
||||
0x2f, 0x8f, 0x22, 0xa4, 0xe6, 0xd1, 0x32, 0x21, 0xf7, 0xc0, 0xcb, 0x44, 0xc4, 0xd3, 0x63, 0x25,
|
||||
0x72, 0x64, 0xe0, 0xd1, 0x75, 0x81, 0x3c, 0x84, 0xff, 0x4f, 0xd8, 0x77, 0x43, 0x64, 0x26, 0x92,
|
||||
0x5c, 0x9b, 0xaf, 0x39, 0x13, 0x97, 0x6e, 0x16, 0xc9, 0x0e, 0x40, 0x92, 0x6b, 0x2e, 0xcf, 0x59,
|
||||
0x7a, 0xa2, 0xfc, 0x36, 0x42, 0x1a, 0x95, 0xe0, 0x23, 0x78, 0xf5, 0xdf, 0x27, 0x04, 0xda, 0x4b,
|
||||
0x29, 0x32, 0xcb, 0x02, 0x63, 0x32, 0x84, 0x96, 0x16, 0xf6, 0xeb, 0x2d, 0x2d, 0xc8, 0x1e, 0xb8,
|
||||
0xb9, 0xb8, 0xc0, 0x8f, 0x0d, 0xa6, 0xa3, 0xb0, 0xb4, 0x21, 0xac, 0x6c, 0x40, 0x2d, 0xd1, 0x06,
|
||||
0x6a, 0x60, 0xc1, 0x6f, 0x07, 0xfa, 0x94, 0xab, 0x95, 0xc8, 0x15, 0x27, 0x3e, 0xf4, 0x32, 0xae,
|
||||
0x14, 0xb3, 0x16, 0x78, 0xb4, 0x4a, 0xc9, 0x21, 0xf4, 0x24, 0x57, 0x45, 0xaa, 0x95, 0xdf, 0x42,
|
||||
0xcd, 0x76, 0x6a, 0xcd, 0xaa, 0x69, 0x13, 0x18, 0xc0, 0xdb, 0x5c, 0x1b, 0x0d, 0x2d, 0x7c, 0x34,
|
||||
0x83, 0xff, 0x9a, 0x0d, 0x72, 0x0b, 0xdc, 0xaf, 0xfc, 0xd2, 0x9e, 0x6f, 0x42, 0xf2, 0x08, 0x3a,
|
||||
0xe7, 0x2c, 0x2d, 0x2a, 0x0f, 0xb7, 0xaf, 0xb8, 0x81, 0xc3, 0xb4, 0x84, 0x3c, 0x6f, 0x1d, 0x3a,
|
||||
0xc1, 0x2f, 0x07, 0x06, 0x8d, 0x96, 0xf1, 0x86, 0x4b, 0x29, 0x64, 0xe5, 0x0d, 0x26, 0x64, 0x0c,
|
||||
0x03, 0x0c, 0x4e, 0xb5, 0x4c, 0xf2, 0xd8, 0xea, 0xd3, 0x2c, 0xad, 0x3d, 0x75, 0x9b, 0x9e, 0x8e,
|
||||
0xa0, 0x9f, 0x71, 0xcd, 0xd0, 0xd2, 0x36, 0x36, 0xea, 0x9c, 0x3c, 0x86, 0xae, 0x2a, 0x17, 0xa7,
|
||||
0x83, 0x22, 0xdc, 0xde, 0xd8, 0xd0, 0x53, 0x6c, 0x51, 0x0b, 0x09, 0xfe, 0xb6, 0x60, 0xb8, 0xb9,
|
||||
0x85, 0xc6, 0xaa, 0xa4, 0x5c, 0x21, 0x97, 0xb6, 0x92, 0xc8, 0x30, 0x10, 0x32, 0x3e, 0x8a, 0x90,
|
||||
0x9d, 0x4b, 0xcb, 0xc4, 0x98, 0x9c, 0xb3, 0x8c, 0x5b, 0x5a, 0x18, 0x9b, 0x9a, 0xbe, 0x5c, 0x71,
|
||||
0xcb, 0x08, 0x63, 0x72, 0x07, 0xba, 0x6c, 0xb1, 0xe0, 0xca, 0xb0, 0x31, 0x55, 0x9b, 0x19, 0x85,
|
||||
0x0b, 0x99, 0xfa, 0xdd, 0x52, 0xe1, 0x42, 0xa6, 0x66, 0x4f, 0xe7, 0x4c, 0x25, 0x8b, 0x57, 0x85,
|
||||
0xfe, 0xec, 0xf7, 0xc6, 0xce, 0xa4, 0x4f, 0xd7, 0x05, 0xb3, 0xa7, 0x75, 0xf2, 0x5e, 0x71, 0xe9,
|
||||
0xf7, 0x71, 0x72, 0xb3, 0x48, 0xf6, 0x60, 0xab, 0x2e, 0xcc, 0x98, 0x52, 0x17, 0x42, 0x46, 0xbe,
|
||||
0x87, 0xc8, 0xeb, 0x0d, 0xa3, 0xe2, 0x17, 0x25, 0x72, 0xf3, 0xff, 0x7d, 0x28, 0x55, 0xac, 0x72,
|
||||
0xb2, 0x0b, 0x43, 0xc5, 0x17, 0x85, 0xe4, 0xc7, 0x15, 0x62, 0x80, 0x88, 0x2b, 0xd5, 0xe0, 0x8f,
|
||||
0x03, 0xb0, 0xd6, 0xb5, 0x96, 0xc5, 0x69, 0xc8, 0xf2, 0x14, 0xda, 0x9a, 0xc5, 0xd5, 0x4e, 0xde,
|
||||
0xbf, 0xc1, 0x8e, 0xf0, 0x8c, 0xc5, 0x76, 0x25, 0x11, 0x4a, 0x76, 0xa1, 0xbb, 0xaa, 0xae, 0xe3,
|
||||
0xe6, 0xe5, 0xc7, 0x0b, 0x49, 0x6d, 0x77, 0x74, 0x00, 0x5e, 0x3d, 0x7a, 0xc3, 0xd2, 0x6e, 0x37,
|
||||
0x97, 0xd6, 0x6b, 0xae, 0xe7, 0x0b, 0xe8, 0xe0, 0x49, 0x46, 0xf5, 0xfa, 0xcd, 0xb3, 0xa6, 0xaf,
|
||||
0x0b, 0x9b, 0x07, 0x38, 0xf6, 0x80, 0xe9, 0x4b, 0x00, 0xf3, 0x26, 0xce, 0x90, 0x12, 0x09, 0xab,
|
||||
0xe7, 0xa7, 0xf1, 0x14, 0x56, 0x2f, 0xe6, 0x68, 0xeb, 0xda, 0x0d, 0x7c, 0xdd, 0xfb, 0xd0, 0x29,
|
||||
0xef, 0x79, 0x17, 0x7f, 0x9e, 0xfd, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x85, 0x56, 0x31, 0xa1,
|
||||
0x05, 0x00, 0x00,
|
||||
// 566 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0x51, 0x8b, 0xd3, 0x4c,
|
||||
0x14, 0x25, 0x49, 0xdb, 0x6c, 0x6e, 0xf9, 0xca, 0xb7, 0xe3, 0x82, 0xa1, 0xa8, 0x94, 0x20, 0x4b,
|
||||
0x41, 0x08, 0x5a, 0x1f, 0x56, 0x56, 0x9f, 0xc4, 0x7d, 0xd8, 0x05, 0x61, 0x1d, 0xfb, 0xe4, 0x8b,
|
||||
0x4c, 0x9b, 0x69, 0x8c, 0x26, 0x99, 0x38, 0x33, 0x59, 0x2d, 0x3e, 0xe9, 0x2f, 0xf1, 0x47, 0xf8,
|
||||
0x03, 0x65, 0x6e, 0x32, 0x49, 0x5a, 0x7c, 0xea, 0xdc, 0x73, 0xce, 0xcc, 0x3d, 0x39, 0x73, 0x3b,
|
||||
0x70, 0xaa, 0x55, 0xb2, 0xf9, 0x58, 0xe5, 0x75, 0x9a, 0x95, 0x71, 0x25, 0x85, 0x16, 0xc4, 0x6f,
|
||||
0x2a, 0x15, 0xfd, 0x76, 0x20, 0x58, 0xab, 0x64, 0xf3, 0xae, 0xe6, 0x72, 0x4f, 0x9e, 0x42, 0xa0,
|
||||
0xb3, 0x82, 0x53, 0x56, 0xa6, 0x3c, 0x74, 0x16, 0xce, 0x72, 0xba, 0x22, 0x71, 0x2b, 0x8d, 0xd7,
|
||||
0x96, 0xa1, 0xbd, 0x88, 0x5c, 0x00, 0x24, 0x4c, 0x33, 0x25, 0x6a, 0xb9, 0xe5, 0xa1, 0x8b, 0x5b,
|
||||
0xee, 0x77, 0x5b, 0xde, 0x74, 0xd4, 0x75, 0xb9, 0x13, 0x74, 0x20, 0x25, 0x4b, 0xf0, 0xbf, 0xd6,
|
||||
0x5c, 0x66, 0x5c, 0x85, 0xde, 0xc2, 0x5b, 0x4e, 0x57, 0xb3, 0x6e, 0x17, 0x7a, 0xa1, 0x96, 0x8e,
|
||||
0x7e, 0x3a, 0x30, 0x6e, 0xec, 0x9d, 0xc1, 0x58, 0xf2, 0xdd, 0x75, 0x82, 0xd6, 0x02, 0xda, 0x14,
|
||||
0xe4, 0x31, 0xfc, 0x57, 0xb0, 0xef, 0xa6, 0xd5, 0xad, 0xc8, 0x4a, 0xad, 0xd0, 0x85, 0x47, 0x0f,
|
||||
0x41, 0xf2, 0x08, 0x20, 0x2b, 0x35, 0x97, 0x77, 0x2c, 0x7f, 0x6b, 0x5a, 0x1a, 0xc9, 0x00, 0x21,
|
||||
0x0f, 0x20, 0x28, 0x44, 0xc2, 0xf3, 0x1b, 0x25, 0xca, 0x70, 0x84, 0xe7, 0xf7, 0x40, 0xf4, 0x03,
|
||||
0x82, 0xee, 0xf3, 0x49, 0x08, 0xfe, 0x4e, 0x8a, 0x82, 0xb2, 0x6f, 0xad, 0x11, 0x5b, 0x1a, 0x83,
|
||||
0x5a, 0x18, 0xdc, 0x6d, 0x0c, 0x62, 0x41, 0x16, 0x30, 0x35, 0x82, 0xab, 0x4a, 0x6c, 0x3f, 0x75,
|
||||
0xbd, 0x87, 0x90, 0x69, 0xae, 0x85, 0xe5, 0x47, 0xc8, 0xf7, 0x40, 0x74, 0x09, 0x27, 0x94, 0xab,
|
||||
0x4a, 0x94, 0x8a, 0x93, 0x18, 0x7c, 0xc9, 0x55, 0x9d, 0x6b, 0x15, 0x3a, 0x18, 0xdb, 0xd9, 0x51,
|
||||
0x6c, 0x48, 0x52, 0x2b, 0x8a, 0x7e, 0x39, 0x30, 0x1d, 0x10, 0xc6, 0x21, 0x97, 0x52, 0x48, 0x1b,
|
||||
0x21, 0x16, 0x7d, 0xb0, 0xee, 0x30, 0xd8, 0x39, 0x9c, 0x14, 0x5c, 0x33, 0x4c, 0xc4, 0x43, 0xa2,
|
||||
0xab, 0xc9, 0x13, 0x98, 0xa8, 0xe6, 0xf6, 0x46, 0x68, 0xe3, 0xde, 0xc1, 0x98, 0xbc, 0x47, 0x8a,
|
||||
0xb6, 0x92, 0xe8, 0x8f, 0x03, 0xb3, 0xc3, 0x51, 0x20, 0x33, 0x70, 0xb3, 0xe6, 0x1e, 0x3d, 0xea,
|
||||
0x66, 0x89, 0x71, 0x20, 0x64, 0xda, 0x3a, 0xf0, 0x68, 0x53, 0x10, 0x02, 0xa3, 0x92, 0x15, 0xbc,
|
||||
0xed, 0x8e, 0x6b, 0x83, 0xe9, 0x7d, 0xc5, 0xdb, 0x3b, 0xc2, 0x35, 0xf9, 0x1f, 0xbc, 0x5a, 0xe6,
|
||||
0xe1, 0x18, 0x21, 0xb3, 0x34, 0xde, 0x3f, 0x2b, 0x51, 0x9a, 0xae, 0xe1, 0xa4, 0xf1, 0x6e, 0x6b,
|
||||
0x72, 0x0e, 0x33, 0xc5, 0xb7, 0xb5, 0xe4, 0x37, 0x56, 0xe1, 0xa3, 0xe2, 0x08, 0x35, 0xb6, 0xa1,
|
||||
0xff, 0x9a, 0xce, 0x8c, 0x33, 0x30, 0xf3, 0x0c, 0x46, 0x9a, 0xa5, 0x66, 0xe4, 0x4c, 0x08, 0x0f,
|
||||
0xff, 0x11, 0x42, 0xbc, 0x66, 0xa9, 0xba, 0x2a, 0xb5, 0xdc, 0x53, 0x94, 0x92, 0x73, 0x98, 0x54,
|
||||
0xcd, 0x9c, 0x1e, 0xcf, 0x3d, 0x4e, 0x2a, 0x6d, 0xd9, 0xf9, 0x05, 0x04, 0xdd, 0x56, 0xf3, 0x81,
|
||||
0x5f, 0xf8, 0xbe, 0x6d, 0x6d, 0x96, 0x26, 0xb0, 0x3b, 0x96, 0xd7, 0xdc, 0x5e, 0x19, 0x16, 0x97,
|
||||
0xee, 0x0b, 0x27, 0x7a, 0x09, 0x63, 0x3c, 0x09, 0xa7, 0x2a, 0x2b, 0xb8, 0xd2, 0xac, 0xa8, 0xda,
|
||||
0xa8, 0x7b, 0xe0, 0xf0, 0x00, 0xa7, 0x3d, 0x60, 0xf5, 0x0a, 0xc0, 0x3c, 0x07, 0xb7, 0x68, 0x89,
|
||||
0xc4, 0xf6, 0x9f, 0x37, 0x78, 0x05, 0xec, 0x63, 0x31, 0x3f, 0xed, 0x30, 0x3b, 0x9d, 0xaf, 0xfd,
|
||||
0x0f, 0x63, 0x7c, 0x5f, 0x36, 0x13, 0xfc, 0x79, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0xbf, 0x69,
|
||||
0x3b, 0x74, 0x7b, 0x04, 0x00, 0x00,
|
||||
}
|
||||
|
@ -3,39 +3,35 @@ option go_package = "proto";
|
||||
|
||||
package plugins;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
message TsdbQuery {
|
||||
Timerange timerange = 1;
|
||||
TimeRange timeRange = 1;
|
||||
DatasourceInfo datasource = 2;
|
||||
repeated Query queries = 3;
|
||||
}
|
||||
|
||||
message Query {
|
||||
string refId = 1;
|
||||
string modelJson = 2;
|
||||
int64 MaxDataPoints = 3;
|
||||
int64 intervalMs = 4;
|
||||
// dont repeat. DatasourceInfo datasource = 5;
|
||||
int64 maxDataPoints = 2;
|
||||
int64 intervalMs = 3;
|
||||
string modelJson = 4;
|
||||
}
|
||||
|
||||
message Timerange {
|
||||
string from = 1;
|
||||
string to = 2;
|
||||
google.protobuf.Timestamp now = 3;
|
||||
message TimeRange {
|
||||
string fromRaw = 1;
|
||||
string toRaw = 2;
|
||||
int64 fromEpochMs = 3;
|
||||
int64 toEpochMs = 4;
|
||||
}
|
||||
|
||||
message Response {
|
||||
string message = 1;
|
||||
map<string, QueryResult> results = 2;
|
||||
repeated QueryResult results = 1;
|
||||
}
|
||||
|
||||
message QueryResult {
|
||||
string error = 1;
|
||||
string errorString = 2;
|
||||
string refId = 3;
|
||||
string metaJson = 4;
|
||||
repeated TimeSeries series = 5;
|
||||
string refId = 2;
|
||||
string metaJson = 3;
|
||||
repeated TimeSeries series = 4;
|
||||
|
||||
//repeat Table tables = x;
|
||||
}
|
||||
@ -45,13 +41,9 @@ message DatasourceInfo {
|
||||
int64 orgId = 2;
|
||||
string name = 3;
|
||||
string type = 4;
|
||||
string access = 5;
|
||||
string url = 6;
|
||||
bool basicAuth = 7;
|
||||
string basicAuthUser = 8;
|
||||
string basicAuthPassword = 9;
|
||||
string jsonData = 10;
|
||||
string secureJsonData = 11;
|
||||
string url = 5;
|
||||
string jsonData = 6;
|
||||
string secureJsonData = 7;
|
||||
}
|
||||
|
||||
message TimeSeries {
|
||||
|
@ -11,14 +11,14 @@ func NewTimeRange(from, to string) *TimeRange {
|
||||
return &TimeRange{
|
||||
From: from,
|
||||
To: to,
|
||||
Now: time.Now(),
|
||||
now: time.Now(),
|
||||
}
|
||||
}
|
||||
|
||||
type TimeRange struct {
|
||||
From string
|
||||
To string
|
||||
Now time.Time
|
||||
now time.Time
|
||||
}
|
||||
|
||||
func (tr *TimeRange) GetFromAsMsEpoch() int64 {
|
||||
@ -65,12 +65,12 @@ func (tr *TimeRange) ParseFrom() (time.Time, error) {
|
||||
return time.Time{}, err
|
||||
}
|
||||
|
||||
return tr.Now.Add(diff), nil
|
||||
return tr.now.Add(diff), nil
|
||||
}
|
||||
|
||||
func (tr *TimeRange) ParseTo() (time.Time, error) {
|
||||
if tr.To == "now" {
|
||||
return tr.Now, nil
|
||||
return tr.now, nil
|
||||
} else if strings.HasPrefix(tr.To, "now-") {
|
||||
withoutNow := strings.Replace(tr.To, "now-", "", 1)
|
||||
|
||||
@ -79,7 +79,7 @@ func (tr *TimeRange) ParseTo() (time.Time, error) {
|
||||
return time.Time{}, nil
|
||||
}
|
||||
|
||||
return tr.Now.Add(diff), nil
|
||||
return tr.now.Add(diff), nil
|
||||
}
|
||||
|
||||
if res, ok := tryParseUnixMsEpoch(tr.To); ok {
|
||||
|
@ -16,7 +16,7 @@ func TestTimeRange(t *testing.T) {
|
||||
tr := TimeRange{
|
||||
From: "5m",
|
||||
To: "now",
|
||||
Now: now,
|
||||
now: now,
|
||||
}
|
||||
|
||||
Convey("5m ago ", func() {
|
||||
@ -39,7 +39,7 @@ func TestTimeRange(t *testing.T) {
|
||||
tr := TimeRange{
|
||||
From: "5h",
|
||||
To: "now-10m",
|
||||
Now: now,
|
||||
now: now,
|
||||
}
|
||||
|
||||
Convey("5h ago ", func() {
|
||||
@ -65,7 +65,7 @@ func TestTimeRange(t *testing.T) {
|
||||
tr := TimeRange{
|
||||
From: "1474973725473",
|
||||
To: "1474975757930",
|
||||
Now: now,
|
||||
now: now,
|
||||
}
|
||||
|
||||
res, err := tr.ParseFrom()
|
||||
@ -82,7 +82,7 @@ func TestTimeRange(t *testing.T) {
|
||||
tr := TimeRange{
|
||||
From: "asdf",
|
||||
To: "asdf",
|
||||
Now: now,
|
||||
now: now,
|
||||
}
|
||||
|
||||
_, err = tr.ParseFrom()
|
||||
|
Loading…
Reference in New Issue
Block a user