Always use alias as display name if its available.
This is useful for identifying k8 containers on /docker handler. Since k8 handles are pretty long, I arbitrarily decided to truncate the display. Let me know if you don't like it.
This commit is contained in:
parent
e3e65524b6
commit
7b6b9e6b6d
@ -18,6 +18,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
auth "github.com/abbot/go-http-auth"
|
auth "github.com/abbot/go-http-auth"
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
@ -121,14 +122,26 @@ func RegisterHandlersBasic(containerManager manager.Manager, authenticator *auth
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getContainerDisplayName(cont info.ContainerReference) string {
|
func getContainerDisplayName(cont info.ContainerReference) string {
|
||||||
// Pick the shortest name of the container as the display name.
|
// Pick a user-added alias as display name.
|
||||||
displayName := cont.Name
|
displayName := ""
|
||||||
for _, alias := range cont.Aliases {
|
for _, alias := range cont.Aliases {
|
||||||
if len(displayName) >= len(alias) {
|
// ignore container id as alias.
|
||||||
|
if strings.Contains(cont.Name, alias) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// pick shortest display name if multiple aliases are available.
|
||||||
|
if displayName == "" || len(displayName) >= len(alias) {
|
||||||
displayName = alias
|
displayName = alias
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if displayName == "" {
|
||||||
|
displayName = cont.Name
|
||||||
|
} else if len(displayName) > 50 {
|
||||||
|
// truncate display name to fit in one line.
|
||||||
|
displayName = displayName[:50] + "..."
|
||||||
|
}
|
||||||
|
|
||||||
// Add the full container name to the display name.
|
// Add the full container name to the display name.
|
||||||
if displayName != cont.Name {
|
if displayName != cont.Name {
|
||||||
displayName = fmt.Sprintf("%s (%s)", displayName, cont.Name)
|
displayName = fmt.Sprintf("%s (%s)", displayName, cont.Name)
|
||||||
|
Loading…
Reference in New Issue
Block a user