Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
cd9a7734
Unverified
Commit
cd9a7734
authored
Aug 24, 2020
by
Ryan McKinley
Committed by
GitHub
Aug 24, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
InfluxDB: use converters from SDK (#27138)
parent
daaa3e57
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
113 deletions
+27
-113
go.mod
+1
-1
go.sum
+2
-10
pkg/tsdb/influxdb/flux/builder.go
+24
-7
pkg/tsdb/influxdb/flux/converters.go
+0
-95
No files found.
go.mod
View file @
cd9a7734
...
...
@@ -37,7 +37,7 @@ require (
github.com/google/go-cmp v0.5.0
github.com/gosimple/slug v1.4.2
github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4
github.com/grafana/grafana-plugin-sdk-go v0.7
5
.0
github.com/grafana/grafana-plugin-sdk-go v0.7
7
.0
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd
github.com/hashicorp/go-plugin v1.2.2
github.com/hashicorp/go-version v1.1.0
...
...
go.sum
View file @
cd9a7734
...
...
@@ -87,7 +87,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
github.com/deepmap/oapi-codegen v1.3.6 h1:Wj44p9A0V0PJ+AUg0BWdyGcsS1LY18U+0rCuPQgK0+o=
github.com/deepmap/oapi-codegen v1.3.6/go.mod h1:aBozjEveG+33xPiP55Iw/XbVkhtZHEGLq3nxlX0+hfU=
github.com/deepmap/oapi-codegen v1.3.11 h1:Nd3tDQfqgquLmCzyRONHzs5SJEwPPoQcFZxT8MKt1Hs=
github.com/deepmap/oapi-codegen v1.3.11/go.mod h1:suMvK7+rKlx3+tpa8ByptmvoXbAV70wERKTOGH3hLp0=
...
...
@@ -213,8 +212,8 @@ github.com/gosimple/slug v1.4.2 h1:jDmprx3q/9Lfk4FkGZtvzDQ9Cj9eAmsjzeQGp24PeiQ=
github.com/gosimple/slug v1.4.2/go.mod h1:ER78kgg1Mv0NQGlXiDe57DpCyfbNywXXZ9mIorhxAf0=
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-sdk-go v0.7
5.0 h1:b0Ugpn88VNx17Q8MA1MsWkD3ddBEbRvFxzid+Nka3F0
=
github.com/grafana/grafana-plugin-sdk-go v0.7
5
.0/go.mod h1:NvxLzGkVhnoBKwzkst6CFfpMFKwAdIUZ1q8ssuLeF60=
github.com/grafana/grafana-plugin-sdk-go v0.7
7.0 h1:iHvNGs6F+KHXozOiL6KBgwVfm7JKztoML1yV7Zy2sls
=
github.com/grafana/grafana-plugin-sdk-go v0.7
7
.0/go.mod h1:NvxLzGkVhnoBKwzkst6CFfpMFKwAdIUZ1q8ssuLeF60=
github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 h1:0IKlLyQ3Hs9nDaiK5cSHAGmcQEIC8l2Ts1u6x5Dfrqg=
github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
...
...
@@ -277,9 +276,7 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/labstack/echo/v4 v4.1.11 h1:z0BZoArY4FqdpUEl+wlHp4hnr/oSR6MTmQmv8OHSoww=
github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g=
github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0=
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=
...
...
@@ -421,10 +418,8 @@ github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/urfave/cli/v2 v2.1.1 h1:Qt8FeAtxE/vfdrLmR3rxR6JRE0RoVmbXu8+6kZtYU4k=
github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
github.com/valyala/fasttemplate v1.1.0 h1:RZqt0yGBsps8NGvLSGW804QQqCUYYLsaOjTVHy1Ocw4=
github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
github.com/xorcare/pointer v1.1.0 h1:sFwXOhRF8QZ0tyVZrtxWGIoVZNEmRzBCaFWdONPQIUM=
github.com/xorcare/pointer v1.1.0/go.mod h1:6KLhkOh6YbuvZkT4YbxIbR/wzLBjyMxOiNzZhJTor2Y=
...
...
@@ -522,7 +517,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc h1:zK/HqS5bZxDptfPJNq8v7vJfXtkU7r9TLIoSr1bXaP4=
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
...
...
@@ -578,14 +572,12 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200812155832-6a926be9bd1d h1:QQrM/CCYEzTs91GZylDCQjGHudbPTxF/1fvXdVh5lMo=
golang.org/x/sys v0.0.0-20200812155832-6a926be9bd1d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
...
...
pkg/tsdb/influxdb/flux/builder.go
View file @
cd9a7734
...
...
@@ -5,6 +5,7 @@ import (
"time"
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/grafana/grafana-plugin-sdk-go/data/converters"
"github.com/influxdata/influxdb-client-go/v2/api/query"
)
...
...
@@ -47,26 +48,42 @@ func isTag(schk string) bool {
return
(
schk
!=
"result"
&&
schk
!=
"table"
&&
schk
[
0
]
!=
'_'
)
}
var
timeToOptionalTime
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableTime
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
var
ptr
*
time
.
Time
if
v
==
nil
{
return
ptr
,
nil
}
val
,
ok
:=
v
.
(
time
.
Time
)
if
!
ok
{
return
ptr
,
fmt
.
Errorf
(
`expected %s input but got type %T for value "%v"`
,
"time.Time"
,
v
,
v
)
}
ptr
=
&
val
return
ptr
,
nil
},
}
func
getConverter
(
t
string
)
(
*
data
.
FieldConverter
,
error
)
{
switch
t
{
case
stringDatatype
:
return
&
anyToOptional
String
,
nil
return
&
converters
.
AnyToNullable
String
,
nil
case
timeDatatypeRFC
:
return
&
timeToOptionalTime
,
nil
case
timeDatatypeRFCNano
:
return
&
timeToOptionalTime
,
nil
case
durationDatatype
:
return
&
int64ToOptional
Int64
,
nil
return
&
converters
.
Int64ToNullable
Int64
,
nil
case
doubleDatatype
:
return
&
float64ToOptional
Float64
,
nil
return
&
converters
.
Float64ToNullable
Float64
,
nil
case
boolDatatype
:
return
&
boolToOptional
Bool
,
nil
return
&
converters
.
BoolToNullable
Bool
,
nil
case
longDatatype
:
return
&
int64ToOptional
Int64
,
nil
return
&
converters
.
Int64ToNullable
Int64
,
nil
case
uLongDatatype
:
return
&
uint64ToOptional
UInt64
,
nil
return
&
converters
.
Uint64ToNullable
UInt64
,
nil
case
base64BinaryDataType
:
return
&
anyToOptional
String
,
nil
return
&
converters
.
AnyToNullable
String
,
nil
}
return
nil
,
fmt
.
Errorf
(
"no matching converter found for [%v]"
,
t
)
...
...
pkg/tsdb/influxdb/flux/converters.go
deleted
100644 → 0
View file @
daaa3e57
package
flux
import
(
"fmt"
"time"
"github.com/grafana/grafana-plugin-sdk-go/data"
)
// anyToOptionalString any value as a string.
var
anyToOptionalString
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableString
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
str
:=
fmt
.
Sprintf
(
"%+v"
,
v
)
// the +v adds field names
return
&
str
,
nil
},
}
// float64ToOptionalFloat64 optional float value
var
float64ToOptionalFloat64
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableFloat64
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
val
,
ok
:=
v
.
(
float64
)
if
!
ok
{
// or return some default value instead of erroring
return
nil
,
fmt
.
Errorf
(
"[float] expected float64 input but got type %T"
,
v
)
}
return
&
val
,
nil
},
}
// int64ToOptionalInt64 optional int value
var
int64ToOptionalInt64
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableInt64
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
val
,
ok
:=
v
.
(
int64
)
if
!
ok
{
// or return some default value instead of erroring
return
nil
,
fmt
.
Errorf
(
"[int] expected int64 input but got type %T"
,
v
)
}
return
&
val
,
nil
},
}
// uint64ToOptionalUInt64 optional int value
var
uint64ToOptionalUInt64
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableUint64
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
val
,
ok
:=
v
.
(
uint64
)
if
!
ok
{
// or return some default value instead of erroring
return
nil
,
fmt
.
Errorf
(
"[uint] expected uint64 input but got type %T"
,
v
)
}
return
&
val
,
nil
},
}
// boolToOptionalBool optional int value
var
boolToOptionalBool
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableBool
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
val
,
ok
:=
v
.
(
bool
)
if
!
ok
{
// or return some default value instead of erroring
return
nil
,
fmt
.
Errorf
(
"[bool] expected bool input but got type %T"
,
v
)
}
return
&
val
,
nil
},
}
// timeToOptionalTime optional int value
var
timeToOptionalTime
=
data
.
FieldConverter
{
OutputFieldType
:
data
.
FieldTypeNullableTime
,
Converter
:
func
(
v
interface
{})
(
interface
{},
error
)
{
if
v
==
nil
{
return
nil
,
nil
}
val
,
ok
:=
v
.
(
time
.
Time
)
if
!
ok
{
// or return some default value instead of erroring
return
nil
,
fmt
.
Errorf
(
"[time] expected time input but got type %T"
,
v
)
}
return
&
val
,
nil
},
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment