public MemoryMeasurementEvaluation( FromProcessMeasurement <MemoryStruct.IMemoryMeasurement> memoryMeasurement, Accumulator.MemoryMeasurementAccumulator memoryMeasurementAccu = null) { this.MemoryMeasurement = memoryMeasurement?.Value; try { MemoryMeasurementParsed = memoryMeasurement?.Value?.Parse(); } catch (Exception Exception) { MemoryMeasurementParseException = Exception; } if (null == memoryMeasurement) { return; } try { memoryMeasurementAccu = memoryMeasurementAccu ?? new Accumulator.MemoryMeasurementAccumulator(); memoryMeasurementAccu.Accumulate(memoryMeasurement?.MapValue(t => MemoryMeasurementParsed)); this.MemoryMeasurementAccumulation = memoryMeasurementAccu; } catch (Exception Exception) { MemoryMeasurementAccuException = Exception; } }
void Step( FromProcessMeasurement<MemoryMeasurement> MemoryMeasurement, BotPreference UserPreference, IEnumerable<int> TaskCompletedId) { var StepPreviousIndex = StepCurrentState?.StepIndex; if (null == StepCurrentState) { StepCurrentState = new BotInstant(); } else { History.Enqueue(StepCurrentState.CopyForBotHistory()); History.TrimHeadToKeep(10); } StepCurrentState.StepIndex = (StepPreviousIndex + 1) ?? 0; StepCurrentState.MemoryMeasurement = MemoryMeasurement; StepCurrentState.UserPreference = UserPreference; StepCurrentState.SensorDataAccumulator = StepCurrentState.SensorDataAccumulator ?? new SensorDataAccumulator(); StepCurrentState.SensorDataAccumulator?.Accumulate(MemoryMeasurement); TaskPropagateComplete(TaskCompletedId); TaskResolve(); ListTask?.RemoveAll(Task => Task.Ended() || !((StepIndex - Task.BeginStepIndexInBot) < 30)); }
public void Accumulate(FromProcessMeasurement <Parse.IMemoryMeasurement> memoryMeasurementAtTime) { if (null == memoryMeasurementAtTime) { return; } var MemoryMeasurement = memoryMeasurementAtTime?.Value; var ShipUi = MemoryMeasurement?.ShipUi; var SetModuleInstantNotAssigned = ShipUi?.Module?.Select(module => module.AsAccuInstant(ShipUi).WithTimespanInt64(memoryMeasurementAtTime)) ?.Distribute( MemoryMeasurement, InternShipUiModule); foreach (var ModuleInstantNotAssigned in SetModuleInstantNotAssigned.EmptyIfNull()) { InternShipUiModule.Add(new ShipUiModule(++EntityIdLast, ModuleInstantNotAssigned)); } InternShipUiModule?.Where(module => !(memoryMeasurementAtTime?.End - module?.LastInstant?.End < ModuleInvisibleDurationMax))?.ToArray() ?.ForEach(module => InternShipUiModule.Remove(module)); if (MemoryMeasurement?.IsDocked ?? false) { InternShipUiModule?.Clear(); } }
public void Accumulate(FromProcessMeasurement<Parse.IMemoryMeasurement> MemoryMeasurementAtTime) { if (null == MemoryMeasurementAtTime) return; var MemoryMeasurement = MemoryMeasurementAtTime?.Value; var ShipUi = MemoryMeasurement?.ShipUi; var SetModuleInstantNotAssigned = ShipUi?.Module?.Select(Module => Module.AsAccuInstant(ShipUi).WithTimespanInt64(MemoryMeasurementAtTime)) ?.Distribute( MemoryMeasurement, InternShipUiModule); foreach (var ModuleInstantNotAssigned in SetModuleInstantNotAssigned.EmptyIfNull()) { InternShipUiModule.Add(new ShipUiModule(++EntityIdLast, ModuleInstantNotAssigned)); } InternShipUiModule?.Where(Module => !(MemoryMeasurementAtTime?.End - Module?.LastInstant?.End < ModuleInvisibleDurationMax))?.ToArray() ?.ForEach(Module => InternShipUiModule.Remove(Module)); if (MemoryMeasurement?.IsDocked ?? false) { InternShipUiModule?.Clear(); } }
public FromSensorToConsumerMessage SensorExchange( FromConsumerToSensorMessage ToSensorMessage) { var SensorMessageLast = this.SensorMessageLast; try { var FromSensorAppMessage = SensorAppManager?.ConsumerExchange( new FromConsumerToSensorProxyMessage( ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf())); if (null == FromSensorAppMessage) { return null; } var AppSpecific = FromSensorAppMessage.AppSpecific; SensorMessageLast = AppSpecific.DeSerializeProtobufBib3RefNezDif().FirstOrDefaultNullable() as FromSensorToConsumerMessage; return SensorMessageLast; } finally { MemoryMeasurementLast = SensorMessageLast?.MemoryMeasurement ?? MemoryMeasurementLast; WindowMeasurementLast = SensorMessageLast?.WindowMeasurement ?? WindowMeasurementLast; this.SensorMessageLast = SensorMessageLast; } }
public MemoryMeasurementEvaluation( FromProcessMeasurement<MemoryStruct.IMemoryMeasurement> MemoryMeasurement, Accumulator.MemoryMeasurementAccumulator MemoryMeasurementAccu = null) { this.MemoryMeasurement = MemoryMeasurement?.Value; try { MemoryMeasurementParsed = MemoryMeasurement?.Value?.Parse(); } catch (Exception Exception) { MemoryMeasurementParseException = Exception; } if (null == MemoryMeasurement) { return; } try { MemoryMeasurementAccu = MemoryMeasurementAccu ?? new Accumulator.MemoryMeasurementAccumulator(); MemoryMeasurementAccu.Accumulate(MemoryMeasurement?.MapValue(t => MemoryMeasurementParsed)); this.MemoryMeasurementAccumulation = MemoryMeasurementAccu; } catch (Exception Exception) { MemoryMeasurementAccuException = Exception; } }
void BotMotion( FromProcessMeasurement <IMemoryMeasurement> memoryMeasurement, IEnumerable <Bot.MotionRecommendation> sequenceMotion) { var processId = memoryMeasurement?.ProcessId; if (!processId.HasValue || null == sequenceMotion || sequenceMotion.IsNullOrEmpty()) { return; } var process = System.Diagnostics.Process.GetProcessById(processId.Value); var listMotionResult = new List <Bot.MotionResult>(); var startTime = GetTimeStopwatch(); botLock.WhenLockIsAvailableEnter(300, () => { var motor = new WindowMotor(process.MainWindowHandle); foreach (var motion in sequenceMotion) { var motionResult = motor.ActSequenceMotion(motion.MotionParam.AsSequenceMotion(memoryMeasurement?.Value)); listMotionResult.Add(new Bot.MotionResult { Id = motion.Id, Success = motionResult?.Success ?? false, }); } }, "MotionExecution"); BotStepLastMotionResult = new PropertyGenTimespanInt64 <Bot.MotionResult[]>(listMotionResult.ToArray(), startTime, GetTimeStopwatch()); Thread.Sleep(sequenceMotion.Max(sm => sm.DelayAfterMs ?? FromMotionToMeasurementDelayMilli)); }
FromProcessMeasurement <MemoryMeasurementReport> MemoryMeasurementTake() { lock (MeasurementLock) { var StartTimeMilli = Bib3.Glob.StopwatchZaitMiliSictInt(); var MeasurementInit = MemoryMeasurementInitLastReport; var DerivedFrom = MeasurementInit?.Value; var Measurement = new MemoryMeasurementReport { DerivedFrom = DerivedFrom, }; var ProcessId = MeasurementInit?.ProcessId ?? 0; var MeasurementInitPortionForDerived = DerivedFrom?.ForDerived; Sanderling.Parse.Culture.InvokeInParseCulture(() => { var ScnapscusAuswert = new SictProzesAuswertZuusctandScpezGbsBaum( new ProcessMemoryReader(ProcessId), MeasurementInitPortionForDerived, EveOnlineSensoGbsAstListeChildAnzaalScrankeMax, EveOnlineSensoGbsMengeAstAnzaalScrankeMax, EveOnlineSensoGbsSuuceTiifeScrankeMax); ScnapscusAuswert.BerecneScrit(); var GbsBaumDirekt = ScnapscusAuswert.GbsWurzelHauptInfo; Measurement.Raw = new FromProcessMeasurement <GbsAstInfo>(GbsBaumDirekt, StartTimeMilli, Bib3.Glob.StopwatchZaitMiliSictInt(), ProcessId); var GbsBaumAuswert = Optimat.EveOnline.AuswertGbs.Extension.SensorikScnapscusKonstrukt( ScnapscusAuswert.GbsWurzelHauptInfo, (int?)(1e+9)); Measurement.ViewInterface = new FromProcessMeasurement <IMemoryMeasurement>(GbsBaumAuswert, StartTimeMilli, Bib3.Glob.StopwatchZaitMiliSictInt(), ProcessId); }); var EndTimeMilli = Bib3.Glob.StopwatchZaitMiliSictInt(); var ProcessMeasurementReport = new FromProcessMeasurement <MemoryMeasurementReport>( Measurement, StartTimeMilli, EndTimeMilli, ProcessId); Thread.MemoryBarrier(); return(MemoryMeasurementLastReport = ProcessMeasurementReport); } }
/* * public void FromConsumer(Optimat.EveOnline.CustomBot.FromCustomBotSnapshot Snapshot) * { * SensorAppManager.FromConsumer(new BotEngine.Sensor.FromConsumerToSensorProxyMessage( * Snapshot.SerializeSingleBib3RefNezDifProtobuf())); * } */ /* * 16.04.15 * * public void FromServer(BotEngine.Interface.FromServerToInterfaceAppManagerMessage Message) * { * SensorAppManager.FromServer(Message); * } * * public BotEngine.Interface.FromInterfaceAppManagerToServerMessage ToServer() * { * return SensorAppManager.ToServer(); * } */ public FromSensorToConsumerMessage SensorExchange( FromConsumerToSensorMessage ToSensorMessage) { return(null); // 16.04.16 FromSensorToConsumerMessage SensorMessageLast = this.SensorMessageLast; try { BotEngine.Interface.InterfaceAppDomainSetup.Setup(); var FromSensorAppMessage = SensorAppManager?.ConsumerExchange( new BotEngine.Interface.FromConsumerToInterfaceProxyMessage( ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf())); if (null == FromSensorAppMessage) { return(null); } var AppSpecific = FromSensorAppMessage.AppSpecific; // if (null != AppSpecific) { /* * SensorMessageLast = * Optimat.EveOnline.CustomBot.ToCustomBotSnapshot.DeserializeFromString<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>(AppSpecific); */ /* * SensorMessageLast = * Convert.FromBase64String(AppSpecific).ProtobufDeserialize<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>(); */ /* * SensorMessageLast = * Convert.FromBase64String(AppSpecific).UniversalSerializerDeSerialize<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>(); */ SensorMessageLast = AppSpecific.DeSerializeProtobufBib3RefNezDif().FirstOrDefaultNullable() as FromSensorToConsumerMessage; TempDebugListeMessage.Add(SensorMessageLast); TempDebugListeMessage.ListeKürzeBegin(44); return(SensorMessageLast); } } finally { MemoryMeasurementLast = SensorMessageLast?.MemoryMeasurement ?? MemoryMeasurementLast; WindowMeasurementLast = SensorMessageLast?.WindowMeasurement ?? WindowMeasurementLast; this.SensorMessageLast = SensorMessageLast; } }
void MeasurementMemoryTake(int processId, Int64 measurementBeginTimeMinMilli) { var measurement = SensorServerDispatcher.InterfaceAppManager.MeasurementTake(processId, measurementBeginTimeMinMilli); if (null == measurement) { return; } MemoryMeasurementLast = measurement; }
void MeasurementMemoryTake(int processId, Int64 measurementBeginTimeMinMilli) { var measurement = sensor.MeasurementTake(processId, measurementBeginTimeMinMilli); if (null == measurement) { return; } MemoryMeasurementLast = measurement; }
public void Present( SimpleInterfaceServerDispatcher interfaceServerDispatcher, FromProcessMeasurement <IMemoryMeasurement> measurement, Bot.Bot bot) { Interface?.Present(interfaceServerDispatcher, measurement); InterfaceHeader?.SetStatus(Interface.InterfaceStatusEnum()); BotStepResultTextBox.Text = bot?.StepLastResult?.RenderBotStepToUIText(); }
void BotMotion( FromProcessMeasurement <IMemoryMeasurement> memoryMeasurement, IEnumerable <Bot.MotionRecommendation> sequenceMotion) { var processId = memoryMeasurement?.ProcessId; if (!processId.HasValue || null == sequenceMotion) { return; } var process = System.Diagnostics.Process.GetProcessById(processId.Value); if (null == process) { return; } var startTime = GetTimeStopwatch(); BotEngine.WinApi.User32.SetForegroundWindow(process.MainWindowHandle); var PreviousForegroundWindowHandle = BotEngine.WinApi.User32.GetForegroundWindow(); if (PreviousForegroundWindowHandle != process.MainWindowHandle) { Thread.Sleep(100); PreviousForegroundWindowHandle = BotEngine.WinApi.User32.GetForegroundWindow(); if (PreviousForegroundWindowHandle != process.MainWindowHandle) { return; } } var motor = new WindowMotor(process.MainWindowHandle); var listMotionResult = new List <Bot.MotionResult>(); foreach (var motion in sequenceMotion.EmptyIfNull()) { var motionResult = motor.ActSequenceMotion(motion.MotionParam.AsSequenceMotion(memoryMeasurement?.Value)); listMotionResult.Add(new Bot.MotionResult { Id = motion.Id, Success = motionResult?.Success ?? false, }); } BotStepLastMotionResult = new PropertyGenTimespanInt64 <Bot.MotionResult[]>(listMotionResult.ToArray(), startTime, GetTimeStopwatch()); }
public void Present( SimpleInterfaceServerDispatcher interfaceServerDispatcher, FromProcessMeasurement <Interface.MemoryStruct.IMemoryMeasurement> measurement) { MeasurementLastHeader?.SetStatus(measurement.MemoryMeasurementLastStatusEnum()); ProcessHeader?.SetStatus(ProcessChoice.ProcessStatusEnum()); LicenseDataContext.Dispatcher = interfaceServerDispatcher; var sessionDurationRemainingTooShort = !(measurement?.Value).SessionDurationRemainingSufficientToStayExposed(); SessionDurationRemainingTextBox.Text = (measurement?.Value?.SessionDurationRemaining?.ToString() ?? "????"); SessionDurationRemainingTooShortGroup.Visibility = (sessionDurationRemainingTooShort && null != measurement) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Hidden; Measurement?.Present(measurement); }
public void Present( SimpleInterfaceServerDispatcher interfaceServerDispatcher, FromProcessMeasurement<Interface.MemoryStruct.IMemoryMeasurement> measurement) { MeasurementLastHeader?.SetStatus(measurement.MemoryMeasurementLastStatusEnum()); LicenseHeader?.SetStatus(interfaceServerDispatcher.LicenseStatusEnum()); ProcessHeader?.SetStatus(ProcessChoice.ProcessStatusEnum()); LicenseDataContext.Dispatcher = interfaceServerDispatcher; var sessionDurationRemainingTooShort = !(measurement?.Value).SessionDurationRemainingSufficientToStayExposed(); SessionDurationRemainingTextBox.Text = (measurement?.Value?.SessionDurationRemaining?.ToString() ?? "????"); SessionDurationRemainingTooShortGroup.Visibility = (sessionDurationRemainingTooShort && null != measurement) ? System.Windows.Visibility.Visible : System.Windows.Visibility.Hidden; Measurement?.Present(measurement); }
public void Exchange( FromProcessMeasurement<MemoryMeasurement> MemoryMeasurement, BotPreference UserPreference, IEnumerable<int> TaskCompletedId) { if (null == MemoryMeasurement) { return; } var MemoryMeasurementIsNew = !(MemoryMeasurement?.EndeZait == StepCurrentState?.MemoryMeasurement?.EndeZait); if (MemoryMeasurementIsNew) { Step(MemoryMeasurement, UserPreference, TaskCompletedId); } }
FromProcessMeasurement <MemoryMeasurementInitReport> MemoryMeasurementInitTake(MemoryMeasurementInitParam param) { if (null == param) { return(null); } lock (MeasurementLock) { var StartTimeMilli = Bib3.Glob.StopwatchZaitMiliSictInt(); var Measurement = new MemoryMeasurementInitReport { Param = param, }; var ProcessId = param.ProcessId; var SuuceWurzel = new SictProcessMitIdAuswertWurzelSuuce(ProcessId); SuuceWurzel.Berecne(); Measurement.ForDerived = SuuceWurzel; Measurement.SetRootAdr = SuuceWurzel?.GbsMengeWurzelObj ?.Select(wurzelObj => wurzelObj?.HerkunftAdrese) ?.WhereNotNullSelectValue() ?.ToArray(); var EndTimeMilli = Bib3.Glob.StopwatchZaitMiliSictInt(); var ProcessMeasurementReport = new FromProcessMeasurement <MemoryMeasurementInitReport>( Measurement, StartTimeMilli, EndTimeMilli, ProcessId); Thread.MemoryBarrier(); return(MemoryMeasurementInitLastReport = ProcessMeasurementReport); } }
private void BotMotion( FromProcessMeasurement <IMemoryMeasurement> memoryMeasurement, IEnumerable <MotionRecommendation> sequenceMotion) { var processId = memoryMeasurement?.ProcessId; if (!processId.HasValue || null == sequenceMotion) { return; } var process = Process.GetProcessById(processId.Value); if (null == process) { return; } var startTime = GetTimeStopwatch(); var motor = new WindowMotor(process.MainWindowHandle); var listMotionResult = new List <MotionResult>(); foreach (var motion in sequenceMotion.EmptyIfNull()) { var motionResult = motor.ActSequenceMotion(motion.MotionParam.AsSequenceMotion(memoryMeasurement?.Value)); listMotionResult.Add(new MotionResult { Id = motion.Id, Success = motionResult?.Success ?? false }); } BotStepLastMotionResult = new PropertyGenTimespanInt64 <MotionResult[]>(listMotionResult.ToArray(), startTime, GetTimeStopwatch()); Thread.Sleep(FromMotionToMeasurementDelayMilli); }
static public StatusIcon.StatusEnum MemoryMeasurementLastStatusEnum( this FromProcessMeasurement <IMemoryMeasurement> measurement, Int64 measurementTimeMin) { if (!(measurementTimeMin < measurement?.Begin)) { return(StatusIcon.StatusEnum.Reject); } if (!Bib3.RefNezDiferenz.Extension.EnumMengeRefAusNezAusWurzel(measurement?.Value, Interface.FromInterfaceResponse.UITreeComponentTypeHandlePolicyCache).CountAtLeast(1)) { return(StatusIcon.StatusEnum.Reject); } if (!(measurement?.Value?.SessionDurationRemainingSufficientToStayExposed() ?? false)) { return(StatusIcon.StatusEnum.Warn); } return(StatusIcon.StatusEnum.Accept); }
public void Accumulate(FromProcessMeasurement<SensorRaw.MemoryMeasurement> FromProcessMemoryMeasurement) { var MemoryMeasurement = FromProcessMemoryMeasurement?.Wert; var ShipUi = MemoryMeasurement?.ShipUi; var ShipUiModuleInstant = ShipUi?.Module?.Select(Module => Module.AsAccuInstant(ShipUi).AsIntervalInt64(FromProcessMemoryMeasurement)); ShipUiModuleInstant?.Distribute( MemoryMeasurement, this.ShipUiModule) ?.ForEachNullable(ModuleInstantNotAssigned => this.ShipUiModule.Add(new ShipUiModuleAccu(++EntityIdLast, ModuleInstantNotAssigned))); if (MemoryMeasurement?.ShipState()?.Docked() ?? false) { this.ShipUiModule?.Clear(); } MemoryMeasurement?.WindowInventory?.ForEachNullable(WindowInventory => { var ActiveShipTreeEntry = WindowInventory?.TreeEntryActiveShip(); var TreeEntrySelectedRight = WindowInventory?.SetLeftTreeEntrySelected()?.FirstOrDefault(); var TreeEntrySelectedRightCargoSpaceType = ActiveShipTreeEntry.CargoSpaceTypeOfTreeEntry(TreeEntrySelectedRight); var TreeEntrySelectedCapacity = WindowInventory?.SelectedRightInventoryCapacity?.Label.ParseAsInventoryCapacityGaugeMilli(); if (TreeEntrySelectedRightCargoSpaceType.HasValue && null != TreeEntrySelectedCapacity) { ActiveShipCargoSpacePerTypeCapacityMeasurementLast[TreeEntrySelectedRightCargoSpaceType.Value] = new WertZuZaitpunktStruct<InventoryCapacityGaugeNumeric>(TreeEntrySelectedCapacity, FromProcessMemoryMeasurement.Ende); } }); TargetingRangeAccu.Accumulate(FromProcessMemoryMeasurement); }
void GetMeasurementIfDue() { sensorServerDispatcher?.Exchange(); Int64?assumptionLastMeasurementTime; var requestedMeasurementTime = this.RequestedMeasurementTimeKapseltInLog( out assumptionLastMeasurementTime); var time = Bib3.Glob.StopwatchZaitMiliSictInt(); var lastMeasurementAttemptAge = time - LastMeasurementAttemptTime; if (lastMeasurementAttemptAge < 4000 && (lastMeasurementAttemptAge < measurementTimeDistanceMin || !(requestedMeasurementTime < time))) { return; } LastMeasurementAttemptTime = time; var eveOnlineClientProcessId = GbsAingaabeZiilProcessId ?? 0; var response = sensorServerDispatcher?.InterfaceAppManager?.MeasurementTakeRequest( eveOnlineClientProcessId, Bib3.Glob.StopwatchZaitMiliSictInt()); var measurementNewStructure = FromProcessMeasurementLast = response?.MemoryMeasurement; var simulateMemoryMeasurement = this.SimulateMemoryMeasurement; if (null != simulateMemoryMeasurement) { measurementNewStructure = new FromProcessMeasurement <Sanderling.Interface.MemoryStruct.IMemoryMeasurement>(simulateMemoryMeasurement, time, time, eveOnlineClientProcessId); } SensorClient.MemoryMeasurementLast = measurementNewStructure; }
public void Present(FromProcessMeasurement<MemoryMeasurement> Presented) { int? SensorProcessId = null; Int64? SensorMeasurementBeginTime = null; Int64? SensorMeasurementDurationMili = null; try { SensorProcessId = Presented?.ProcessId; SensorMeasurementBeginTime = Presented?.BeginZait; SensorMeasurementDurationMili = Presented?.Dauer; } finally { this.Presented = Presented; TextBoxSensorProcessId.Text = SensorProcessId.ToString(); SensorMeasurementBeginTimeInspect.PresentedTime = new Bib3.FCL.GBS.ZaitpunktStopwatchUndDateTime(SensorMeasurementBeginTime); SensorMeasurementDurationMiliInspect.Text = SensorMeasurementDurationMili.ToString(); MemoryMeasurementInspect.Present(Presented?.Wert); } }
public void Aggregate(FromProcessMeasurement <IMemoryMeasurement> memoryMeasurementAtTime) { var memoryMeasurement = memoryMeasurementAtTime?.Value; var overviewWindow = memoryMeasurement?.WindowOverview?.FirstOrDefault(); foreach (var overviewEntry in (overviewWindow?.ListView?.Entry?.WhereNotDefault()).EmptyIfNull()) { var setEWarType = setEWarTypeFromOverviewEntryId.TryGetValueOrDefault(overviewEntry.Id); foreach (var ewarType in overviewEntry.EWarType.EmptyIfNull()) { if (null == setEWarType) { setEWarType = new HashSet <EWarTypeEnum>(); } setEWarType.Add(ewarType); } if (null != setEWarType) { setEWarTypeFromOverviewEntryId[overviewEntry.Id] = setEWarType; } } if (setManeuverReset.Contains(memoryMeasurement?.ShipUi?.Indication?.ManeuverType ?? ShipManeuverTypeEnum.None)) { var setOverviewEntryVisibleId = overviewWindow?.ListView?.Entry?.Select(entry => entry.Id)?.ToArray(); foreach (var entryToRemoveId in setEWarTypeFromOverviewEntryId.Keys .Where(entryId => !(setOverviewEntryVisibleId?.Contains(entryId) ?? false)).ToArray()) { setEWarTypeFromOverviewEntryId.Remove(entryToRemoveId); } } }
public void Present(FromProcessMeasurement<MemoryStruct.IMemoryMeasurement> Measurement) { Summary?.Present(Measurement); Detail?.TreeView?.Präsentiire(new[] { Measurement?.Value }); }
void CallbackMeasurementMemoryNew(FromProcessMeasurement <MemoryStruct.IMemoryMeasurement> Measurement) { MemoryMeasurementLast = Measurement.MapValue(Value => new Interface.MemoryMeasurementEvaluation( Measurement, MemoryMeasurementLast?.Value?.MemoryMeasurementAccumulation as Accumulator.MemoryMeasurementAccumulator)); }
public void Accumulate(FromProcessMeasurement<SensorRaw.MemoryMeasurement> FromProcessMemoryMeasurement) { if (null == FromProcessMemoryMeasurement) { return; } var Time = FromProcessMemoryMeasurement.Ende; var TargetDistanceMax = FromProcessMemoryMeasurement?.Wert?.Target?.Select(Target => Target.DistanceMin()) ?.WhereNotNullSelectValue() ?.MaxNullable(); var OverviewEntryAndMenu = FromProcessMemoryMeasurement?.Wert?.OverviewEntryMenu(); var OverviewEntryMenuFirst = OverviewEntryAndMenu?.Value?.FirstOrDefault(); var OverviewEntryMenuContainsEntryLock = null != (OverviewEntryMenuFirst?.EntryLock() ?? OverviewEntryMenuFirst?.EntryUnlock()); Int64? UpperBoundFromOverviewEntry = null; Int64? LowerBoundFromOverviewEntry = null; if (OverviewEntryMenuContainsEntryLock) { LowerBoundFromOverviewEntry = OverviewEntryAndMenu?.Key?.DistanceMin(); } else { UpperBoundFromOverviewEntry = OverviewEntryAndMenu?.Key?.DistanceMin(); } if (UpperBoundFromOverviewEntry < TargetDistanceMax) { UpperBoundFromOverviewEntry = null; } var MeasurementLowerBound = new[] { TargetDistanceMax, LowerBoundFromOverviewEntry } ?.WhereNotNullSelectValue() .MaxNullable(); var MeasurementUpperBound = UpperBoundFromOverviewEntry; if (MeasurementLowerBound.HasValue) { ListMeasurementRangeBound.Enqueue(new MeasurementBound1DIntAtTime(MeasurementLowerBound.Value, false, Time)); } if (MeasurementUpperBound.HasValue) { ListMeasurementRangeBound.Enqueue(new MeasurementBound1DIntAtTime(MeasurementUpperBound.Value, true, Time)); } // remove measurements older then 10 minutes. Bib3.Extension.DequeueEnumerator(ListMeasurementRangeBound, element => element.Time < Time - 1000 * 60 * 10); { var DriftNano = ((DriftBeginPercent * (int)1e+7) / DriftTimeToCross); var ListMeasurementRangeBoundDrifted = MappedDrift(ListMeasurementRangeBound, Time - DriftTimeToCross, DriftNano) ?.ToArray(); WertZuZaitpunktStruct<Int64>? LowerBound; WertZuZaitpunktStruct<Int64>? UpperBound; BoundComputeFromSetMeasuredBound( ListMeasurementRangeBoundDrifted, out LowerBound, out UpperBound, 2); this.RangeMin = LowerBound?.Wert; this.RangeMax = UpperBound?.Wert; } }
void CallbackMeasurementMemoryNew(FromProcessMeasurement<MemoryStruct.IMemoryMeasurement> Measurement) { MemoryMeasurementLast = Measurement.MapValue(Value => new Interface.MemoryMeasurementEvaluation( Measurement, MemoryMeasurementLast?.Value?.MemoryMeasurementAccumulation as Accumulator.MemoryMeasurementAccumulator)); }
private void MainWindow_SimulateMeasurement(IMemoryMeasurement measurement) { var time = GetTimeStopwatch(); MemoryMeasurementLast = new FromProcessMeasurement <IMemoryMeasurement>(measurement, time, time); }
public void Present(FromProcessMeasurement <MemoryStruct.IMemoryMeasurement> measurement) { Summary?.Present(measurement); Detail?.TreeView?.Präsentiire(new[] { measurement?.Value }); }
void MeasurementMemoryTake(int processId, Int64 measurementBeginTimeMinMilli) { var MeasurementRaw = SensorServerDispatcher.InterfaceAppManager.MeasurementTake(processId, measurementBeginTimeMinMilli); if (null == MeasurementRaw) return; MemoryMeasurementLast = MeasurementRaw?.MapValue(value => new Interface.MemoryMeasurementEvaluation( MeasurementRaw, MemoryMeasurementLast?.Value?.MemoryMeasurementAccumulation as Accumulator.MemoryMeasurementAccumulator)); }
static public StatusIcon.StatusEnum MemoryMeasurementLastStatusEnum( this FromProcessMeasurement <IMemoryMeasurement> measurement) => MemoryMeasurementLastStatusEnum(measurement, Bib3.Glob.StopwatchZaitMiliSictInt() - 8000);