From cc6c049522ef467168394a24d81a8de4bfcc7fb6 Mon Sep 17 00:00:00 2001 From: jasonjung Date: Sat, 12 Nov 2022 13:39:16 -0800 Subject: [PATCH] add comments for cpm --- pkg/custompluginmonitor/custom_plugin_monitor.go | 2 ++ pkg/custompluginmonitor/plugin/plugin.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkg/custompluginmonitor/custom_plugin_monitor.go b/pkg/custompluginmonitor/custom_plugin_monitor.go index deaefdbf..6d95d685 100644 --- a/pkg/custompluginmonitor/custom_plugin_monitor.go +++ b/pkg/custompluginmonitor/custom_plugin_monitor.go @@ -120,6 +120,8 @@ func (c *customPluginMonitor) Stop() { } // monitorLoop is the main loop of customPluginMonitor. +// there is one customPluginMonitor, one plugin instance for each configPath. +// each runs rules in parallel at pre-configured concurrency, and interval. func (c *customPluginMonitor) monitorLoop() { if !*c.config.PluginGlobalConfig.SkipInitialStatus { c.initializeStatus() diff --git a/pkg/custompluginmonitor/plugin/plugin.go b/pkg/custompluginmonitor/plugin/plugin.go index c08649af..fd6edd4d 100644 --- a/pkg/custompluginmonitor/plugin/plugin.go +++ b/pkg/custompluginmonitor/plugin/plugin.go @@ -93,6 +93,7 @@ func (p *Plugin) runRules() { glog.V(3).Info("Start to run custom plugins") for _, rule := range p.config.Rules { + // syncChan limits concurrent goroutines to configured PluginGlobalConfig.Concurrency value p.syncChan <- struct{}{} p.Add(1) go func(rule *cpmtypes.CustomRule) { @@ -116,6 +117,7 @@ func (p *Plugin) runRules() { Message: message, } + // pipes result into resultChan which customPluginMonitor instance generates status from p.resultChan <- result // Let the result be logged at a higher verbosity level. If there is a change in status it is logged later.