private void Clr_MethodJittingStarted(MethodJittingStartedTraceData obj) { IncompleteActionDesc incompleteDesc = new IncompleteActionDesc(); incompleteDesc.Start = new EventUID(obj); incompleteDesc.Name = JITStats.GetMethodName(obj); incompleteDesc.OperationType = "JIT"; IdOfIncompleteAction id = new IdOfIncompleteAction(); id.Identifier = obj.MethodID; id.ThreadID = obj.ThreadID; _incompleteJitEvents[id] = incompleteDesc; }
private void Clr_MethodR2RGetEntryPoint(R2RGetEntryPointTraceData obj) { IdOfIncompleteAction id = new IdOfIncompleteAction(); id.Identifier = obj.MethodID; id.ThreadID = obj.ThreadID; // If we had a R2R start lookup event, capture that start time, otherwise, use the R2REntrypoint // data as both start and stop EventUID startUID = new EventUID(obj); if (_incompleteR2REvents.TryGetValue(id, out IncompleteActionDesc r2rStartData)) { startUID = r2rStartData.Start; _incompleteR2REvents.Remove(id); } if (obj.EntryPoint == 0) { // If Entrypoint is null then the search failed. AddStartStopData(obj.ProcessID, id.ThreadID, startUID, new EventUID(obj), "R2R_Failed" + "(" + JITStats.GetMethodName(obj) + ")"); } else { AddStartStopData(obj.ProcessID, id.ThreadID, startUID, new EventUID(obj), "R2R_Found" + "(" + JITStats.GetMethodName(obj) + ")"); } }