Merge pull request #405 from influxdata/layout-groupbys

Add groupby options to layouts
pull/407/head
Chris Goller 2016-11-07 17:33:55 -06:00 committed by GitHub
commit 6fc4db5a17
8 changed files with 60 additions and 50 deletions

View File

@ -106,9 +106,10 @@ func MarshalLayout(l chronograf.Layout) ([]byte, error) {
queries := make([]*Query, len(c.Queries))
for j, q := range c.Queries {
queries[j] = &Query{
Command: q.Command,
DB: q.DB,
RP: q.RP,
Command: q.Command,
DB: q.DB,
RP: q.RP,
GroupBys: q.GroupBys,
}
}
cells[i] = &Cell{
@ -144,9 +145,10 @@ func UnmarshalLayout(data []byte, l *chronograf.Layout) error {
queries := make([]chronograf.Query, len(c.Queries))
for j, q := range c.Queries {
queries[j] = chronograf.Query{
Command: q.Command,
DB: q.DB,
RP: q.RP,
Command: q.Command,
DB: q.DB,
RP: q.RP,
GroupBys: q.GroupBys,
}
}
cells[i] = chronograf.Cell{

View File

@ -120,9 +120,10 @@ func (m *Cell) GetQueries() []*Query {
}
type Query struct {
Command string `protobuf:"bytes,1,opt,name=Command,json=command,proto3" json:"Command,omitempty"`
DB string `protobuf:"bytes,2,opt,name=DB,json=dB,proto3" json:"DB,omitempty"`
RP string `protobuf:"bytes,3,opt,name=RP,json=rP,proto3" json:"RP,omitempty"`
Command string `protobuf:"bytes,1,opt,name=Command,json=command,proto3" json:"Command,omitempty"`
DB string `protobuf:"bytes,2,opt,name=DB,json=dB,proto3" json:"DB,omitempty"`
RP string `protobuf:"bytes,3,opt,name=RP,json=rP,proto3" json:"RP,omitempty"`
GroupBys []string `protobuf:"bytes,4,rep,name=GroupBys,json=groupBys" json:"GroupBys,omitempty"`
}
func (m *Query) Reset() { *m = Query{} }
@ -155,37 +156,38 @@ func init() {
func init() { proto.RegisterFile("internal.proto", fileDescriptorInternal) }
var fileDescriptorInternal = []byte{
// 505 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0xae, 0xd3, 0x3c,
0x10, 0xc5, 0xe5, 0x26, 0x4e, 0x9a, 0xe9, 0xa7, 0x7e, 0xc8, 0x42, 0x28, 0x42, 0x2c, 0xaa, 0x88,
0x45, 0xd9, 0xdc, 0x05, 0x3c, 0x41, 0x6f, 0xc3, 0xa2, 0x50, 0x7a, 0x8b, 0x4b, 0x97, 0x2c, 0x4c,
0x32, 0xe8, 0x06, 0xf2, 0x0f, 0xc7, 0xa6, 0xcd, 0x96, 0x2d, 0x3c, 0x06, 0x6f, 0xc0, 0x0b, 0x22,
0xbb, 0x2e, 0xa9, 0x04, 0xba, 0xba, 0xcb, 0x33, 0x67, 0xa2, 0xf9, 0xcd, 0x99, 0x18, 0xa6, 0x45,
0xad, 0x50, 0xd6, 0xa2, 0xbc, 0x6a, 0x65, 0xa3, 0x1a, 0x36, 0x3e, 0xeb, 0xe4, 0x17, 0x81, 0xc9,
0xcb, 0x63, 0x5b, 0x36, 0x52, 0xa8, 0xa2, 0xa9, 0xd9, 0x14, 0x46, 0xab, 0x34, 0x26, 0x33, 0x32,
0xf7, 0xf8, 0xa8, 0x48, 0x19, 0x03, 0x7f, 0x23, 0x2a, 0x8c, 0x47, 0x33, 0x32, 0x8f, 0xb8, 0x5f,
0x8b, 0x0a, 0xd9, 0x23, 0x08, 0xf6, 0x1d, 0xca, 0x55, 0x1a, 0x7b, 0xb6, 0x2f, 0xd0, 0x56, 0x99,
0xde, 0x54, 0x28, 0x11, 0xfb, 0xa7, 0xde, 0x5c, 0x28, 0xc1, 0x9e, 0x40, 0xb4, 0x94, 0x28, 0x14,
0xe6, 0x0b, 0x15, 0x53, 0xdb, 0x1e, 0x65, 0xe7, 0x82, 0x71, 0xf7, 0x6d, 0xee, 0xdc, 0xe0, 0xe4,
0xea, 0x73, 0x81, 0xc5, 0x10, 0xa6, 0xf8, 0x51, 0xe8, 0x52, 0xc5, 0xe1, 0x8c, 0xcc, 0xc7, 0x3c,
0xcc, 0x4f, 0x32, 0xf9, 0x49, 0x20, 0xd8, 0x35, 0x5a, 0x66, 0x78, 0x2f, 0x60, 0x06, 0xfe, 0xbb,
0xbe, 0x45, 0x8b, 0x1b, 0x71, 0x5f, 0xf5, 0x2d, 0xb2, 0xc7, 0x30, 0x36, 0x4b, 0x18, 0xdf, 0x01,
0x8f, 0xb5, 0xd3, 0xc6, 0xdb, 0x8a, 0xae, 0x3b, 0x34, 0x32, 0xb7, 0xcc, 0x11, 0x1f, 0xb7, 0x4e,
0xb3, 0x07, 0xe0, 0xed, 0xf9, 0xda, 0xc2, 0x46, 0xdc, 0xd3, 0x7c, 0x7d, 0x07, 0xe6, 0x0f, 0x83,
0x89, 0xf2, 0x2b, 0xca, 0x7b, 0x61, 0x5e, 0x22, 0x79, 0x77, 0x20, 0xf9, 0xff, 0x46, 0xa2, 0x03,
0xd2, 0x43, 0xa0, 0x3b, 0x99, 0xad, 0x52, 0x97, 0x29, 0xed, 0x8c, 0x48, 0xbe, 0x11, 0x08, 0xd6,
0xa2, 0x6f, 0xb4, 0xba, 0xc0, 0x89, 0x2c, 0xce, 0x0c, 0x26, 0x8b, 0xb6, 0x2d, 0x8b, 0xcc, 0xfe,
0x05, 0x8e, 0x6a, 0x22, 0x86, 0x92, 0xe9, 0x78, 0x83, 0xa2, 0xd3, 0x12, 0x2b, 0xac, 0x95, 0xe3,
0x9b, 0x54, 0x43, 0x89, 0x3d, 0x05, 0xba, 0xc4, 0xb2, 0xec, 0x62, 0x7f, 0xe6, 0xcd, 0x27, 0xcf,
0xa7, 0x57, 0x7f, 0x7e, 0x3a, 0x53, 0xe6, 0x34, 0x33, 0x66, 0xf2, 0x9d, 0x80, 0x6f, 0x34, 0xfb,
0x0f, 0xc8, 0xd1, 0x12, 0x50, 0x4e, 0x8e, 0x46, 0xf5, 0x76, 0x2c, 0xe5, 0xa4, 0x37, 0xea, 0x60,
0x47, 0x50, 0x4e, 0x0e, 0x46, 0xdd, 0xda, 0xa5, 0x29, 0x27, 0xb7, 0xec, 0x19, 0x84, 0x5f, 0x34,
0xca, 0x02, 0xbb, 0x98, 0xda, 0x41, 0xff, 0x0f, 0x83, 0xde, 0x6a, 0x94, 0x3d, 0x3f, 0xfb, 0xe6,
0xc3, 0xc2, 0x5d, 0x8a, 0x14, 0x26, 0x72, 0x1b, 0x6d, 0x38, 0x44, 0x9e, 0x2c, 0x80, 0xda, 0x6f,
0xcc, 0x11, 0x97, 0x4d, 0x55, 0x89, 0x3a, 0x77, 0xa9, 0x84, 0xd9, 0x49, 0x9a, 0xa8, 0xd2, 0x6b,
0x97, 0xc8, 0x28, 0xbf, 0x36, 0x9a, 0x6f, 0xdd, 0xfe, 0x23, 0xb9, 0x4d, 0xde, 0x43, 0xb4, 0x28,
0x51, 0x2a, 0xae, 0x4b, 0xfc, 0x2b, 0x57, 0x06, 0xfe, 0xab, 0xdd, 0xcd, 0xe6, 0x7c, 0xe6, 0x4f,
0xbb, 0x9b, 0xcd, 0x70, 0x1c, 0xef, 0xe2, 0x38, 0xe6, 0x51, 0xbd, 0x16, 0xad, 0x58, 0xa5, 0x76,
0x53, 0x8f, 0x07, 0x9f, 0xad, 0xfa, 0x10, 0xd8, 0x17, 0xfb, 0xe2, 0x77, 0x00, 0x00, 0x00, 0xff,
0xff, 0x61, 0x43, 0x41, 0x73, 0xc3, 0x03, 0x00, 0x00,
// 519 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x8e, 0xd3, 0x30,
0x10, 0xc6, 0xe5, 0x26, 0xce, 0x1f, 0x17, 0x2d, 0xc8, 0x42, 0x28, 0x42, 0x1c, 0xaa, 0x88, 0x43,
0xb9, 0xec, 0x01, 0x9e, 0xa0, 0x6d, 0x10, 0x2a, 0x94, 0x6e, 0x71, 0xe9, 0x71, 0x0f, 0x26, 0x31,
0x6c, 0x20, 0x7f, 0x8c, 0x63, 0xd3, 0xe6, 0xca, 0x15, 0x1e, 0x83, 0x37, 0xe0, 0x05, 0xd1, 0xb8,
0x2e, 0xa9, 0x04, 0x5a, 0xed, 0xf1, 0x9b, 0x6f, 0xa2, 0xf9, 0xcd, 0x37, 0x0e, 0xb9, 0x28, 0x1b,
0x2d, 0x54, 0xc3, 0xab, 0x4b, 0xa9, 0x5a, 0xdd, 0xd2, 0xe8, 0xa4, 0xd3, 0xdf, 0x88, 0x8c, 0x5f,
0x1e, 0x64, 0xd5, 0x2a, 0xae, 0xcb, 0xb6, 0xa1, 0x17, 0x64, 0xb4, 0xcc, 0x12, 0x34, 0x41, 0x53,
0x8f, 0x8d, 0xca, 0x8c, 0x52, 0xe2, 0xaf, 0x79, 0x2d, 0x92, 0xd1, 0x04, 0x4d, 0x63, 0xe6, 0x37,
0xbc, 0x16, 0xf4, 0x11, 0x09, 0x76, 0x9d, 0x50, 0xcb, 0x2c, 0xf1, 0x6c, 0x5f, 0x60, 0xac, 0x82,
0xde, 0x8c, 0x6b, 0x9e, 0xf8, 0xc7, 0xde, 0x82, 0x6b, 0x4e, 0x9f, 0x90, 0x78, 0xa1, 0x04, 0xd7,
0xa2, 0x98, 0xe9, 0x04, 0xdb, 0xf6, 0x38, 0x3f, 0x15, 0xc0, 0xdd, 0xc9, 0xc2, 0xb9, 0xc1, 0xd1,
0x35, 0xa7, 0x02, 0x4d, 0x48, 0x98, 0x89, 0x8f, 0xdc, 0x54, 0x3a, 0x09, 0x27, 0x68, 0x1a, 0xb1,
0xb0, 0x38, 0xca, 0xf4, 0x17, 0x22, 0xc1, 0xb6, 0x35, 0x2a, 0x17, 0x77, 0x02, 0xa6, 0xc4, 0x7f,
0xdf, 0x4b, 0x61, 0x71, 0x63, 0xe6, 0xeb, 0x5e, 0x0a, 0xfa, 0x98, 0x44, 0xb0, 0x04, 0xf8, 0x0e,
0x38, 0x32, 0x4e, 0x83, 0xb7, 0xe1, 0x5d, 0xb7, 0x6f, 0x55, 0x61, 0x99, 0x63, 0x16, 0x49, 0xa7,
0xe9, 0x03, 0xe2, 0xed, 0xd8, 0xca, 0xc2, 0xc6, 0xcc, 0x33, 0x6c, 0x75, 0x0b, 0xe6, 0x4f, 0xc0,
0x14, 0xea, 0x9b, 0x50, 0x77, 0xc2, 0x3c, 0x47, 0xf2, 0x6e, 0x41, 0xf2, 0xff, 0x8f, 0x84, 0x07,
0xa4, 0x87, 0x04, 0x6f, 0x55, 0xbe, 0xcc, 0x5c, 0xa6, 0xb8, 0x03, 0x91, 0x7e, 0x47, 0x24, 0x58,
0xf1, 0xbe, 0x35, 0xfa, 0x0c, 0x27, 0xb6, 0x38, 0x13, 0x32, 0x9e, 0x49, 0x59, 0x95, 0xb9, 0x7d,
0x05, 0x8e, 0x6a, 0xcc, 0x87, 0x12, 0x74, 0xbc, 0x15, 0xbc, 0x33, 0x4a, 0xd4, 0xa2, 0xd1, 0x8e,
0x6f, 0x5c, 0x0f, 0x25, 0xfa, 0x94, 0xe0, 0x85, 0xa8, 0xaa, 0x2e, 0xf1, 0x27, 0xde, 0x74, 0xfc,
0xfc, 0xe2, 0xf2, 0xef, 0xa3, 0x83, 0x32, 0xc3, 0x39, 0x98, 0xe9, 0x0f, 0x44, 0x7c, 0xd0, 0xf4,
0x1e, 0x41, 0x07, 0x4b, 0x80, 0x19, 0x3a, 0x80, 0xea, 0xed, 0x58, 0xcc, 0x50, 0x0f, 0x6a, 0x6f,
0x47, 0x60, 0x86, 0xf6, 0xa0, 0x6e, 0xec, 0xd2, 0x98, 0xa1, 0x1b, 0xfa, 0x8c, 0x84, 0x5f, 0x8d,
0x50, 0xa5, 0xe8, 0x12, 0x6c, 0x07, 0xdd, 0x1f, 0x06, 0xbd, 0x33, 0x42, 0xf5, 0xec, 0xe4, 0xc3,
0x87, 0xa5, 0xbb, 0x14, 0x2a, 0x21, 0x72, 0x1b, 0x6d, 0x38, 0x44, 0x9e, 0x5e, 0x13, 0x6c, 0xbf,
0x81, 0x23, 0x2e, 0xda, 0xba, 0xe6, 0x4d, 0xe1, 0x52, 0x09, 0xf3, 0xa3, 0x84, 0xa8, 0xb2, 0xb9,
0x4b, 0x64, 0x54, 0xcc, 0x41, 0xb3, 0x8d, 0xdb, 0x7f, 0xa4, 0x36, 0x70, 0x99, 0x57, 0xaa, 0x35,
0x72, 0xde, 0x1f, 0x37, 0x8f, 0x59, 0xf4, 0xc9, 0xe9, 0xf4, 0x9a, 0xc4, 0xb3, 0x4a, 0x28, 0xcd,
0x4c, 0x25, 0xfe, 0xc9, 0x9c, 0x12, 0xff, 0xf5, 0xf6, 0x6a, 0x7d, 0x7a, 0x02, 0x9f, 0xb7, 0x57,
0xeb, 0xe1, 0x70, 0xde, 0xd9, 0xe1, 0xe0, 0x87, 0x7b, 0xc3, 0x25, 0x5f, 0x66, 0x36, 0x05, 0x8f,
0x05, 0x5f, 0xac, 0xfa, 0x10, 0xd8, 0xbf, 0xf9, 0xc5, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb2,
0xa3, 0xd2, 0x74, 0xdf, 0x03, 0x00, 0x00,
}

View File

@ -51,6 +51,7 @@ message Query {
string Command = 1; // Command is the query itself
string DB = 2; // DB the database for the query (optional)
string RP = 3; // RP is a retention policy and optional;
repeated string GroupBys= 4; // GroupBys define the groups to combine in the query
}
message AlertRule {

View File

@ -12,7 +12,8 @@
"queries": [{
"query": "SELECT \"usage_user\" FROM \"telegraf\"..\"cpu\"",
"db": "telegraf",
"rp": "autogen"
"rp": "autogen",
"groupbys": []
}]
}]
}

View File

@ -12,7 +12,8 @@
"queries": [{
"query": "SELECT \"load1\" FROM \"telegraf\"..\"system\"",
"db": "telegraf",
"rp": "autogen"
"rp": "autogen",
"groupbys": []
}]
}]
}

View File

@ -12,7 +12,8 @@
"queries": [{
"query": "SELECT \"used_percent\" FROM \"telegraf\"..\"mem\"",
"db": "telegraf",
"rp": "autogen"
"rp": "autogen",
"groupbys": []
}]
}]
}

View File

@ -8,7 +8,7 @@ show_help() {
cat << EOF
Usage: ${0##*/} MEASUREMENT
Generate new layout for MEASUREMENT. File created will be named
MEASUREMENT_UUID.json with UUID being generated from the uuidgen command.
MEASUREMENT.json with UUID being generated from the uuidgen command.
-h display this help and exit
EOF
@ -54,7 +54,8 @@ cat > $APP_FILE << EOF
"queries": [{
"query": "select used_percent from disk",
"db": "telegraf",
"rp": "autogen"
"rp": "autogen",
"groupbys": []
}]
}]
}

View File

@ -54,9 +54,10 @@ type TimeSeries interface {
// Query retrieves a Response from a TimeSeries.
type Query struct {
Command string `json:"query"` // Command is the query itself
DB string `json:"db"` // DB is optional and if empty will not be used.
RP string `json:"rp"` // RP is a retention policy and optional; if empty will not be used.
Command string `json:"query"` // Command is the query itself
DB string `json:"db"` // DB is optional and if empty will not be used.
RP string `json:"rp"` // RP is a retention policy and optional; if empty will not be used.
GroupBys []string `json:"groupbys"` // GroupBys collate the query by these tags
}
// Response is the result of a query against a TimeSeries