コード例 #1
0
 public DataSet(Profiler profiler, byte *startPtr, long length, TargetProcessPointer nativeStartPosition,
                TargetProcessPointer nativeRootFuncInfoPosition,
                double cpuUsage, bool isFirst, bool is64Bit)
     : base(nativeStartPosition, nativeRootFuncInfoPosition, startPtr, length, cpuUsage, isFirst, is64Bit)
 {
     this.profiler = profiler;
 }
コード例 #2
0
ファイル: Profiler.cs プロジェクト: yuva2achieve/SharpDevelop
        unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
        {
            using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, isFirst, is64Bit)) {
                lock (this.dataWriter) {
                    this.dataWriter.WriteDataSet(dataSet);

                    if (usePerformanceCounters)
                    {
                        if (performanceCounterInstanceName == null)
                        {
                            performanceCounterInstanceName = PerformanceCounterDescriptor.GetProcessInstanceName(profilee.Id);
                        }

                        if (performanceCounterInstanceName == null)
                        {
                            usePerformanceCounters = false;
                            LogString("Warning: One or more performance counters could not be accessed. " +
                                      "Please ensure that the perfmon service is enabled and running. " +
                                      "If the problem still persists try rebuilding the performance counters " +
                                      "by executing \"lodctr /R\" from a command line with administrative rights.");
                        }
                    }

                    foreach (var counter in performanceCounters)
                    {
                        counter.Collect(performanceCounterInstanceName);
                    }
                }
            }
        }
コード例 #3
0
 unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, double cpuUsage, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
 {
     using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, cpuUsage, isFirst, is64Bit)) {
         lock (this.dataWriter) {
             this.dataWriter.WriteDataSet(dataSet);
         }
     }
 }
コード例 #4
0
ファイル: Profiler.cs プロジェクト: yuva2achieve/SharpDevelop
 internal unsafe void *TranslatePointer(TargetProcessPointer ptr)
 {
     if (this.is64Bit)
     {
         return(TranslatePointer64(ptr.To64()));
     }
     else
     {
         return(TranslatePointer32(ptr.To32()));
     }
 }
コード例 #5
0
        unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
        {
            using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, isFirst, is64Bit)) {
                lock (this.dataWriter) {
                    this.dataWriter.WriteDataSet(dataSet);

                    if (performanceCounterInstanceName == null)
                    {
                        performanceCounterInstanceName = PerformanceCounterDescriptor.GetProcessInstanceName(profilee.Id);
                    }

                    if (performanceCounterInstanceName == null)
                    {
                        LogString("instance not found!");
                    }

                    foreach (var counter in performanceCounters)
                    {
                        counter.Collect(performanceCounterInstanceName);
                    }
                }
            }
        }
コード例 #6
0
ファイル: Profiler.cs プロジェクト: yuva2achieve/SharpDevelop
 internal unsafe override void *TranslatePointer(TargetProcessPointer ptr)
 {
     return(this.profiler.TranslatePointer(ptr));
 }
コード例 #7
0
ファイル: Profiler.cs プロジェクト: 2594636985/SharpDevelop
			internal unsafe override void* TranslatePointer(TargetProcessPointer ptr)
			{
				return profiler.TranslatePointer(ptr);
			}
コード例 #8
0
ファイル: Profiler.cs プロジェクト: 2594636985/SharpDevelop
			public DataSet(Profiler profiler, byte *startPtr, long length, TargetProcessPointer nativeStartPosition,
			               TargetProcessPointer nativeRootFuncInfoPosition, bool isFirst, bool is64Bit)
				: base(nativeStartPosition, nativeRootFuncInfoPosition, startPtr, length, isFirst, is64Bit)
			{
				this.profiler = profiler;
			}
コード例 #9
0
ファイル: Profiler.cs プロジェクト: 2594636985/SharpDevelop
		internal unsafe void* TranslatePointer(TargetProcessPointer ptr)
		{
			if (is64Bit)
				return TranslatePointer64(ptr.To64());
			else
				return TranslatePointer32(ptr.To32());
		}
コード例 #10
0
ファイル: Profiler.cs プロジェクト: 2594636985/SharpDevelop
		unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
		{
			using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, isFirst, is64Bit)) {
				lock (dataWriter) {
					dataWriter.WriteDataSet(dataSet);
					
					if (usePerformanceCounters) {
						if (performanceCounterInstanceName == null)
							performanceCounterInstanceName = PerformanceCounterDescriptor.GetProcessInstanceName(profilee.Id);
						
						if (performanceCounterInstanceName == null) {
							usePerformanceCounters = false;
							LogString("Warning: One or more performance counters could not be accessed. " +
							          "Please ensure that the perfmon service is enabled and running. " +
							          "If the problem still persists try rebuilding the performance counters " +
							          "by executing \"lodctr /R\" from a command line with administrative rights.");
						}
					}
					
					foreach (var counter in performanceCounters)
						counter.Collect(performanceCounterInstanceName);
				}
			}
		}
コード例 #11
0
ファイル: Profiler.cs プロジェクト: hpsa/SharpDevelop
		unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
		{
			using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, isFirst, is64Bit)) {
				lock (this.dataWriter) {
					this.dataWriter.WriteDataSet(dataSet);
					
					if (performanceCounterInstanceName == null)
						performanceCounterInstanceName = PerformanceCounterDescriptor.GetProcessInstanceName(profilee.Id);
					
					if (performanceCounterInstanceName == null)
						LogString("instance not found!");
					
					foreach (var counter in performanceCounters)
						counter.Collect(performanceCounterInstanceName);
				}
			}
		}
コード例 #12
0
		unsafe void AddDataset(byte *ptr, TargetProcessPointer nativeStartPosition, long offset, long length, double cpuUsage, bool isFirst, TargetProcessPointer nativeRootFuncInfoPosition)
		{
			using (DataSet dataSet = new DataSet(this, ptr + offset, length, nativeStartPosition, nativeRootFuncInfoPosition, cpuUsage, isFirst, is64Bit)) {
				lock (this.dataWriter) {
					this.dataWriter.WriteDataSet(dataSet);
				}
			}
		}