import clr,time,thread
clr.AddReference("System.Management")
from System.Collections.Generic import *
from System.Management import ManagementObject


def getLoad(secs):
    while not killPy:
       mo = ManagementObject("Win32_PerfFormattedData_PerfOS_Processor.Name='_total'")
       load = mo["PercentProcessorTime"]
       #print load
       
       #load% over 10% triggers VC event. Change this val as desired. Passes load% val as event payload {1}.
       if load > 10: 
          vc.triggerEvent("CPU.load", List[str]([str(load)]))
       
       #pause between loops:currently 60 secs
       time.sleep(secs)
       
thread.start_new_thread(getLoad, (60,))
