summaryrefslogtreecommitdiff
path: root/azurelinuxagent/ga/monitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'azurelinuxagent/ga/monitor.py')
-rw-r--r--azurelinuxagent/ga/monitor.py14
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)