| 291 | } |
| 292 | |
| 293 | type manager struct { |
| 294 | containers containerMap |
| 295 | memoryCache *memory.InMemoryCache |
| 296 | fsInfo fs.FsInfo |
| 297 | sysFs sysfs.SysFs |
| 298 | machineMu sync.RWMutex // protects machineInfo |
| 299 | machineInfo info.MachineInfo |
| 300 | quitChannels []chan error |
| 301 | cadvisorContainer string |
| 302 | inHostNamespace bool |
| 303 | startupTime time.Time |
| 304 | maxHousekeepingInterval time.Duration |
| 305 | allowDynamicHousekeeping bool |
| 306 | includedMetrics container.MetricSet |
| 307 | containerWatchers []watcher.ContainerWatcher |
| 308 | eventsChannel chan watcher.ContainerEvent |
| 309 | // List of raw container cgroup path prefix whitelist. |
| 310 | rawContainerCgroupPathPrefixWhiteList []string |
| 311 | // List of container env prefix whitelist, the matched container envs would be collected into metrics as extra labels. |
| 312 | containerEnvMetadataWhiteList []string |
| 313 | |
| 314 | // Collector managers for perf_event / resctrl. Default to Noop; the full |
| 315 | // cAdvisor binary injects real implementations via plugins.go. |
| 316 | perfManager stats.Manager |
| 317 | resctrlManager stats.ResctrlManager |
| 318 | |
| 319 | // eventSink, if set by the full binary via SetEventSink, receives container |
| 320 | // lifecycle and OOM events. nil for the kubelet (no event machinery). See |
| 321 | // events.go. |
| 322 | eventSink EventSink |
| 323 | } |
| 324 | |
| 325 | // Start the container manager. |
| 326 | func (m *manager) Start() error { |
nothing calls this directly
no outgoing calls
no test coverage detected