mirror of
https://github.com/prymitive/karma
synced 2026-02-13 20:59:53 +00:00
Merge pull request #119 from cloudflare/reverse-ac-sort
Reverse sort on autocomplete data
This commit is contained in:
4
views.go
4
views.go
@@ -262,7 +262,7 @@ func autocomplete(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
acData := []string{}
|
||||
acData := sort.StringSlice{}
|
||||
|
||||
store.Store.Lock.RLock()
|
||||
for _, hint := range store.Store.Autocomplete {
|
||||
@@ -278,7 +278,7 @@ func autocomplete(c *gin.Context) {
|
||||
}
|
||||
store.Store.Lock.RUnlock()
|
||||
|
||||
sort.Strings(acData)
|
||||
sort.Sort(sort.Reverse(acData))
|
||||
data, err := json.Marshal(acData)
|
||||
if err != nil {
|
||||
log.Error(err.Error())
|
||||
|
||||
120
views_test.go
120
views_test.go
@@ -206,122 +206,122 @@ var acTests = []acTestCase{
|
||||
acTestCase{
|
||||
Term: "a",
|
||||
Results: []string{
|
||||
"@age<10m",
|
||||
"@age<1h",
|
||||
"@age>10m",
|
||||
"@age>1h",
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Host_Down",
|
||||
"alertname=Memory_Usage_Too_High",
|
||||
"alertname=Host_Down",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
"@age>1h",
|
||||
"@age>10m",
|
||||
"@age<1h",
|
||||
"@age<10m",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "alert",
|
||||
Results: []string{
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Host_Down",
|
||||
"alertname=Memory_Usage_Too_High",
|
||||
"alertname=Host_Down",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "alertname",
|
||||
Results: []string{
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Host_Down",
|
||||
"alertname=Memory_Usage_Too_High",
|
||||
"alertname=Host_Down",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "aLeRtNaMe",
|
||||
Results: []string{
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Host_Down",
|
||||
"alertname=Memory_Usage_Too_High",
|
||||
"alertname=Host_Down",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname=Free_Disk_Space_Too_Low",
|
||||
"alertname!=Memory_Usage_Too_High",
|
||||
"alertname!=Host_Down",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname!=Free_Disk_Space_Too_Low",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "http",
|
||||
Results: []string{
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "hTTp_",
|
||||
Results: []string{
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
"alertname=HTTP_Probe_Failed",
|
||||
"alertname!=HTTP_Probe_Failed",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "@",
|
||||
Results: []string{
|
||||
"@age<10m",
|
||||
"@age<1h",
|
||||
"@age>10m",
|
||||
"@age>1h",
|
||||
"@limit=10",
|
||||
"@limit=50",
|
||||
"@receiver!=by-cluster-service",
|
||||
"@receiver!=by-name",
|
||||
"@receiver=by-cluster-service",
|
||||
"@receiver=by-name",
|
||||
"@silence_author!=john@example.com",
|
||||
"@silence_author!~john@example.com",
|
||||
"@silence_author=john@example.com",
|
||||
"@silence_author=~john@example.com",
|
||||
"@state!=active",
|
||||
"@state!=suppressed",
|
||||
"@state=active",
|
||||
"@state=suppressed",
|
||||
"@state=active",
|
||||
"@state!=suppressed",
|
||||
"@state!=active",
|
||||
"@silence_author=~john@example.com",
|
||||
"@silence_author=john@example.com",
|
||||
"@silence_author!~john@example.com",
|
||||
"@silence_author!=john@example.com",
|
||||
"@receiver=by-name",
|
||||
"@receiver=by-cluster-service",
|
||||
"@receiver!=by-name",
|
||||
"@receiver!=by-cluster-service",
|
||||
"@limit=50",
|
||||
"@limit=10",
|
||||
"@age>1h",
|
||||
"@age>10m",
|
||||
"@age<1h",
|
||||
"@age<10m",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "nod",
|
||||
Results: []string{
|
||||
"job!=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job=node_exporter",
|
||||
"job=node_ping",
|
||||
"job=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job!=node_exporter",
|
||||
},
|
||||
},
|
||||
acTestCase{
|
||||
Term: "Nod",
|
||||
Results: []string{
|
||||
"job!=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job=node_exporter",
|
||||
"job=node_ping",
|
||||
"job=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job!=node_exporter",
|
||||
},
|
||||
},
|
||||
// duplicated to test reponse caching
|
||||
acTestCase{
|
||||
Term: "Nod",
|
||||
Results: []string{
|
||||
"job!=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job=node_exporter",
|
||||
"job=node_ping",
|
||||
"job=node_exporter",
|
||||
"job!=node_ping",
|
||||
"job!=node_exporter",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user