72 lines · 4.4 KB · C#
RawDownload
//******************************************************************************************************//  DeviceStatistics.cs - Gbtc////  Copyright © 2014, Grid Protection Alliance.  All Rights Reserved.////  Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See//  the NOTICE file distributed with this work for additional information regarding copyright ownership.//  The GPA licenses this file to you under the MIT License (MIT), the "License"; you may//  not use this file except in compliance with the License. You may obtain a copy of the License at:////      http://www.opensource.org/licenses/MIT////  Unless agreed to in writing, the subject software distributed under the License is distributed on an//  "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the//  License for the specific language governing permissions and limitations.////  Code Modification History://  ----------------------------------------------------------------------------------------------------//  02/13/2014 - Stephen C. Wills//       Generated original version of source code.////****************************************************************************************************** // ReSharper disable UnusedMember.Local// ReSharper disable UnusedParameter.Localnamespace GSF.TimeSeries.Statistics{    internal class DeviceStatistics    {        // Calculates number of data quality errors reported by device during last reporting interval.        private static double GetDeviceStatistic_DataQualityErrors(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.DataQualityErrors, nameof(device.DataQualityErrors)) : 0.0D;         // Calculates number of time quality errors reported by device during last reporting interval.        private static double GetDeviceStatistic_TimeQualityErrors(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.TimeQualityErrors, nameof(device.TimeQualityErrors)) : 0.0D;         // Calculates number of device errors reported by device during last reporting interval.        private static double GetDeviceStatistic_DeviceErrors(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.DeviceErrors, nameof(device.DeviceErrors)) : 0.0D;         // Calculates number of measurements received from device during last reporting interval.        private static double GetDeviceStatistic_MeasurementsReceived(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.MeasurementsReceived, nameof(device.MeasurementsReceived)) : 0.0D;         // Calculates expected number of measurements received from device during last reporting interval.        private static double GetDeviceStatistic_MeasurementsExpected(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.MeasurementsExpected, nameof(device.MeasurementsExpected)) : 0.0D;         // Calculates expected number of measurements received while device was reporting errors during last reporting interval.        private static double GetDeviceStatistic_MeasurementsWithError(object source, string _) =>             source is IDevice device ? s_statisticValueCache.GetDifference(device, device.MeasurementsWithError, nameof(device.MeasurementsWithError)) : 0.0D;         // Calculates number of defined measurements from device during last reporting interval.        private static double GetDeviceStatistic_MeasurementsDefined(object source, string _) =>             source is IDevice device ? device.MeasurementsDefined : 0.0D;         // Calculates the difference between a device time and the average of all devices        private static double GetDeviceStatistic_DeviceTimeDeviationFromAverage(object source, string _)        {            if (source is IDevice device)            {                long deviation = GlobalDeviceStatistics.GetDeviceTimeDeviationFromAverage(device);                return deviation > long.MinValue ? new Ticks(deviation).ToSeconds() : double.NaN;            }             return double.NaN;        }         private static readonly StatisticValueStateCache s_statisticValueCache = new StatisticValueStateCache();    }}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t