mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-12 21:39:05 +08:00
chore: enable sorting for hosts list (#6502)
This commit is contained in:
parent
a6968d452c
commit
ed6abe5a95
@ -317,10 +317,10 @@ func (s *Server) createPrivateServer(apiHandler *api.APIHandler) (*http.Server,
|
|||||||
|
|
||||||
r := baseapp.NewRouter()
|
r := baseapp.NewRouter()
|
||||||
|
|
||||||
r.Use(baseapp.LogCommentEnricher)
|
|
||||||
r.Use(setTimeoutMiddleware)
|
r.Use(setTimeoutMiddleware)
|
||||||
r.Use(s.analyticsMiddleware)
|
r.Use(s.analyticsMiddleware)
|
||||||
r.Use(loggingMiddlewarePrivate)
|
r.Use(loggingMiddlewarePrivate)
|
||||||
|
r.Use(baseapp.LogCommentEnricher)
|
||||||
|
|
||||||
apiHandler.RegisterPrivateRoutes(r)
|
apiHandler.RegisterPrivateRoutes(r)
|
||||||
|
|
||||||
@ -360,10 +360,10 @@ func (s *Server) createPublicServer(apiHandler *api.APIHandler) (*http.Server, e
|
|||||||
}
|
}
|
||||||
am := baseapp.NewAuthMiddleware(getUserFromRequest)
|
am := baseapp.NewAuthMiddleware(getUserFromRequest)
|
||||||
|
|
||||||
r.Use(baseapp.LogCommentEnricher)
|
|
||||||
r.Use(setTimeoutMiddleware)
|
r.Use(setTimeoutMiddleware)
|
||||||
r.Use(s.analyticsMiddleware)
|
r.Use(s.analyticsMiddleware)
|
||||||
r.Use(loggingMiddleware)
|
r.Use(loggingMiddleware)
|
||||||
|
r.Use(baseapp.LogCommentEnricher)
|
||||||
|
|
||||||
apiHandler.RegisterRoutes(r, am)
|
apiHandler.RegisterRoutes(r, am)
|
||||||
apiHandler.RegisterLogsRoutes(r, am)
|
apiHandler.RegisterLogsRoutes(r, am)
|
||||||
|
@ -55,6 +55,7 @@ export const getHostsListColumns = (): ColumnType<HostRowData>[] => [
|
|||||||
dataIndex: 'cpu',
|
dataIndex: 'cpu',
|
||||||
key: 'cpu',
|
key: 'cpu',
|
||||||
width: 100,
|
width: 100,
|
||||||
|
sorter: true,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -62,6 +63,7 @@ export const getHostsListColumns = (): ColumnType<HostRowData>[] => [
|
|||||||
dataIndex: 'memory',
|
dataIndex: 'memory',
|
||||||
key: 'memory',
|
key: 'memory',
|
||||||
width: 100,
|
width: 100,
|
||||||
|
sorter: true,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -69,6 +71,7 @@ export const getHostsListColumns = (): ColumnType<HostRowData>[] => [
|
|||||||
dataIndex: 'wait',
|
dataIndex: 'wait',
|
||||||
key: 'wait',
|
key: 'wait',
|
||||||
width: 100,
|
width: 100,
|
||||||
|
sorter: true,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -76,6 +79,7 @@ export const getHostsListColumns = (): ColumnType<HostRowData>[] => [
|
|||||||
dataIndex: 'load15',
|
dataIndex: 'load15',
|
||||||
key: 'load15',
|
key: 'load15',
|
||||||
width: 100,
|
width: 100,
|
||||||
|
sorter: true,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -439,6 +439,7 @@ func (h *HostsRepo) GetHostList(ctx context.Context, req model.HostListRequest)
|
|||||||
}
|
}
|
||||||
resp.Total = len(allHostGroups)
|
resp.Total = len(allHostGroups)
|
||||||
resp.Records = records
|
resp.Records = records
|
||||||
|
resp.SortBy(req.OrderBy)
|
||||||
|
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
@ -286,10 +286,10 @@ func (s *Server) createPublicServer(api *APIHandler) (*http.Server, error) {
|
|||||||
|
|
||||||
r := NewRouter()
|
r := NewRouter()
|
||||||
|
|
||||||
r.Use(LogCommentEnricher)
|
|
||||||
r.Use(setTimeoutMiddleware)
|
r.Use(setTimeoutMiddleware)
|
||||||
r.Use(s.analyticsMiddleware)
|
r.Use(s.analyticsMiddleware)
|
||||||
r.Use(loggingMiddleware)
|
r.Use(loggingMiddleware)
|
||||||
|
r.Use(LogCommentEnricher)
|
||||||
|
|
||||||
// add auth middleware
|
// add auth middleware
|
||||||
getUserFromRequest := func(r *http.Request) (*model.UserPayload, error) {
|
getUserFromRequest := func(r *http.Request) (*model.UserPayload, error) {
|
||||||
@ -387,10 +387,7 @@ func LogCommentEnricher(next http.Handler) http.Handler {
|
|||||||
client = "api"
|
client = "api"
|
||||||
}
|
}
|
||||||
|
|
||||||
email, err := auth.GetEmailFromJwt(r.Context())
|
email, _ := auth.GetEmailFromJwt(r.Context())
|
||||||
if err != nil {
|
|
||||||
zap.S().Errorf("error while getting email from jwt: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
kvs := map[string]string{
|
kvs := map[string]string{
|
||||||
"path": path,
|
"path": path,
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import v3 "go.signoz.io/signoz/pkg/query-service/model/v3"
|
import (
|
||||||
|
"sort"
|
||||||
|
|
||||||
|
v3 "go.signoz.io/signoz/pkg/query-service/model/v3"
|
||||||
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
ResponseType string
|
ResponseType string
|
||||||
@ -38,6 +42,34 @@ type HostListResponse struct {
|
|||||||
Total int `json:"total"`
|
Total int `json:"total"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *HostListResponse) SortBy(orderBy *v3.OrderBy) {
|
||||||
|
switch orderBy.ColumnName {
|
||||||
|
case "cpu":
|
||||||
|
sort.Slice(r.Records, func(i, j int) bool {
|
||||||
|
return r.Records[i].CPU > r.Records[j].CPU
|
||||||
|
})
|
||||||
|
case "memory":
|
||||||
|
sort.Slice(r.Records, func(i, j int) bool {
|
||||||
|
return r.Records[i].Memory > r.Records[j].Memory
|
||||||
|
})
|
||||||
|
case "load15":
|
||||||
|
sort.Slice(r.Records, func(i, j int) bool {
|
||||||
|
return r.Records[i].Load15 > r.Records[j].Load15
|
||||||
|
})
|
||||||
|
case "wait":
|
||||||
|
sort.Slice(r.Records, func(i, j int) bool {
|
||||||
|
return r.Records[i].Wait > r.Records[j].Wait
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// the default is descending
|
||||||
|
if orderBy.Order == v3.DirectionAsc {
|
||||||
|
// reverse the list
|
||||||
|
for i, j := 0, len(r.Records)-1; i < j; i, j = i+1, j-1 {
|
||||||
|
r.Records[i], r.Records[j] = r.Records[j], r.Records[i]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type ProcessListRequest struct {
|
type ProcessListRequest struct {
|
||||||
Start int64 `json:"start"` // epoch time in ms
|
Start int64 `json:"start"` // epoch time in ms
|
||||||
End int64 `json:"end"` // epoch time in ms
|
End int64 `json:"end"` // epoch time in ms
|
||||||
|
Loading…
x
Reference in New Issue
Block a user