MCPcopy
hub / github.com/derailed/k9s / Refresh

Method Refresh

internal/model/cluster_info.go:132–168  ·  view source on GitHub ↗

Refresh fetches the latest cluster meta.

()

Source from the content-addressed store, hash-verified

130
131// Refresh fetches the latest cluster meta.
132func (c *ClusterInfo) Refresh() {
133 data := NewClusterMeta()
134 if c.factory.Client().ConnectionOK() {
135 data.Context = c.cluster.ContextName()
136 data.Cluster = c.cluster.ClusterName()
137 data.User = c.cluster.UserName()
138 data.K8sVer = c.cluster.Version()
139 ctx, cancel := context.WithTimeout(context.Background(), c.cluster.factory.Client().Config().CallTimeout())
140 defer cancel()
141 var mx client.ClusterMetrics
142 if err := c.cluster.Metrics(ctx, &mx); err == nil {
143 data.Cpu, data.Mem, data.Ephemeral = mx.PercCPU, mx.PercMEM, mx.PercEphemeral
144 }
145 }
146 data.K9sVer = c.version
147 v1 := NewSemVer(data.K9sVer)
148
149 var latestRev string
150 if !c.cfg.SkipLatestRevCheck {
151 latestRev = c.fetchK9sLatestRev()
152 }
153 v2 := NewSemVer(latestRev)
154
155 data.K9sVer, data.K9sLatest = v1.String(), v2.String()
156 if v1.IsCurrent(v2) {
157 data.K9sLatest = ""
158 }
159
160 if c.data.Deltas(data) {
161 c.fireMetaChanged(c.data, data)
162 } else {
163 c.fireNoMetaChanged(data)
164 }
165 c.mx.Lock()
166 c.data = data
167 c.mx.Unlock()
168}
169
170// AddListener adds a new model listener.
171func (c *ClusterInfo) AddListener(l ClusterInfoListener) {

Callers 1

ResetMethod · 0.95

Calls 15

fetchK9sLatestRevMethod · 0.95
StringMethod · 0.95
IsCurrentMethod · 0.95
fireMetaChangedMethod · 0.95
fireNoMetaChangedMethod · 0.95
NewClusterMetaFunction · 0.85
NewSemVerFunction · 0.85
ContextNameMethod · 0.80
ClusterNameMethod · 0.80
UserNameMethod · 0.80
CallTimeoutMethod · 0.80
DeltasMethod · 0.80

Tested by

no test coverage detected