ITraceDataCollector interface (pla.h)

Collects trace events from registered providers.

This interface defines the trace session. The session starts when the data collector set runs. The collection of trace data providers defines the providers that you want to enable to the session when the session runs.

To create this data collector, call the IDataCollectorCollection::CreateDataCollector or IDataCollectorCollection::CreateDataCollectorFromXml method. For details on the XML that you pass to CreateDataCollectorFromXml, see Remarks.

Inheritance

The ITraceDataCollector interface inherits from the IDataCollector interface.

Methods

The ITraceDataCollector interface has these methods.

 
ITraceDataCollector::get_BufferSize

Retrieves or sets the suggested buffer size for each buffer in the event tracing session. (Get)
ITraceDataCollector::get_BuffersLost

Retrieves the number of buffers that were not written to the log file.
ITraceDataCollector::get_BuffersWritten

Retrieves the number of buffers written to the log file.
ITraceDataCollector::get_ClockType

Retrieves or sets the clock resolution to use when logging the time stamp for each event. (Get)
ITraceDataCollector::get_EventsLost

Retrieves the number of events that were not written to the buffer.
ITraceDataCollector::get_ExtendedModes

Retrieves or sets the extended log file modes. (Get)
ITraceDataCollector::get_FlushTimer

Retrieves or sets the time to wait before flushing buffers. (Get)
ITraceDataCollector::get_FreeBuffers

Retrieves the number of buffers that are allocated but unused in the event tracing session's buffer pool.
ITraceDataCollector::get_Guid

Retrieves or sets the session GUID. (Get)
ITraceDataCollector::get_IsKernelTrace

Retrieves a value that indicates whether the trace contains kernel providers.
ITraceDataCollector::get_MaximumBuffers

Retrieves or sets the maximum number of buffers allocated for the event tracing session's buffer pool. (Get)
ITraceDataCollector::get_MinimumBuffers

Retrieves or sets the minimum number of buffers allocated for the event tracing session's buffer pool. (Get)
ITraceDataCollector::get_NumberOfBuffers

Retrieves or sets the suggested number of buffers to use for logging. (Get)
ITraceDataCollector::get_PreallocateFile

Retrieves or sets a value that indicates whether PLA should allocate the entire log file size before logging. (Get)
ITraceDataCollector::get_ProcessMode

Retrieves or sets a value that indicates whether the session is a private, in-process session. (Get)
ITraceDataCollector::get_RealTimeBuffersLost

Retrieves the number of buffers that were not delivered in real time to the consumer.
ITraceDataCollector::get_SessionId

Retrieves the session identifier.
ITraceDataCollector::get_SessionName

Retrieves or sets the name of the session. (Get)
ITraceDataCollector::get_SessionThreadId

Retrieves the current thread of the log session, if the thread is running.
ITraceDataCollector::get_StreamMode

Retrieves or sets the logging mode of the trace session. (Get)
ITraceDataCollector::get_TraceDataProviders

Retrieves the list of providers enabled for this trace session.
ITraceDataCollector::put_BufferSize

Retrieves or sets the suggested buffer size for each buffer in the event tracing session. (Put)
ITraceDataCollector::put_ClockType

Retrieves or sets the clock resolution to use when logging the time stamp for each event. (Put)
ITraceDataCollector::put_ExtendedModes

Retrieves or sets the extended log file modes. (Put)
ITraceDataCollector::put_FlushTimer

Retrieves or sets the time to wait before flushing buffers. (Put)
ITraceDataCollector::put_Guid

Retrieves or sets the session GUID. (Put)
ITraceDataCollector::put_MaximumBuffers

Retrieves or sets the maximum number of buffers allocated for the event tracing session's buffer pool. (Put)
ITraceDataCollector::put_MinimumBuffers

Retrieves or sets the minimum number of buffers allocated for the event tracing session's buffer pool. (Put)
ITraceDataCollector::put_NumberOfBuffers

Retrieves or sets the suggested number of buffers to use for logging. (Put)
ITraceDataCollector::put_PreallocateFile

Retrieves or sets a value that indicates whether PLA should allocate the entire log file size before logging. (Put)
ITraceDataCollector::put_ProcessMode

Retrieves or sets a value that indicates whether the session is a private, in-process session. (Put)
ITraceDataCollector::put_SessionName

Retrieves or sets the name of the session. (Put)
ITraceDataCollector::put_StreamMode

Retrieves or sets the logging mode of the trace session. (Put)

Remarks

The following example shows the XML that you can use to initialize this object if you call the IDataCollectorCollection::CreateDataCollectorFromXml method to create it. The IDataCollector::Xml property also returns this XML.

<TraceDataCollector>
    <BufferSize/>
    <BuffersLost/>  <!-- Output only -->
    <BuffersWritten/>  <!-- Output only -->
    <ClockType/>
    <EventsLost/>  <!-- Output only -->
    <ExtendedMode/>
    <FlushTimer/>
    <FreeBuffers/>  <!-- Output only -->
    <Guid/>
    <IsKernelTrace/>
    <MaximumBuffers/>
    <MinimumBuffers/>
    <NumberOfBuffers/>
    <PreallocateFile/>
    <ProcessMode/>
    <RealTimeBuffersLost/>  <!-- Output only -->
    <SessionId/>  <!-- Output only -->
    <SessionName/>
    <SessionThreadId/>  <!-- Output only -->
    <StreamMode/>
    <TraceDataProvider>  <!-- Specify for each provider -->
        <DisplayName/>
        <FilterData/>
        <FilterType/>
        <Guid/>
        <KeywordsAll>
            <Description/>
            <ValueMapType/>
            <Value/>
        </KeywordsAll>
        <KeywordsAny>
            <Description/>
            <ValueMapType/>
            <Value/>
        <KeywordsAny/>
        <Level>
            <Description/>
            <ValueMapType/>
            <Value/>
        <Level/>
        <Properties/>
    </TraceDataProvider>
</TraceDataCollector>

Note that the example does not show the property elements inherited from IDataCollector that you also need to specify.

When you specify the XML to create the collector, you can specify only the elements for the properties that you want to set. If you do not specify a property, PLA provides a default value. When you retrieve the XML for the collector, the XML provides all elements, including those from IDataCollector.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header pla.h

See also

IDataCollector