public static void NoteRunspaceEnd(Guid rsInstanceId) { if (!PSSQMAPI.isWinSQMEnabled) { return; } long ticks1 = DateTime.Now.Ticks; long num = ticks1; lock (PSSQMAPI.syncObject) { if (!PSSQMAPI.runspaceDurationData.ContainsKey(rsInstanceId)) { return; } num = PSSQMAPI.runspaceDurationData[rsInstanceId]; PSSQMAPI.runspaceDurationData.Remove(rsInstanceId); } try { long ticks2 = ticks1 - num; if (ticks2 < PSSQMAPI.timeValueThreshold) { return; } WinSQMWrapper.WinSqmAddToStream(3088U, new TimeSpan(ticks2).TotalMinutes.ToString((IFormatProvider)CultureInfo.InvariantCulture)); } catch (Exception ex) { CommandProcessorBase.CheckForSevereException(ex); } }
public static void WinSqmAddToStream(uint dataPointID, string stringData) { WinSQMWrapper.SqmStreamEntry[] streamEntries = new WinSQMWrapper.SqmStreamEntry[1] { WinSQMWrapper.SqmStreamEntry.CreateStringSqmStreamEntry(stringData) }; WinSQMWrapper.WinSqmAddToStream(WinSQMWrapper.HGLOBALSESSION, dataPointID, streamEntries.Length, streamEntries); }
public static void WinSqmAddToStream(uint dataPointID, string stringData, uint numericalData) { WinSQMWrapper.SqmStreamEntry[] streamEntries = new WinSQMWrapper.SqmStreamEntry[2] { WinSQMWrapper.SqmStreamEntry.CreateStringSqmStreamEntry(stringData), WinSQMWrapper.SqmStreamEntry.CreateStringSqmStreamEntry(numericalData.ToString((IFormatProvider)CultureInfo.InvariantCulture)) }; WinSQMWrapper.WinSqmAddToStream(WinSQMWrapper.HGLOBALSESSION, dataPointID, streamEntries.Length, streamEntries); }
private static void FlushDataSuppressExceptions() { try { uint num = 3086; if (PSSQMAPI.dataValueCache.ContainsKey(num)) { WinSQMWrapper.WinSqmSet(num, PSSQMAPI.dataValueCache[num]); PSSQMAPI.dataValueCache.Remove(num); } WinSQMWrapper.WinSqmIncrement(PSSQMAPI.dataValueCache); PSSQMAPI.dataValueCache.Clear(); foreach (string key in PSSQMAPI.cmdletData.Keys) { WinSQMWrapper.WinSqmAddToStream(3079U, key, PSSQMAPI.cmdletData[key]); } PSSQMAPI.cmdletData.Clear(); } catch (Exception ex) { CommandProcessorBase.CheckForSevereException(ex); } }