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
ec4b165b
Unverified
Commit
ec4b165b
authored
Sep 26, 2018
by
Torkel Ödegaard
Committed by
GitHub
Sep 26, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #13392 from mjtrangoni/fix-goconst-issues
Fix goconst issues
parents
5a2b1b1a
0870464e
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
80 additions
and
40 deletions
+80
-40
build.go
+11
-6
pkg/api/dashboard.go
+7
-3
pkg/api/folder.go
+1
-1
pkg/api/index.go
+11
-5
pkg/components/null/float.go
+8
-4
pkg/services/alerting/notifiers/base.go
+4
-0
pkg/services/alerting/notifiers/kafka.go
+1
-1
pkg/services/alerting/notifiers/opsgenie.go
+1
-1
pkg/services/alerting/notifiers/pagerduty.go
+1
-1
pkg/social/social.go
+9
-5
pkg/tsdb/elasticsearch/response_parser.go
+21
-8
pkg/tsdb/elasticsearch/time_series_query.go
+5
-5
No files found.
build.go
View file @
ec4b165b
...
...
@@ -22,6 +22,11 @@ import (
"time"
)
const
(
windows
=
"windows"
linux
=
"linux"
)
var
(
//versionRe = regexp.MustCompile(`-[0-9]{1,3}-g[0-9a-f]{5,10}`)
goarch
string
...
...
@@ -110,13 +115,13 @@ func main() {
case
"package"
:
grunt
(
gruntBuildArg
(
"build"
)
...
)
grunt
(
gruntBuildArg
(
"package"
)
...
)
if
goos
==
"linux"
{
if
goos
==
linux
{
createLinuxPackages
()
}
case
"package-only"
:
grunt
(
gruntBuildArg
(
"package"
)
...
)
if
goos
==
"linux"
{
if
goos
==
linux
{
createLinuxPackages
()
}
...
...
@@ -378,7 +383,7 @@ func ensureGoPath() {
}
func
grunt
(
params
...
string
)
{
if
runtime
.
GOOS
==
"windows"
{
if
runtime
.
GOOS
==
windows
{
runPrint
(
`.\node_modules\.bin\grunt`
,
params
...
)
}
else
{
runPrint
(
"./node_modules/.bin/grunt"
,
params
...
)
...
...
@@ -420,7 +425,7 @@ func build(binaryName, pkg string, tags []string) {
binary
=
fmt
.
Sprintf
(
"./bin/%s"
,
binaryName
)
}
if
goos
==
"windows"
{
if
goos
==
windows
{
binary
+=
".exe"
}
...
...
@@ -484,11 +489,11 @@ func clean() {
func
setBuildEnv
()
{
os
.
Setenv
(
"GOOS"
,
goos
)
if
goos
==
"windows"
{
if
goos
==
windows
{
// require windows >=7
os
.
Setenv
(
"CGO_CFLAGS"
,
"-D_WIN32_WINNT=0x0601"
)
}
if
goarch
!=
"amd64"
||
goos
!=
"linux"
{
if
goarch
!=
"amd64"
||
goos
!=
linux
{
// needed for all other archs
cgo
=
true
}
...
...
pkg/api/dashboard.go
View file @
ec4b165b
...
...
@@ -22,6 +22,10 @@ import (
"github.com/grafana/grafana/pkg/util"
)
const
(
anonString
=
"Anonymous"
)
func
isDashboardStarredByUser
(
c
*
m
.
ReqContext
,
dashID
int64
)
(
bool
,
error
)
{
if
!
c
.
IsSignedIn
{
return
false
,
nil
...
...
@@ -64,7 +68,7 @@ func GetDashboard(c *m.ReqContext) Response {
}
// Finding creator and last updater of the dashboard
updater
,
creator
:=
"Anonymous"
,
"Anonymous"
updater
,
creator
:=
anonString
,
anonString
if
dash
.
UpdatedBy
>
0
{
updater
=
getUserLogin
(
dash
.
UpdatedBy
)
}
...
...
@@ -128,7 +132,7 @@ func getUserLogin(userID int64) string {
query
:=
m
.
GetUserByIdQuery
{
Id
:
userID
}
err
:=
bus
.
Dispatch
(
&
query
)
if
err
!=
nil
{
return
"Anonymous"
return
anonString
}
return
query
.
Result
.
Login
}
...
...
@@ -403,7 +407,7 @@ func GetDashboardVersion(c *m.ReqContext) Response {
return
Error
(
500
,
fmt
.
Sprintf
(
"Dashboard version %d not found for dashboardId %d"
,
query
.
Version
,
dashID
),
err
)
}
creator
:=
"Anonymous"
creator
:=
anonString
if
query
.
Result
.
CreatedBy
>
0
{
creator
=
getUserLogin
(
query
.
Result
.
CreatedBy
)
}
...
...
pkg/api/folder.go
View file @
ec4b165b
...
...
@@ -95,7 +95,7 @@ func toFolderDto(g guardian.DashboardGuardian, folder *m.Folder) dtos.Folder {
canAdmin
,
_
:=
g
.
CanAdmin
()
// Finding creator and last updater of the folder
updater
,
creator
:=
"Anonymous"
,
"Anonymous"
updater
,
creator
:=
anonString
,
anonString
if
folder
.
CreatedBy
>
0
{
creator
=
getUserLogin
(
folder
.
CreatedBy
)
}
...
...
pkg/api/index.go
View file @
ec4b165b
...
...
@@ -11,6 +11,12 @@ import (
"github.com/grafana/grafana/pkg/setting"
)
const
(
// Themes
lightName
=
"light"
darkName
=
"dark"
)
func
setIndexViewData
(
c
*
m
.
ReqContext
)
(
*
dtos
.
IndexViewData
,
error
)
{
settings
,
err
:=
getFrontendSettingsMap
(
c
)
if
err
!=
nil
{
...
...
@@ -60,7 +66,7 @@ func setIndexViewData(c *m.ReqContext) (*dtos.IndexViewData, error) {
OrgRole
:
c
.
OrgRole
,
GravatarUrl
:
dtos
.
GetGravatarUrl
(
c
.
Email
),
IsGrafanaAdmin
:
c
.
IsGrafanaAdmin
,
LightTheme
:
prefs
.
Theme
==
"light"
,
LightTheme
:
prefs
.
Theme
==
lightName
,
Timezone
:
prefs
.
Timezone
,
Locale
:
locale
,
HelpFlags1
:
c
.
HelpFlags1
,
...
...
@@ -88,12 +94,12 @@ func setIndexViewData(c *m.ReqContext) (*dtos.IndexViewData, error) {
}
themeURLParam
:=
c
.
Query
(
"theme"
)
if
themeURLParam
==
"light"
{
if
themeURLParam
==
lightName
{
data
.
User
.
LightTheme
=
true
data
.
Theme
=
"light"
}
else
if
themeURLParam
==
"dark"
{
data
.
Theme
=
lightName
}
else
if
themeURLParam
==
darkName
{
data
.
User
.
LightTheme
=
false
data
.
Theme
=
"dark"
data
.
Theme
=
darkName
}
if
hasEditPermissionInFoldersQuery
.
Result
{
...
...
pkg/components/null/float.go
View file @
ec4b165b
...
...
@@ -8,6 +8,10 @@ import (
"strconv"
)
const
(
nullString
=
"null"
)
// Float is a nullable float64.
// It does not consider zero values to be null.
// It will decode to null, not zero, if null.
...
...
@@ -68,7 +72,7 @@ func (f *Float) UnmarshalJSON(data []byte) error {
// It will return an error if the input is not an integer, blank, or "null".
func
(
f
*
Float
)
UnmarshalText
(
text
[]
byte
)
error
{
str
:=
string
(
text
)
if
str
==
""
||
str
==
"null"
{
if
str
==
""
||
str
==
nullString
{
f
.
Valid
=
false
return
nil
}
...
...
@@ -82,7 +86,7 @@ func (f *Float) UnmarshalText(text []byte) error {
// It will encode null if this Float is null.
func
(
f
Float
)
MarshalJSON
()
([]
byte
,
error
)
{
if
!
f
.
Valid
{
return
[]
byte
(
"null"
),
nil
return
[]
byte
(
nullString
),
nil
}
return
[]
byte
(
strconv
.
FormatFloat
(
f
.
Float64
,
'f'
,
-
1
,
64
)),
nil
}
...
...
@@ -100,7 +104,7 @@ func (f Float) MarshalText() ([]byte, error) {
// It will encode a blank string if this Float is null.
func
(
f
Float
)
String
()
string
{
if
!
f
.
Valid
{
return
"null"
return
nullString
}
return
fmt
.
Sprintf
(
"%1.3f"
,
f
.
Float64
)
...
...
@@ -109,7 +113,7 @@ func (f Float) String() string {
// FullString returns float as string in full precision
func
(
f
Float
)
FullString
()
string
{
if
!
f
.
Valid
{
return
"null"
return
nullString
}
return
fmt
.
Sprintf
(
"%f"
,
f
.
Float64
)
...
...
pkg/services/alerting/notifiers/base.go
View file @
ec4b165b
...
...
@@ -11,6 +11,10 @@ import (
"github.com/grafana/grafana/pkg/services/alerting"
)
const
(
triggMetrString
=
"Triggered metrics:
\n\n
"
)
type
NotifierBase
struct
{
Name
string
Type
string
...
...
pkg/services/alerting/notifiers/kafka.go
View file @
ec4b165b
...
...
@@ -61,7 +61,7 @@ func (this *KafkaNotifier) Notify(evalContext *alerting.EvalContext) error {
state
:=
evalContext
.
Rule
.
State
customData
:=
"Triggered metrics:
\n\n
"
customData
:=
triggMetrString
for
_
,
evt
:=
range
evalContext
.
EvalMatches
{
customData
=
customData
+
fmt
.
Sprintf
(
"%s: %v
\n
"
,
evt
.
Metric
,
evt
.
Value
)
}
...
...
pkg/services/alerting/notifiers/opsgenie.go
View file @
ec4b165b
...
...
@@ -95,7 +95,7 @@ func (this *OpsGenieNotifier) createAlert(evalContext *alerting.EvalContext) err
return
err
}
customData
:=
"Triggered metrics:
\n\n
"
customData
:=
triggMetrString
for
_
,
evt
:=
range
evalContext
.
EvalMatches
{
customData
=
customData
+
fmt
.
Sprintf
(
"%s: %v
\n
"
,
evt
.
Metric
,
evt
.
Value
)
}
...
...
pkg/services/alerting/notifiers/pagerduty.go
View file @
ec4b165b
...
...
@@ -76,7 +76,7 @@ func (this *PagerdutyNotifier) Notify(evalContext *alerting.EvalContext) error {
if
evalContext
.
Rule
.
State
==
m
.
AlertStateOK
{
eventType
=
"resolve"
}
customData
:=
"Triggered metrics:
\n\n
"
customData
:=
triggMetrString
for
_
,
evt
:=
range
evalContext
.
EvalMatches
{
customData
=
customData
+
fmt
.
Sprintf
(
"%s: %v
\n
"
,
evt
.
Metric
,
evt
.
Value
)
}
...
...
pkg/social/social.go
View file @
ec4b165b
...
...
@@ -46,10 +46,14 @@ func (e *Error) Error() string {
return
e
.
s
}
const
(
grafanaCom
=
"grafana_com"
)
var
(
SocialBaseUrl
=
"/login/"
SocialMap
=
make
(
map
[
string
]
SocialConnector
)
allOauthes
=
[]
string
{
"github"
,
"gitlab"
,
"google"
,
"generic_oauth"
,
"grafananet"
,
"grafana_com"
}
allOauthes
=
[]
string
{
"github"
,
"gitlab"
,
"google"
,
"generic_oauth"
,
"grafananet"
,
grafanaCom
}
)
func
NewOAuthService
()
{
...
...
@@ -82,7 +86,7 @@ func NewOAuthService() {
}
if
name
==
"grafananet"
{
name
=
"grafana_com"
name
=
grafanaCom
}
setting
.
OAuthService
.
OAuthInfos
[
name
]
=
info
...
...
@@ -159,7 +163,7 @@ func NewOAuthService() {
}
}
if
name
==
"grafana_com"
{
if
name
==
grafanaCom
{
config
=
oauth2
.
Config
{
ClientID
:
info
.
ClientId
,
ClientSecret
:
info
.
ClientSecret
,
...
...
@@ -171,7 +175,7 @@ func NewOAuthService() {
Scopes
:
info
.
Scopes
,
}
SocialMap
[
"grafana_com"
]
=
&
SocialGrafanaCom
{
SocialMap
[
grafanaCom
]
=
&
SocialGrafanaCom
{
SocialBase
:
&
SocialBase
{
Config
:
&
config
,
log
:
logger
,
...
...
@@ -194,7 +198,7 @@ var GetOAuthProviders = func(cfg *setting.Cfg) map[string]bool {
for
_
,
name
:=
range
allOauthes
{
if
name
==
"grafananet"
{
name
=
"grafana_com"
name
=
grafanaCom
}
sec
:=
cfg
.
Raw
.
Section
(
"auth."
+
name
)
...
...
pkg/tsdb/elasticsearch/response_parser.go
View file @
ec4b165b
...
...
@@ -13,6 +13,19 @@ import (
"github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
)
const
(
// Metric types
countType
=
"count"
percentilesType
=
"percentiles"
extendedStatsType
=
"extended_stats"
// Bucket types
dateHistType
=
"date_histogram"
histogramType
=
"histogram"
filtersType
=
"filters"
termsType
=
"terms"
geohashGridType
=
"geohash_grid"
)
type
responseParser
struct
{
Responses
[]
*
es
.
SearchResponse
Targets
[]
*
Query
...
...
@@ -81,7 +94,7 @@ func (rp *responseParser) processBuckets(aggs map[string]interface{}, target *Qu
}
if
depth
==
maxDepth
{
if
aggDef
.
Type
==
"date_histogram"
{
if
aggDef
.
Type
==
dateHistType
{
err
=
rp
.
processMetrics
(
esAgg
,
target
,
series
,
props
)
}
else
{
err
=
rp
.
processAggregationDocs
(
esAgg
,
aggDef
,
target
,
table
,
props
)
...
...
@@ -149,7 +162,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query,
}
switch
metric
.
Type
{
case
"count"
:
case
countType
:
newSeries
:=
tsdb
.
TimeSeries
{
Tags
:
make
(
map
[
string
]
string
),
}
...
...
@@ -164,10 +177,10 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query,
for
k
,
v
:=
range
props
{
newSeries
.
Tags
[
k
]
=
v
}
newSeries
.
Tags
[
"metric"
]
=
"count"
newSeries
.
Tags
[
"metric"
]
=
countType
*
series
=
append
(
*
series
,
&
newSeries
)
case
"percentiles"
:
case
percentilesType
:
buckets
:=
esAgg
.
Get
(
"buckets"
)
.
MustArray
()
if
len
(
buckets
)
==
0
{
break
...
...
@@ -198,7 +211,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query,
}
*
series
=
append
(
*
series
,
&
newSeries
)
}
case
"extended_stats"
:
case
extendedStatsType
:
buckets
:=
esAgg
.
Get
(
"buckets"
)
.
MustArray
()
metaKeys
:=
make
([]
string
,
0
)
...
...
@@ -312,9 +325,9 @@ func (rp *responseParser) processAggregationDocs(esAgg *simplejson.Json, aggDef
for
_
,
metric
:=
range
target
.
Metrics
{
switch
metric
.
Type
{
case
"count"
:
case
countType
:
addMetricValue
(
&
values
,
rp
.
getMetricName
(
metric
.
Type
),
castToNullFloat
(
bucket
.
Get
(
"doc_count"
)))
case
"extended_stats"
:
case
extendedStatsType
:
metaKeys
:=
make
([]
string
,
0
)
meta
:=
metric
.
Meta
.
MustMap
()
for
k
:=
range
meta
{
...
...
@@ -366,7 +379,7 @@ func (rp *responseParser) processAggregationDocs(esAgg *simplejson.Json, aggDef
func
(
rp
*
responseParser
)
trimDatapoints
(
series
*
tsdb
.
TimeSeriesSlice
,
target
*
Query
)
{
var
histogram
*
BucketAgg
for
_
,
bucketAgg
:=
range
target
.
BucketAggs
{
if
bucketAgg
.
Type
==
"date_histogram"
{
if
bucketAgg
.
Type
==
dateHistType
{
histogram
=
bucketAgg
break
}
...
...
pkg/tsdb/elasticsearch/time_series_query.go
View file @
ec4b165b
...
...
@@ -75,15 +75,15 @@ func (e *timeSeriesQuery) execute() (*tsdb.Response, error) {
// iterate backwards to create aggregations bottom-down
for
_
,
bucketAgg
:=
range
q
.
BucketAggs
{
switch
bucketAgg
.
Type
{
case
"date_histogram"
:
case
dateHistType
:
aggBuilder
=
addDateHistogramAgg
(
aggBuilder
,
bucketAgg
,
from
,
to
)
case
"histogram"
:
case
histogramType
:
aggBuilder
=
addHistogramAgg
(
aggBuilder
,
bucketAgg
)
case
"filters"
:
case
filtersType
:
aggBuilder
=
addFiltersAgg
(
aggBuilder
,
bucketAgg
)
case
"terms"
:
case
termsType
:
aggBuilder
=
addTermsAgg
(
aggBuilder
,
bucketAgg
,
q
.
Metrics
)
case
"geohash_grid"
:
case
geohashGridType
:
aggBuilder
=
addGeoHashGridAgg
(
aggBuilder
,
bucketAgg
)
}
}
...
...
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