(logger *logs.Logger)
| 271 | } |
| 272 | |
| 273 | func (controller *Controller) runtimeMetrics(logger *logs.Logger) { |
| 274 | if !controller.runOptions.RecommendedOptions.Features.EnableMetrics { |
| 275 | return |
| 276 | } |
| 277 | logger.Info("start runtime stats task") |
| 278 | runtimes := controller.runtimeDispatcher.RuntimeList() |
| 279 | var wg sync.WaitGroup |
| 280 | for _, runtime := range runtimes { |
| 281 | if runtime == nil { |
| 282 | continue |
| 283 | } |
| 284 | wg.Add(1) |
| 285 | go func(rt *rtctrl.RuntimeInfo, logger *logs.Logger) { |
| 286 | controller.processRuntimeStats(rt, logger) |
| 287 | wg.Done() |
| 288 | }(runtime, logger) |
| 289 | } |
| 290 | wg.Wait() |
| 291 | logger.Info("finish runtime stats task") |
| 292 | } |
| 293 | |
| 294 | func (controller *Controller) processRuntimeStats(rt *rtctrl.RuntimeInfo, logger *logs.Logger) { |
| 295 | input := api.FuncletClientContainerInfoInput{ |
no test coverage detected