Live: labels column as default frame format (#33984)

* labels columns as default frame format

* update sdk

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
Alexander Emelin 2021-05-13 12:01:20 +03:00 committed by GitHub
parent 7c153e2eb4
commit e97750b824
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 7 deletions

2
go.mod
View File

@ -48,7 +48,7 @@ require (
github.com/gorilla/websocket v1.4.2 github.com/gorilla/websocket v1.4.2
github.com/gosimple/slug v1.9.0 github.com/gosimple/slug v1.9.0
github.com/grafana/grafana-aws-sdk v0.4.0 github.com/grafana/grafana-aws-sdk v0.4.0
github.com/grafana/grafana-live-sdk v0.0.5 github.com/grafana/grafana-live-sdk v0.0.6-0.20210513051437-bf97d7ff8f21
github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4 github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4
github.com/grafana/grafana-plugin-sdk-go v0.97.0 github.com/grafana/grafana-plugin-sdk-go v0.97.0
github.com/grafana/loki v1.6.2-0.20210510132741-f408e05ad426 github.com/grafana/loki v1.6.2-0.20210510132741-f408e05ad426

4
go.sum
View File

@ -909,8 +909,8 @@ github.com/grafana/go-mssqldb v0.0.0-20210326084033-d0ce3c521036 h1:GplhUk6Xes5J
github.com/grafana/go-mssqldb v0.0.0-20210326084033-d0ce3c521036/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/grafana/go-mssqldb v0.0.0-20210326084033-d0ce3c521036/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/grafana/grafana-aws-sdk v0.4.0 h1:JmTaXfOJ/ydHSWH9kEt8Yhfb9kAhIW4LUOO3SWCviYg= github.com/grafana/grafana-aws-sdk v0.4.0 h1:JmTaXfOJ/ydHSWH9kEt8Yhfb9kAhIW4LUOO3SWCviYg=
github.com/grafana/grafana-aws-sdk v0.4.0/go.mod h1:+pPo5U+pX0zWimR7YBc7ASeSQfbRkcTyQYqMiAj7G5U= github.com/grafana/grafana-aws-sdk v0.4.0/go.mod h1:+pPo5U+pX0zWimR7YBc7ASeSQfbRkcTyQYqMiAj7G5U=
github.com/grafana/grafana-live-sdk v0.0.5 h1:Y7qdOLbl+N4pXsfAR5+e4YWcOk/WFB7WpuT3Liv6/as= github.com/grafana/grafana-live-sdk v0.0.6-0.20210513051437-bf97d7ff8f21 h1:TZra/rWUGdTSb/nehsxExANpvWAgRTxzRjuVNTSp+Q4=
github.com/grafana/grafana-live-sdk v0.0.5/go.mod h1:f15hHmWyLdFjmuWLsjeKeZnq/HnNQ3QkoPcaEww45AY= github.com/grafana/grafana-live-sdk v0.0.6-0.20210513051437-bf97d7ff8f21/go.mod h1:f15hHmWyLdFjmuWLsjeKeZnq/HnNQ3QkoPcaEww45AY=
github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4 h1:SPdxCL9BChFTlyi0Khv64vdCW4TMna8+sxL7+Chx+Ag= github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4 h1:SPdxCL9BChFTlyi0Khv64vdCW4TMna8+sxL7+Chx+Ag=
github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4/go.mod h1:nc0XxBzjeGcrMltCDw269LoWF9S8ibhgxolCdA1R8To= github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4/go.mod h1:nc0XxBzjeGcrMltCDw269LoWF9S8ibhgxolCdA1R8To=
github.com/grafana/grafana-plugin-sdk-go v0.79.0/go.mod h1:NvxLzGkVhnoBKwzkst6CFfpMFKwAdIUZ1q8ssuLeF60= github.com/grafana/grafana-plugin-sdk-go v0.79.0/go.mod h1:NvxLzGkVhnoBKwzkst6CFfpMFKwAdIUZ1q8ssuLeF60=

View File

@ -5,17 +5,21 @@ import (
"strings" "strings"
) )
const (
unstableSchemaParam = "gf_live_unstable_schema"
frameFormatParam = "gf_live_frame_format"
)
// UnstableSchemaFromValues extracts unstable schema tip from url values. // UnstableSchemaFromValues extracts unstable schema tip from url values.
func UnstableSchemaFromValues(values url.Values) bool { func UnstableSchemaFromValues(values url.Values) bool {
key := "gf_live_unstable_schema" return strings.ToLower(values.Get(unstableSchemaParam)) == "true" || values.Get(unstableSchemaParam) == "1"
return strings.ToLower(values.Get(key)) == "true" || values.Get(key) == "1"
} }
// FrameFormatFromValues extracts frame format tip from url values. // FrameFormatFromValues extracts frame format tip from url values.
func FrameFormatFromValues(values url.Values) string { func FrameFormatFromValues(values url.Values) string {
frameFormat := strings.ToLower(values.Get("gf_live_frame_format")) frameFormat := strings.ToLower(values.Get(frameFormatParam))
if frameFormat == "" { if frameFormat == "" {
frameFormat = "wide" frameFormat = "labels_column"
} }
return frameFormat return frameFormat
} }

View File

@ -0,0 +1,26 @@
package pushurl
import (
"net/url"
"testing"
"github.com/stretchr/testify/require"
)
func TestUnstableSchemaFromValues(t *testing.T) {
values := url.Values{}
require.False(t, UnstableSchemaFromValues(values))
values.Set(unstableSchemaParam, "yes")
require.False(t, UnstableSchemaFromValues(values))
values.Set(unstableSchemaParam, "true")
require.True(t, UnstableSchemaFromValues(values))
values.Set(unstableSchemaParam, "True")
require.True(t, UnstableSchemaFromValues(values))
}
func TestFrameFormatFromValues(t *testing.T) {
values := url.Values{}
require.Equal(t, "labels_column", FrameFormatFromValues(values))
values.Set(frameFormatParam, "wide")
require.Equal(t, "wide", FrameFormatFromValues(values))
}