Example #1
0
  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)
Example #2
0
    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)
Example #3
0
  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)
Example #4
0
    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)
Example #5
0
 def setUp(self):
     self._props = TraceProperties()