TraceLog: Missing Event - SchedulingLogContextChange
Hello - My ETL parser utility requires parsing of specific DxgKrnl Event Name - "SchedulingLogContextStateChange". I can spot them in Dxgkrnl Provider GUID's Event List in GPUView, but somehow I don't get them while parsing ETL with Trace Event Parser. Is this a known issue? Appreciate your help!
Originally posted by @smsunder in https://github.com/microsoft/perfview/discussions/1358
I'm not aware of an issue here. Can you share a simple repro and a trace that exhibits this issue?
Hello - Following is a simple straightforward event parser that dumps the Event Data to console I do get the "SchedulingLog" Event on the console, but I don't see "SchedulingLogContextStateChange" event all Attached is the corresponding ETL file - SchedulingLog.etl Nevertheless if I open the ETL file with GPU View I can see both events - SchedulingLog and SchedulingLogContextStateChange Not sure what I'm missing here
`
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using Microsoft.Diagnostics.Tracing;
using Microsoft.Diagnostics.Tracing.Parsers;
using Microsoft.Diagnostics.Tracing.Session;
namespace Dummy
{
class Program
{
static void Main(string[] args)
{
using (var source = new ETWTraceEventSource("SchedulingLog.etl"))
{
// Set up the callback
source.Dynamic.AddCallbackForProviderEvent("Microsoft-Windows-DxgKrnl", "SchedulingLog", delegate (TraceEvent data)
{
Console.WriteLine("GOT SCHEDULING EVENT {0}", data);
});
// Set up the callback
source.Dynamic.AddCallbackForProviderEvent("Microsoft-Windows-DxgKrnl", "SchedulingLogContextStateChange", delegate (TraceEvent data)
{
Console.WriteLine("GOT SCHEDULING CONTEXT STATE CHANGE LOG EVENT {0}", data);
});
source.Process(); // Invoke callbacks for events in the source
}
}
}
}`
