Exemplo n.º 1
0
        public static IList <Point> GetFpsPointsTimeWindow(this ISession session, double startTime, double endTime,
                                                           IFrametimeStatisticProviderOptions options, ERemoveOutlierMethod eRemoveOutlierMethod = ERemoveOutlierMethod.None,
                                                           EFilterMode filterMode = EFilterMode.None)
        {
            IList <Point> fpsPoints               = null;
            var           frametimePoints         = session.GetFrametimePointsTimeWindow(startTime, endTime, options, eRemoveOutlierMethod);
            var           intervalFrametimePoints = session.GetFrametimePointsTimeWindow(0, endTime, options, eRemoveOutlierMethod);

            switch (filterMode)
            {
            case EFilterMode.TimeIntervalAverage:
                var timeIntervalAverageFilter = new IntervalTimeAverageFilter(options.IntervalAverageWindowTime);
                var timeIntervalAveragePoints = timeIntervalAverageFilter
                                                .ProcessSamples(intervalFrametimePoints.Select(pnt => pnt.Y).ToList(), startTime * 1000, endTime * 1000, session.Runs.SelectMany(r => r.CaptureData.TimeInSeconds).Last() * 1000);
                fpsPoints = timeIntervalAveragePoints.Select(pnt => new Point(pnt.X / 1000, 1000 / pnt.Y)).ToList();
                break;

            default:
                fpsPoints = frametimePoints.Select(pnt => new Point(pnt.X, 1000 / pnt.Y)).ToList();
                break;
            }

            return(fpsPoints);
        }
Exemplo n.º 2
0
        private string CheckFilterParams()
        {
            DateTime dt1 = DateTime.MinValue, dt2 = DateTime.MaxValue;

            if ((!string.IsNullOrEmpty(tbDT1.Text) && !Utils.StringToDate(tbDT1.Text, out dt1)) ||
                (!string.IsNullOrEmpty(tbDT2.Text) && !Utils.StringToDate(tbDT2.Text, out dt2)) ||
                dt1 > dt2)
            {
                return("Nekorekti norādīti datuni.");
            }
            if (cbFilterEvent.SelectedValue == null)
            {
                filterEventCodes = false;
            }
            else
            {
                eventid1         = (int)cbFilterEvent.SelectedValue;
                filterEventCodes = true;
            }
            if (cbFilterEvent2.SelectedValue == null)
            {
                filterEventCodes2 = false;
            }
            else
            {
                eventid2          = (int)cbFilterEvent2.SelectedValue;
                filterEventCodes2 = true;
            }

            FilterMode = cbFilterMode.SelectedValue as string == "0" ? EFilterMode.ByFirstDate : EFilterMode.ByState;

            date1 = dt1;
            date2 = dt2;

            return("OK");
        }
Exemplo n.º 3
0
 public FCallStackFunctionFilter(string InFilterPattern, EFilterMode InFilterMode)
 {
     FilterPattern = InFilterPattern;
     FilterMode    = InFilterMode;
     CompileExpression();
 }
Exemplo n.º 4
0
        public void BuildPlotmodel(ISession session, IPlotSettings plotSettings, double startTime, double endTime, ERemoveOutlierMethod eRemoveOutlinerMethod, EFilterMode filterMode, Action <PlotModel> onFinishAction = null)
        {
            var plotModel = PlotModel;

            Reset();

            if (session == null)
            {
                return;
            }

            plotModel.Axes.Add(AxisDefinitions[EPlotAxis.XAXIS]);
            plotModel.Axes.Add(AxisDefinitions[EPlotAxis.YAXISFPS]);


            var    frametimes = session.GetFrametimeTimeWindow(startTime, endTime, _frametimeStatisticProviderOptions, eRemoveOutlinerMethod);
            double average = frametimes.Count * 1000 / frametimes.Sum();
            double yMin, yMax;

            plotModel.Series.Clear();

            var rawFpsPoints = session.GetFpsPointsTimeWindow(startTime, endTime, _frametimeStatisticProviderOptions, eRemoveOutlinerMethod, EFilterMode.None);

            if (filterMode is EFilterMode.RawPlusAverage)
            {
                var avgFpsPoints = session.GetFpsPointsTimeWindow(startTime, endTime, _frametimeStatisticProviderOptions, eRemoveOutlinerMethod, EFilterMode.TimeIntervalAverage);

                SetRawFPS(plotModel, rawFpsPoints);
                SetFpsChart(plotModel, avgFpsPoints, rawFpsPoints, average, 2, OxyColor.FromRgb(241, 125, 32));


                yMin = rawFpsPoints.Min(pnt => pnt.Y);
                yMax = rawFpsPoints.Max(pnt => pnt.Y);
            }
            else
            {
                var fpsPoints = session.GetFpsPointsTimeWindow(startTime, endTime, _frametimeStatisticProviderOptions, eRemoveOutlinerMethod, filterMode);

                SetFpsChart(plotModel, fpsPoints, rawFpsPoints, average, filterMode is EFilterMode.None ? 1 : 2, Constants.FpsStroke);

                yMin = fpsPoints.Min(pnt => pnt.Y);
                yMax = fpsPoints.Max(pnt => pnt.Y);
            }
            UpdateYAxisMinMaxBorders(yMin, yMax, average);

            if (plotSettings.IsAnyGraphVisible && session.HasValidSensorData())
            {
                plotModel.Axes.Add(AxisDefinitions[EPlotAxis.YAXISPERCENTAGE]);

                if (plotSettings.ShowGpuLoad)
                {
                    SetGPULoadChart(plotModel, session.GetGPULoadPointTimeWindow());
                }
                if (plotSettings.ShowCpuLoad)
                {
                    SetCPULoadChart(plotModel, session.GetCPULoadPointTimeWindow());
                }
                if (plotSettings.ShowCpuMaxThreadLoad)
                {
                    SetCPUMaxThreadLoadChart(plotModel, session.GetCPUMaxThreadLoadPointTimeWindow());
                }
                if (plotSettings.ShowGpuPowerLimit)
                {
                    SetGpuPowerLimitChart(plotModel, session.GetGpuPowerLimitPointTimeWindow());
                }
            }

            onFinishAction?.Invoke(plotModel);
            plotModel.InvalidatePlot(true);
        }
Exemplo n.º 5
0
		public FCallStackFunctionFilter(string InFilterPattern, EFilterMode InFilterMode)
		{
			FilterPattern = InFilterPattern;
			FilterMode = InFilterMode;
			CompileExpression();
		}
Exemplo n.º 6
0
 public NamespaceFilter(EFilterMode mode, string ns)
     : base(mode, type => FilterByNamespace(type, ns))
 {
 }
Exemplo n.º 7
0
 public FilterTypes(EFilterMode mode, Func<Type, bool> filter)
 {
     _mode = mode;
     _filter = filter.ThrowIfNullArgument("filter");
 }