private void ReadVoltage() { MeasurementResult result = new MeasurementResult(); MeasureAntennaInternal(result, eMeasurementType.HFAntenna); AntennaVoltage = result.vHF; }
public MeasurementResult Measure() { using (var remoteObjectServer = new EloquentServer($"{_scheme}://127.0.0.1:50000")) using (var remoteObjectClient = new EloquentClient($"{_scheme}://127.0.0.1:50000", $"{_scheme}://127.0.0.1:50001")) { remoteObjectServer.Add <IBenchmarkObject>("endpoint1", new BenchmarkObject()); var benchmarkObj = remoteObjectClient.Connect <IBenchmarkObject>("endpoint1"); var parameter = new Parameter { Parameter1 = new InnerParameter1 { Parameter2 = new InnerParameter2 { Parameter3 = new InnerParameter3 { IntValue = 123, BoolValue = false, DoubleValue = 123.123, StringValue = "123" } } } }; return(MeasurementResult.Measure($"EloquentObjects: One-way calls with parameter with {_scheme}", () => { for (var i = 0; i < _iterations; i++) { benchmarkObj.OneWayCallWithParameter(parameter); } })); } }
public static void Link(Result result, MeasurementResult measurementResult) { result.MeasurementResult = measurementResult; measurementResult.Result = result; measurementResult.ResultID = result.ResultID; }
public void AddToQueue(MeasurementResult result) { if (result != null) { resultQueue.Enqueue(result); } }
public MeasurementResult Measure() { var binding = _scheme == "net.tcp" ? (Binding) new NetTcpBinding() : new NetNamedPipeBinding(); var benchmarkService = new BenchmarkService(); var serviceHost = new ServiceHost(benchmarkService, new Uri($"{_scheme}://127.0.0.1/Benchmarks")); serviceHost.AddServiceEndpoint(typeof(IBenchmarkService), binding, $"{_scheme}://127.0.0.1/Benchmarks"); serviceHost.Open(); var channelFactory = new DuplexChannelFactory <IBenchmarkService>(new InstanceContext(new BenchmarkCallback()), binding, new EndpointAddress($"{_scheme}://127.0.0.1/Benchmarks")); var channel = channelFactory.CreateChannel(); var result = MeasurementResult.Measure($"WCF: One-way calls with {_scheme}", () => { for (var i = 0; i < _iterations; i++) { channel.OneWayCall(); } }); ((IClientChannel)channel).Close(); serviceHost.Close(); return(result); }
public void Setup() { var measurementResultValue = new MeasurementResultValue(); measurementResultValue.DataValue = MeasurementValue; var measurementResult = new MeasurementResult(); measurementResult.MeasurementResultValues.Add(measurementResultValue); var result = new Result(); result.ResultDateTime = DateTime.Today; result.MeasurementResult = measurementResult; var samplingFeature = new SamplingFeature(); samplingFeature.SamplingFeatureTypeCV = "Specimen"; var featureAction = new FeatureAction(); featureAction.SamplingFeature = samplingFeature; featureAction.Results.Add(result); var action = new Core.Action(); action.ActionID = ActionId; action.FeatureActions.Add(featureAction); var actions = new List<Core.Action>(); actions.Add(action); supportedData = actions; var mockVersionHelper = new Mock<IDataVersioningHelper>(); mockVersionHelper.Setup(x => x.GetLatestVersionActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(action); mockVersionHelper.Setup(x => x.CloneActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(cloneAction(action)); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); testTool = new ChemistryValueCheckingTool(mockVersionHelper.Object, mockRepository.Object); mockChemistryValueCheckingRule = new Mock<ChemistryValueCheckingRule>(); }
public void Write(MeasurementResult result) { long lastTimestamp = ReadLastTimestamp(result.Settings.OutputFile); long resultTime = DateTime.Parse(result.Values[0]).ToFileTimeUtc(); if (resultTime <= lastTimestamp) { return; } string currentContent = GetCurrentContent(result.Settings.OutputFile); using (FileStream fs = new FileStream(result.Settings.OutputFile, FileMode.OpenOrCreate)) { using (StreamWriter sw = new StreamWriter(fs)) { string line = String.Join(";", result.Values); Logger.Log(LogLevel.Info, line); sw.WriteLine(line); if (currentContent != String.Empty) { sw.WriteLine(currentContent); } } } }
private void WriteQueue() { while (resultQueue.Count > 0) { MeasurementResult result = resultQueue.Dequeue(); statusModel.StatusMessage = String.Join(";", result.Values); resultWriter.Write(result); } }
public MeasurementResult Measure() { using (var remoteObjectServer = new EloquentServer($"{_scheme}://127.0.0.1:50000", new EloquentSettings { HeartBeatMs = 1000, MaxHeartBeatLost = 5, ReceiveTimeout = 1000, SendTimeout = 1000 })) { var benchmarkObject = new BenchmarkObject(); remoteObjectServer.Add <IBenchmarkObject>("endpoint1", benchmarkObject); //Create Clients var clients = new EloquentClient[_numberOfEventClients]; var connections = new IBenchmarkObject[_numberOfEventClients]; var autoResetEvent = new AutoResetEvent(false); for (var i = 0; i < _numberOfEventClients; i++) { clients[i] = new EloquentClient($"{_scheme}://127.0.0.1:50000", $"{_scheme}://127.0.0.1:6000{i}", new EloquentSettings { HeartBeatMs = 1000, SendTimeout = 1000, ReceiveTimeout = 10000 }); connections[i] = clients[i].Connect <IBenchmarkObject>("endpoint1"); connections[i].EventOccurred += last => { if (last) { autoResetEvent.Set(); } }; } var result = MeasurementResult.Measure($"EloquentObjects: Events with {_scheme}", () => { benchmarkObject.StartEvents(_iterations / _numberOfEventClients); autoResetEvent.WaitOne(); }); //Dispose clients for (var i = 0; i < _numberOfEventClients; i++) { clients[i].Dispose(); } return(result); } }
public async Task <TotalMeasurementResult> Measure(int sampleSize, int minNumberOfDataPoints, int maxNumberOfDataPoints, int stepSize, bool applyCompression, string compressionType) { double transferTime = 0; double deserializationTime = 0; TotalMeasurementResult totalMeasurementResult = new TotalMeasurementResult(); for (var i = minNumberOfDataPoints; i <= maxNumberOfDataPoints; i += stepSize) { MeasurementResult measurementResult = new MeasurementResult(); for (int j = 0; j < sampleSize; j++) { //Streaming System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); HttpResponseMessage responseMessage = await base.MakeRequestAsync(i, applyCompression, compressionType); if (responseMessage.IsSuccessStatusCode) { var packet = await responseMessage.Content.ReadAsStreamAsync(); stopwatch.Stop(); transferTime += stopwatch.ElapsedMilliseconds; stopwatch.Reset(); int length = Convert.ToInt32(packet.Length); byte[] data = new byte[length]; packet.Read(data, 0, length); packet.Close(); //Deserialization stopwatch.Start(); TimeSeriesData[] timeSeries = FlatBufferSerializer.Default.Parse <TimeSeriesData[]>(new ArrayInputBuffer(data)); stopwatch.Stop(); deserializationTime += stopwatch.ElapsedMilliseconds; stopwatch.Reset(); } } measurementResult.DataPoints = i; measurementResult.TransferAndSerializationTime = transferTime / sampleSize; measurementResult.DeserializationTime = deserializationTime / sampleSize; totalMeasurementResult.ResultList.Add(measurementResult); } return(totalMeasurementResult); }
private MeasurementResult CloneMeasurementResult(MeasurementResult previousVersionMeasurementResult, Result newVersionResult) { if (previousVersionMeasurementResult == null) { return(null); } else { var newVersionMeasurementResult = new MeasurementResult(); newVersionMeasurementResult.Result = newVersionResult; newVersionMeasurementResult.AggregationStatisticCV = previousVersionMeasurementResult.AggregationStatisticCV; newVersionMeasurementResult.CV_AggregationStatistic = previousVersionMeasurementResult.CV_AggregationStatistic; newVersionMeasurementResult.CensorCodeCV = previousVersionMeasurementResult.CensorCodeCV; newVersionMeasurementResult.CV_CensorCode = previousVersionMeasurementResult.CV_CensorCode; newVersionMeasurementResult.QualityCodeCV = previousVersionMeasurementResult.QualityCodeCV; newVersionMeasurementResult.CV_QualityCode = previousVersionMeasurementResult.CV_QualityCode; newVersionMeasurementResult.SpatialReference = previousVersionMeasurementResult.SpatialReference; newVersionMeasurementResult.SpatialReferenceID = previousVersionMeasurementResult.SpatialReferenceID; newVersionMeasurementResult.TimeAggregationInterval = previousVersionMeasurementResult.TimeAggregationInterval; newVersionMeasurementResult.TimeAggregationIntervalUnitsID = previousVersionMeasurementResult.TimeAggregationIntervalUnitsID; newVersionMeasurementResult.Unit = previousVersionMeasurementResult.Unit; newVersionMeasurementResult.Unit1 = previousVersionMeasurementResult.Unit1; newVersionMeasurementResult.Unit2 = previousVersionMeasurementResult.Unit2; newVersionMeasurementResult.Unit3 = previousVersionMeasurementResult.Unit3; newVersionMeasurementResult.XLocation = previousVersionMeasurementResult.XLocation; newVersionMeasurementResult.XLocationUnitsID = previousVersionMeasurementResult.XLocationUnitsID; newVersionMeasurementResult.YLocation = previousVersionMeasurementResult.YLocation; newVersionMeasurementResult.YLocationUnitsID = previousVersionMeasurementResult.YLocationUnitsID; newVersionMeasurementResult.ZLocation = previousVersionMeasurementResult.ZLocation; newVersionMeasurementResult.ZLocationUnitsID = previousVersionMeasurementResult.ZLocationUnitsID; if (previousVersionMeasurementResult.MeasurementResultValues != null) { newVersionMeasurementResult.MeasurementResultValues = new List <MeasurementResultValue>(); foreach (var previousMeasurementResultValue in previousVersionMeasurementResult.MeasurementResultValues) { var newMeasurementResultValue = new MeasurementResultValue(); newMeasurementResultValue.MeasurementResult = newVersionMeasurementResult; newMeasurementResultValue.DataValue = previousMeasurementResultValue.DataValue; newMeasurementResultValue.ValueDateTime = previousMeasurementResultValue.ValueDateTime; newMeasurementResultValue.ValueDateTimeUTCOffset = previousMeasurementResultValue.ValueDateTimeUTCOffset; newVersionMeasurementResult.MeasurementResultValues.Add(newMeasurementResultValue); } } return(newVersionMeasurementResult); } }
private bool MeasureAntennaInternal(MeasurementResult result, eMeasurementType type = eMeasurementType.Both) { if (Port == null) { return(false); } Pm3UsbCommand cmd = new Pm3UsbCommand(0x400, (ulong)type); LogWindow.Log(LogWindow.eLogLevel.Debug, "[PM3] MeasureAntenna: Start"); cmd.Write(Port); while (true) { Pm3UsbResponse response = new Pm3UsbResponse(Port); switch (response.Cmd) { case Pm3UsbResponse.eResponseType.DebugString: { string debugStr = Encoding.UTF8.GetString(response.data.d, 0, response.data.dataLen); LogWindow.Log(LogWindow.eLogLevel.Debug, "[PM3] MeasureAntenna: DebugMessage '" + debugStr + "'"); break; } case Pm3UsbResponse.eResponseType.NoData: case Pm3UsbResponse.eResponseType.Timeout: LogWindow.Log(LogWindow.eLogLevel.Debug, "[PM3] MeasureAntenna: timeout"); continue; case Pm3UsbResponse.eResponseType.MeasuredAntennaTuning: result.vLF125 = (response.data.arg[0] & 0xFFFF) * 0.002f; result.vLF134 = ((response.data.arg[0] >> 16) & 0xFFFF) * 0.002f; result.vHF = (response.data.arg[1] & 0xFFFF) / 1000.0f; result.peakF = (response.data.arg[2] & 0xFFFF); result.peakV = ((response.data.arg[0] >> 16) & 0xFFFF) * 0.002f; Array.Copy(response.data.d, result.amplitudes, 256); return(true); default: LogWindow.Log(LogWindow.eLogLevel.Debug, "[PM3] MeasureAntenna: Unhandled: " + response.Cmd); break; } } }
public MeasurementResult Measure() { using (var remoteObjectServer = new EloquentServer($"{_scheme}://127.0.0.1:50000")) using (var remoteObjectClient = new EloquentClient($"{_scheme}://127.0.0.1:50000", $"{_scheme}://127.0.0.1:50001")) { remoteObjectServer.Add <IBenchmarkObject>("endpoint1", new BenchmarkObject()); var benchmarkObj = remoteObjectClient.Connect <IBenchmarkObject>("endpoint1"); return(MeasurementResult.Measure($"EloquentObjects: One-way calls with {_scheme}", () => { for (var i = 0; i < _iterations; i++) { benchmarkObj.OneWayCall(); } })); } }
internal MeasurementResult MeasureAntenna(eMeasurementType type = eMeasurementType.Both) { MeasurementResult result = new MeasurementResult(); if (Port == null) { return(null); } StopThread(); lock (ReaderLock) { MeasureAntennaInternal(result, type); } StartThread(); return(result); }
public MainWindow() { InitializeComponent(); ImageInfo = new ImageInformation(); DisplayControl = new DisplayParameters(); IsLeftMouseButtonDown = false; ButtonImageManipulation.IsChecked = false; DetectionResults = new DetectionResult(); MeasurementResults = new MeasurementResult(); DataGridMeasurementResult.ItemsSource = MeasurementResults.Result; DataGridDetectionResult.ItemsSource = DetectionResults.Result; backgroundWorker = new BackgroundWorker() { WorkerSupportsCancellation = true, WorkerReportsProgress = true }; backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork); backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted); backgroundWorker.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker_ProgressChanged); }
private static string GetModalInfo(MeasurementResult benchmark) { if (benchmark == null || benchmark.Modality == Modality.Unknown) // not enough data to tell { return(null); } if (benchmark.Modality == Modality.Multimodal) { return("multimodal"); } if (benchmark.Modality == Modality.Bimodal) { return("bimodal"); } if (benchmark.Modality == Modality.Several) { return("several?"); } return(null); }
public static void Link(MeasurementResult measurementResult, Unit unit) { measurementResult.Unit = unit; unit.MeasurementResults.Add(measurementResult); }
private Core.Action cloneAction(Core.Action action) { var measurementResultValueClone = new MeasurementResultValue(); measurementResultValueClone.DataValue = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault() .MeasurementResult.MeasurementResultValues.FirstOrDefault().DataValue; var measurementResultClone = new MeasurementResult(); measurementResultClone.MeasurementResultValues.Add(measurementResultValueClone); var resultClone = new Result(); resultClone.ResultDateTime = action.FeatureActions.FirstOrDefault().Results.FirstOrDefault().ResultDateTime; resultClone.MeasurementResult = measurementResultClone; var samplingFeatureClone = new SamplingFeature(); samplingFeatureClone.SamplingFeatureTypeCV = action.FeatureActions.FirstOrDefault().SamplingFeature.SamplingFeatureTypeCV; var featureActionClone = new FeatureAction(); featureActionClone.SamplingFeature = samplingFeatureClone; featureActionClone.Results.Add(resultClone); var actionClone = new Core.Action(); actionClone.FeatureActions.Add(featureActionClone); return actionClone; }
public static void Link(MeasurementResult measurementResult, MeasurementResultValue measurementResultValue) { measurementResult.MeasurementResultValues.Add(measurementResultValue); measurementResultValue.MeasurementResult = measurementResult; }
/// <summary> /// Gets the diff/base or base/diff ratio depending on which is better. /// </summary> /// <param name="conclusion">The conclusion of the result.</param> /// <param name="baseResult">The measured result of the base report.</param> /// <param name="diffResult">The measured result of the diff report.</param> /// <returns>The ratio between the worse result and the better result.</returns> public static double GetRatio(ComparisonConclusion conclusion, MeasurementResult baseResult, MeasurementResult diffResult) => conclusion == ComparisonConclusion.Better ? baseResult.Result / diffResult.Result : diffResult.Result / baseResult.Result;
public static async Task <MeasurementResult> Proxy(Stamp stamp) { if (stamp == null) { return(null); } var measurement = new MeasurementResult { Stamp = stamp }; try { var request = new ClientRequest(stamp.Address, stamp.Port); request.Questions.Add(new Question(Domain.FromString(stamp.ProviderName), RecordType.TXT)); request.RecursionDesired = true; var sw = Stopwatch.StartNew(); var response = await request.Resolve().ConfigureAwait(false); sw.Stop(); if (response != null) { foreach (var answerRecord in response.AnswerRecords) { var certificates = new List <Certificate>(); var tr = Encoding.ASCII.GetString(ArrayHelper.SubArray(answerRecord.Data, 0, 9)); if (tr.Equals("|DNSC\0\u0001\0\0") || tr.Equals("|DNSC\0\u0002\0\0")) { var certificate = ExtractCertificate(ArrayHelper.SubArray(answerRecord.Data, 9), Converters.StringToByteArray(stamp.PublicKey)); if (certificate != null) { if (certificate.Valid) { certificates.Add(certificate); } } } if (certificates.Count > 0) { var newestCertificate = certificates.OrderByDescending(item => item.Serial).FirstOrDefault(); if (newestCertificate != null) { measurement.Certificate = newestCertificate; measurement.Failed = false; } else { measurement.Failed = true; } } else { measurement.Failed = true; } } measurement.Time = sw.ElapsedMilliseconds; } } catch (Exception) { measurement.Failed = true; } return(measurement); }
public static MeasurementResultViewModel ToViewModel(this MeasurementResult input) { return(new MeasurementResultViewModel(input.Url, input.MinTime.TotalSeconds, input.MaxTime.TotalSeconds)); }
public async Task <TotalMeasurementResult> Measure(int sampleSize, int minNumberOfDataPoints, int maxNumberOfDataPoints, int stepSize, bool applyCompression, string compressionType) { double transferTime = 0; double deserializationTime = 0; string contentEncoding = ""; Stream responseStream = null; double fileSize = 0; TotalMeasurementResult totalMeasurementResult = new TotalMeasurementResult(); for (var i = minNumberOfDataPoints; i <= maxNumberOfDataPoints; i += stepSize) { MeasurementResult measurementResult = new MeasurementResult(); for (int j = 0; j < sampleSize; j++) { //Streaming System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); HttpResponseMessage responseMessage = await base.MakeRequestAsync(i, applyCompression, compressionType); contentEncoding = responseMessage.Content.Headers.ContentEncoding.ToString(); if (responseMessage.IsSuccessStatusCode) { var packet = await responseMessage.Content.ReadAsStreamAsync(); stopwatch.Stop(); transferTime += stopwatch.ElapsedMilliseconds; stopwatch.Reset(); fileSize += packet.Length; stopwatch.Start(); //Decompression if compressed if (contentEncoding.ToLower().Contains("gzip")) { responseStream = new GZipStream(packet, CompressionMode.Decompress); } else if (contentEncoding.ToLower().Contains("deflate")) { responseStream = new DeflateStream(packet, CompressionMode.Decompress); } else if (contentEncoding.ToLower().Contains("br")) { var s = new BrotliStream(packet, CompressionMode.Decompress, true); responseStream = new MemoryStream(); s.CopyTo(responseStream); } else { responseStream = packet; } //Deserialization using (BsonReader reader = new BsonReader(responseStream)) { reader.ReadRootValueAsArray = true; JsonSerializer bsonDeserializer = new JsonSerializer(); TimeSeriesData[] timeSeries = bsonDeserializer.Deserialize <TimeSeriesData[]>(reader); stopwatch.Stop(); deserializationTime += stopwatch.ElapsedMilliseconds; stopwatch.Reset(); } } } measurementResult.DataPoints = i; measurementResult.TransferAndSerializationTime = transferTime / sampleSize; measurementResult.DeserializationTime = deserializationTime / sampleSize; measurementResult.FileSize = fileSize / sampleSize; totalMeasurementResult.ResultList.Add(measurementResult); } return(totalMeasurementResult); }
public void Display(MeasurementResult value) { _sender.Send(value.ToViewModel()); }
private MeasurementResult CloneMeasurementResult(MeasurementResult previousVersionMeasurementResult, Result newVersionResult) { if (previousVersionMeasurementResult == null) { return null; } else { var newVersionMeasurementResult = new MeasurementResult(); newVersionMeasurementResult.Result = newVersionResult; newVersionMeasurementResult.AggregationStatisticCV = previousVersionMeasurementResult.AggregationStatisticCV; newVersionMeasurementResult.CV_AggregationStatistic = previousVersionMeasurementResult.CV_AggregationStatistic; newVersionMeasurementResult.CensorCodeCV = previousVersionMeasurementResult.CensorCodeCV; newVersionMeasurementResult.CV_CensorCode = previousVersionMeasurementResult.CV_CensorCode; newVersionMeasurementResult.QualityCodeCV = previousVersionMeasurementResult.QualityCodeCV; newVersionMeasurementResult.CV_QualityCode = previousVersionMeasurementResult.CV_QualityCode; newVersionMeasurementResult.SpatialReference = previousVersionMeasurementResult.SpatialReference; newVersionMeasurementResult.SpatialReferenceID = previousVersionMeasurementResult.SpatialReferenceID; newVersionMeasurementResult.TimeAggregationInterval = previousVersionMeasurementResult.TimeAggregationInterval; newVersionMeasurementResult.TimeAggregationIntervalUnitsID = previousVersionMeasurementResult.TimeAggregationIntervalUnitsID; newVersionMeasurementResult.Unit = previousVersionMeasurementResult.Unit; newVersionMeasurementResult.Unit1 = previousVersionMeasurementResult.Unit1; newVersionMeasurementResult.Unit2 = previousVersionMeasurementResult.Unit2; newVersionMeasurementResult.Unit3 = previousVersionMeasurementResult.Unit3; newVersionMeasurementResult.XLocation = previousVersionMeasurementResult.XLocation; newVersionMeasurementResult.XLocationUnitsID = previousVersionMeasurementResult.XLocationUnitsID; newVersionMeasurementResult.YLocation = previousVersionMeasurementResult.YLocation; newVersionMeasurementResult.YLocationUnitsID = previousVersionMeasurementResult.YLocationUnitsID; newVersionMeasurementResult.ZLocation = previousVersionMeasurementResult.ZLocation; newVersionMeasurementResult.ZLocationUnitsID = previousVersionMeasurementResult.ZLocationUnitsID; if(previousVersionMeasurementResult.MeasurementResultValues != null) { newVersionMeasurementResult.MeasurementResultValues = new List<MeasurementResultValue>(); foreach(var previousMeasurementResultValue in previousVersionMeasurementResult.MeasurementResultValues) { var newMeasurementResultValue = new MeasurementResultValue(); newMeasurementResultValue.MeasurementResult = newVersionMeasurementResult; newMeasurementResultValue.DataValue = previousMeasurementResultValue.DataValue; newMeasurementResultValue.ValueDateTime = previousMeasurementResultValue.ValueDateTime; newMeasurementResultValue.ValueDateTimeUTCOffset = previousMeasurementResultValue.ValueDateTimeUTCOffset; newVersionMeasurementResult.MeasurementResultValues.Add(newMeasurementResultValue); } } return newVersionMeasurementResult; } }