diff options
Diffstat (limited to 'azurelinuxagent/ga/monitor.py')
-rw-r--r-- | azurelinuxagent/ga/monitor.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/azurelinuxagent/ga/monitor.py b/azurelinuxagent/ga/monitor.py index 478a7a3..7ef7f04 100644 --- a/azurelinuxagent/ga/monitor.py +++ b/azurelinuxagent/ga/monitor.py @@ -25,7 +25,7 @@ import threading import azurelinuxagent.common.conf as conf import azurelinuxagent.common.logger as logger -from azurelinuxagent.common.event import WALAEventOperation, add_event +from azurelinuxagent.common.event import add_event, WALAEventOperation from azurelinuxagent.common.exception import EventError, ProtocolError, OSUtilError from azurelinuxagent.common.future import ustr from azurelinuxagent.common.osutil import get_osutil @@ -162,7 +162,7 @@ class MonitorHandler(object): try: event = parse_event(data_str) - event.parameters.extend(self.sysinfo) + self.add_sysinfo(event) event_list.events.append(event) except (ValueError, ProtocolError) as e: logger.warn("Failed to decode event file: {0}", e) @@ -193,3 +193,13 @@ class MonitorHandler(object): except Exception as e: logger.warn("Failed to send events: {0}", e) time.sleep(60) + + def add_sysinfo(self, event): + sysinfo_names = [v.name for v in self.sysinfo] + for param in event.parameters: + if param.name in sysinfo_names: + logger.verbose("Remove existing event parameter: [{0}:{1}]", + param.name, + param.value) + event.parameters.remove(param) + event.parameters.extend(self.sysinfo) |