def StartPrivateSession(self): controller = self._controller props = TraceProperties() props.SetLogFileName(self._temp_file) p = props.get() p.contents.Wnode.ClientContext = 1 # QPC timer accuracy. p.contents.LogFileMode = evn.EVENT_TRACE_FILE_MODE_SEQUENTIAL # On Vista and later, we create a private in-process log session, because # otherwise we'd need administrator privileges. Unfortunately we can't # do the same on XP and better, because the semantics of a private # logger session are different, and the IN_PROC flag is not supported. if not self._is_xp: # In-proc, process private log for non-admin use on Vista. p.contents.LogFileMode |= (evn.EVENT_TRACE_PRIVATE_IN_PROC | evn.EVENT_TRACE_PRIVATE_LOGGER_MODE) p.contents.MaximumFileSize = 100 # 100M file size. p.contents.FlushTimer = 1 # 1 second flush lag. controller.Start(self._TEST_SESSION_NAME, props)
def setUp(self): properties = TraceProperties() try: # Shut down any session dangling from a previous run. evn.ControlTrace(evn.TRACEHANDLE(), self._TEST_SESSION_NAME, properties.get(), evn.EVENT_TRACE_CONTROL_STOP) except exceptions.WindowsError: pass (fd, name) = self._tempfile = tempfile.mkstemp('.etl', 'TraceProviderTest') os.close(fd) self._tempfile = name # Start a trace session controller = TraceController() prop = TraceProperties() prop.SetLogFileName(self._tempfile) controller.Start(self._TEST_SESSION_NAME, prop) self._controller = controller controller.EnableProvider(self._TEST_PROVIDER, evn.TRACE_LEVEL_INFORMATION, 0xFFFFFFFF)
def setUp(self): self._props = TraceProperties()