当前位置: 首页>>代码示例>>C#>>正文


C# Snapshot.Add方法代码示例

本文整理汇总了C#中Snapshot.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Snapshot.Add方法的具体用法?C# Snapshot.Add怎么用?C# Snapshot.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Snapshot的用法示例。


在下文中一共展示了Snapshot.Add方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CanBeReset

        public void CanBeReset()
        {
            var firstSnapshot = new Snapshot { Name = "first" };
            firstSnapshot.Add(new MetricData(10, DateTime.Now.AddMinutes(-2), new List<string> { "value" }));
            firstSnapshot.Add(new MetricData(11, DateTime.Now.AddMinutes(-1.5), new List<string> { "value" }));
            firstSnapshot.Add(new MetricData(15, DateTime.Now.AddMinutes(-1), new List<string> { "value" }));

            var secondSnapshot = new Snapshot { Name = "second" };
            secondSnapshot.Add(new MetricData(10, DateTime.Now.AddMinutes(-2), new List<string> { "value2" }));
            secondSnapshot.Add(new MetricData(5, DateTime.Now.AddMinutes(-1.5), new List<string> { "value2" }));
            secondSnapshot.Add(new MetricData(6, DateTime.Now.AddMinutes(-1), new List<string> { "value2" }));

            var name = "testPlotter";

            var config = new PlotterElement("id", name, ".", 0, 15, 1, "");

            var sink = new MultiPlotter(config);

            sink.ResetWith(new [] { firstSnapshot, secondSnapshot });

            var plotFile = Path.Combine(".", Path.ChangeExtension(name, "png"));

            Assert.IsTrue(File.Exists(plotFile));

            File.Delete(plotFile);
        }
开发者ID:timbarrass,项目名称:Alembic.Metrics,代码行数:26,代码来源:MultiPlotterTests.cs

示例2: Snapshot

        public Snapshot Snapshot()
        {
            Log.Debug("Querying " + Name);

            var snapshot = new Snapshot { Name = Name };
            snapshot.Add(new MetricData( _counter.NextValue(), DateTime.Now, new List<string> { Name }));

            return snapshot;
        }
开发者ID:timbarrass,项目名称:Alembic.Metrics,代码行数:9,代码来源:PerformanceCounterDataSource.cs

示例3: Snapshot

        public Snapshot Snapshot()
        {
            Log.Debug("Querying " + Name);

            Process[] processes;

            if (string.IsNullOrEmpty(_machineName))
            {
                processes = Process.GetProcessesByName(_processToMonitor);
            }
            else
            {
                processes = Process.GetProcessesByName(_processToMonitor, _machineName);
            }

            var snapshot = new Snapshot { Name = Name };
            snapshot.Add(new MetricData( processes.Length, DateTime.Now, new List<string> { Name }));

            return snapshot;
        }
开发者ID:timbarrass,项目名称:Alembic.Metrics,代码行数:20,代码来源:ProcessCountingSource.cs

示例4: Snapshot

        public Snapshot Snapshot()
        {
            Log.Debug("Querying " + Name);

            Process[] processes;

            if (string.IsNullOrEmpty(_machineName))
            {
                processes = Process.GetProcessesByName(_processToMonitor);
            }
            else
            {
                processes = Process.GetProcessesByName(_processToMonitor, _machineName);
            }
            var count = 0;
            var uptime = 0d;
            foreach(var process in processes)
            {
                try
                {
                    uptime += new TimeSpan(DateTime.Now.Ticks - process.StartTime.Ticks).TotalSeconds;
                }
                catch(InvalidOperationException)
                {
                    // _assume_ this is because the process has gone away between getting the process 
                    // list and making the query. Ignore.
                }

                count++;
            }

            var snapshot = new Snapshot { Name = Name };
            snapshot.Add(new MetricData( count == 0 ? 0 : uptime / count, DateTime.Now, new List<string> { Name }));

            return snapshot;
        }
开发者ID:timbarrass,项目名称:Alembic.Metrics,代码行数:36,代码来源:ProcessUptimeSource.cs

示例5: UpdateSnapshot

		internal void UpdateSnapshot(Snapshot snapshot, bool forceFullRebuild)
		{
            if (SuspendRebuilding)
            {
                return;
            }

			lock (AddLock)
			{
				// Start by rebasing if necessary
				bool forceUpdate = false;
				if (RebaseBlocks)
				{
					snapshot.Rebase(AddressRange.Min, AddressWidth);
					RebaseBlocks = false;
					forceUpdate = true;
				}

				UInt64 maxTime = ArtificialMaxTime;
				if (maxTime == 0)
				{
					maxTime = TimeRange.Max;
				}

				IEnumerable<KeyValuePair<TimeStamp, IPacket>> packets = null;
				bool isBackward = false;
				if (forceFullRebuild)
				{
					snapshot.Reset();
					packets = Get();
				}
				else
				{
					// Determine what entries we need to get based off scrubber position
					UInt64 timeRange = maxTime - TimeRange.Min;

					// Readjust the position if needed
					if (ArtificialMaxTime == 0 && timeRange > 0)
					{
						double rangeScale = (double)LastRange / (double)timeRange;

						if (rangeScale > 0 && Scrubber._Position < 1.0)
						{
							// Hacky
							Scrubber._Position *= rangeScale;
							Scrubber._Position = Scrubber._Position.Clamp(0.0, 1.0);
							Scrubber.FlagRedraw();
						}
					}

					LastRange = timeRange;

					double position = Scrubber.Position;
					UInt64 currentTime = TimeRange.Min + (UInt64)((double)timeRange * position);

					bool nothingToProcess = false;
					if (currentTime > LastTimestamp.Time)
					{
						packets = GetForward(new TimeStamp(currentTime));
					}
					else if (currentTime < LastTimestamp.Time)
					{
						packets = GetBackward(new TimeStamp(currentTime));
						isBackward = true;
					}
					else
					{
						nothingToProcess = true;
					}

					LastTimestamp = new TimeStamp(currentTime);

					if (nothingToProcess && !forceUpdate)
					{
						return;
					}
				}

				if (AddressRange.Max < AddressRange.Min)
				{
					return;
				}

				// Create final list, removing allocations as frees are encountered
				if (packets != null)
				{
					int index = 0;
					foreach (var pair in packets)
					{
						// On a full rebuild, if there's a position specified in
						// the snapshot, only go up to that position
						if (forceFullRebuild && snapshot.Position > 0)
						{
							if (index > snapshot.Position)
							{
								break;
							}
						}

						// TODO: Can allocation and free processing be combined?
//.........这里部分代码省略.........
开发者ID:dakahler,项目名称:alloclave,代码行数:101,代码来源:History.cs

示例6: Snapshot

        public Snapshot Snapshot()
        {
            var snapshot = new Snapshot();

            if(! File.Exists(FileName(Name)))
            {
                Log.Warn(string.Format("Attempted to snapshot '{0}', but no underlying file was found.", Name));

                return snapshot;
            }

            using (var file = File.OpenRead(FileName(Name)))
            using (var r = new StreamReader(file))
            {
                string line = r.ReadLine();

                if (line == null) return new Snapshot();

                var labels = line.Split(',').ToList();

                while ((line = r.ReadLine()) != null)
                {
                    var data = line.Split(',').ToList();

                    var dataPoints = new List<double?>();

                    for (int i = 1; i < data.Count; i++)
                    {
                        dataPoints.Add(data[i].Equals("null") ? new double?() : double.Parse(data[i]));
                    }

                    snapshot.Add(new MetricData(dataPoints, DateTime.Parse(data[0]), labels));
                }
            }

            return snapshot;
        }
开发者ID:timbarrass,项目名称:Alembic.Metrics,代码行数:37,代码来源:FileSystemDataStore.cs


注:本文中的Snapshot.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。