@@ -37,6 +37,7 @@ func NewConfigReader(config *config.Config) *ConfigReader {
3737}
3838
3939func (r * ConfigReader ) Init (pipeline core.MessagePipeInterface ) {
40+ log .Info ("ConfigReader initializing" )
4041 r .messagePipeline = pipeline
4142}
4243
@@ -45,7 +46,7 @@ func (r *ConfigReader) Info() *core.Info {
4546}
4647
4748func (r * ConfigReader ) Close () {
48- log .Info ("ConfigReader is wrapping up " )
49+ log .Info ("ConfigReader is closed " )
4950}
5051
5152func (r * ConfigReader ) Process (msg * core.Message ) {
@@ -73,8 +74,10 @@ func (r *ConfigReader) Process(msg *core.Message) {
7374 // Update the agent config on disk
7475 switch commandData := cmd .Data .(type ) {
7576 case * proto.Command_AgentConfig :
77+ log .Debugf ("Config reader: AgentConfig message recevied: %v, topic: %v" , commandData , msg .Topic ())
7678 r .updateAgentConfig (commandData .AgentConfig )
7779 case * proto.Command_AgentConnectResponse :
80+ log .Debugf ("Config reader: AgentConnectResponse message recevied: %v, topic: %v" , commandData , msg .Topic ())
7881 r .updateAgentConfig (commandData .AgentConnectResponse .AgentConfig )
7982 }
8083 }
@@ -152,7 +155,9 @@ func (r *ConfigReader) updateAgentConfig(payloadAgentConfig *proto.AgentConfig)
152155 }
153156
154157 if synchronizeFeatures {
158+ log .Info ("Agent config features changed, synchronizing features" )
155159 r .synchronizeFeatures (payloadAgentConfig )
160+ r .config .Features = payloadAgentConfig .Details .Features
156161 }
157162
158163 r .messagePipeline .Process (core .NewMessage (core .AgentConfigChanged , payloadAgentConfig ))
@@ -164,6 +169,7 @@ func (r *ConfigReader) synchronizeFeatures(agtCfg *proto.AgentConfig) {
164169 r .detailsMu .RLock ()
165170 for _ , feature := range r .config .Features {
166171 if feature != agent_config .FeatureRegistration && feature != agent_config .FeatureNginxConfigAsync {
172+ log .Debugf ("Deregistering the feature %s" , feature )
167173 r .deRegisterPlugin (feature )
168174 }
169175 }
@@ -177,16 +183,19 @@ func (r *ConfigReader) synchronizeFeatures(agtCfg *proto.AgentConfig) {
177183
178184func (r * ConfigReader ) deRegisterPlugin (data string ) {
179185 if data == agent_config .FeatureFileWatcher {
180-
181186 err := r .messagePipeline .DeRegister ([]string {agent_config .FeatureFileWatcher , agent_config .FeatureFileWatcherThrottle })
182187 if err != nil {
183- log .Warnf ("Error De-registering %v Plugin: %v" , data , err )
188+ log .Warnf ("Error deregistering %v plugin: %v" , data , err )
189+ }
190+ } else if data == agent_config .FeatureMetrics {
191+ err := r .messagePipeline .DeRegister ([]string {agent_config .FeatureMetrics , agent_config .FeatureMetricsThrottle , agent_config .FeatureMetricsSender })
192+ if err != nil {
193+ log .Warnf ("Error deregistering %v plugin: %v" , data , err )
184194 }
185-
186195 } else {
187196 err := r .messagePipeline .DeRegister ([]string {data })
188197 if err != nil {
189- log .Warnf ("Error De-registering %v Plugin : %v" , data , err )
198+ log .Warnf ("Error deregistering %v plugin : %v" , data , err )
190199 }
191200 }
192201}
0 commit comments