Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A way to list/look up all column names to use in views.yaml file #2858

Open
davehouser1 opened this issue Aug 29, 2024 · 1 comment
Open

Comments

@davehouser1
Copy link




Is your feature request related to a problem? Please describe.
I do not know of a way to look up correct column string names to use in the views.yaml file.

Describe the solution you'd like
Some way to look up all the column string names that can be used in the views.yaml file. This can be a command that can be run or some file I can review.

Describe alternatives you've considered
I am able to look up current views, like "AGE", "NODE", "NAME", etc. However there are other Column headers like "%CPU/R" Is that the actual string I use?
There seem to be other columns I can use too that do not show up by default like "IP", "NAMESPACE", etc., so I could just start randomly putting strings in the views.yaml list to see if they work or not.

@sinux-l5d
Copy link

I was looking for the same informations. Here they are, for a few types :

Containers:

func (Container) Header(ns string) model1.Header {
return model1.Header{
model1.HeaderColumn{Name: "NAME"},
model1.HeaderColumn{Name: "PF"},
model1.HeaderColumn{Name: "IMAGE"},
model1.HeaderColumn{Name: "READY"},
model1.HeaderColumn{Name: "STATE"},
model1.HeaderColumn{Name: "INIT"},
model1.HeaderColumn{Name: "RESTARTS", Align: tview.AlignRight},
model1.HeaderColumn{Name: "PROBES(L:R)"},
model1.HeaderColumn{Name: "CPU", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "MEM", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "CPU/R:L", Align: tview.AlignRight},
model1.HeaderColumn{Name: "MEM/R:L", Align: tview.AlignRight},
model1.HeaderColumn{Name: "%CPU/R", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%CPU/L", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%MEM/R", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%MEM/L", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "PORTS"},
model1.HeaderColumn{Name: "VALID", Wide: true},
model1.HeaderColumn{Name: "AGE", Time: true},
}
}

Pods :

k9s/internal/render/pod.go

Lines 86 to 112 in b5710af

func (p Pod) Header(ns string) model1.Header {
return model1.Header{
model1.HeaderColumn{Name: "NAMESPACE"},
model1.HeaderColumn{Name: "NAME"},
model1.HeaderColumn{Name: "VS", VS: true},
model1.HeaderColumn{Name: "PF"},
model1.HeaderColumn{Name: "READY"},
model1.HeaderColumn{Name: "STATUS"},
model1.HeaderColumn{Name: "RESTARTS", Align: tview.AlignRight},
model1.HeaderColumn{Name: "CPU", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "MEM", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "CPU/R:L", Align: tview.AlignRight, Wide: true},
model1.HeaderColumn{Name: "MEM/R:L", Align: tview.AlignRight, Wide: true},
model1.HeaderColumn{Name: "%CPU/R", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%CPU/L", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%MEM/R", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%MEM/L", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "IP"},
model1.HeaderColumn{Name: "NODE"},
model1.HeaderColumn{Name: "NOMINATED NODE", Wide: true},
model1.HeaderColumn{Name: "READINESS GATES", Wide: true},
model1.HeaderColumn{Name: "QOS", Wide: true},
model1.HeaderColumn{Name: "LABELS", Wide: true},
model1.HeaderColumn{Name: "VALID", Wide: true},
model1.HeaderColumn{Name: "AGE", Time: true},
}
}

Nodes :
func (Node) Header(string) model1.Header {
return model1.Header{
model1.HeaderColumn{Name: "NAME"},
model1.HeaderColumn{Name: "STATUS"},
model1.HeaderColumn{Name: "ROLE"},
model1.HeaderColumn{Name: "ARCH", Wide: true},
model1.HeaderColumn{Name: "TAINTS"},
model1.HeaderColumn{Name: "VERSION"},
model1.HeaderColumn{Name: "KERNEL", Wide: true},
model1.HeaderColumn{Name: "INTERNAL-IP", Wide: true},
model1.HeaderColumn{Name: "EXTERNAL-IP", Wide: true},
model1.HeaderColumn{Name: "PODS", Align: tview.AlignRight},
model1.HeaderColumn{Name: "CPU", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "MEM", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%CPU", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "%MEM", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "CPU/A", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "MEM/A", Align: tview.AlignRight, MX: true},
model1.HeaderColumn{Name: "LABELS", Wide: true},
model1.HeaderColumn{Name: "VALID", Wide: true},
model1.HeaderColumn{Name: "AGE", Time: true},
}
}

More generally, in internal/render/<object_name>.go and in function Header.

Hope this helps :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants