mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-26 16:52:25 +00:00
31 lines
809 B
Go
31 lines
809 B
Go
package detailed
|
|
|
|
import (
|
|
"sort"
|
|
|
|
"github.com/weaveworks/scope/probe/docker"
|
|
"github.com/weaveworks/scope/report"
|
|
)
|
|
|
|
// NodeDockerLabels produces a table (to be consumed directly by the UI) based
|
|
// on an origin ID, which is (optimistically) a node ID in one of our
|
|
// topologies.
|
|
func NodeDockerLabels(nmd report.Node) []MetadataRow {
|
|
if nmd.Topology != report.Container && nmd.Topology != report.ContainerImage {
|
|
return nil
|
|
}
|
|
|
|
var rows []MetadataRow
|
|
// Add labels in alphabetical order
|
|
labels := docker.ExtractLabels(nmd)
|
|
labelKeys := make([]string, 0, len(labels))
|
|
for k := range labels {
|
|
labelKeys = append(labelKeys, k)
|
|
}
|
|
sort.Strings(labelKeys)
|
|
for _, labelKey := range labelKeys {
|
|
rows = append(rows, MetadataRow{ID: "label_" + labelKey, Value: labels[labelKey]})
|
|
}
|
|
return rows
|
|
}
|