コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: WinSQMWrapper.cs プロジェクト: mmoenfly/GitCook2021
 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);
 }
コード例 #3
0
ファイル: WinSQMWrapper.cs プロジェクト: mmoenfly/GitCook2021
 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);
 }
コード例 #4
0
 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);
     }
 }