LogValueLimit 类 |
命名空间: HslCommunication.LogNet
LogValueLimit 类型公开以下成员。
名称 | 说明 | |
---|---|---|
LogValueLimit |
实例化一个新的数据统计内容,需要指定当前的时间统计方式,按小时,按天,按月等等,还需要指定统计的数据数量,比如按天统计30天。 To instantiate a new data statistics content, you need to specify the current time statistics method, by hour, by day, by month, etc., and also need to specify the number of statistics, such as 30 days by day. |
名称 | 说明 | |
---|---|---|
ArrayLength |
获取当前的统计类信息的数据总量 (继承自 LogStatisticsBaseT。)Get the total amount of current statistical information | |
GenerateMode |
获取当前的统计类信息时间统计规则 (继承自 LogStatisticsBaseT。)Get the current statistical information time statistics rule | |
ValueCount |
当前设置数据的总的数量 The total amount of data currently set |
名称 | 说明 | |
---|---|---|
AnalysisNewValue |
新增一个数据用于分析,将会根据当前的时间来决定插入数据位置,如果数据位置发生了变化,则数据向左发送移动。如果没有移动或是移动完成后,最后一个数进行数据更新,包括最大值,最小值,平均值。 Add a new data for analysis, and will determine the position to insert the data according to the current time. If the data position changes, the data will be sent to the left. If there is no movement or after the movement is completed, data update for the last number, including maximum, minimum, and average. | |
AnalysisNewValueByTime |
新增一个数据用于分析,将会指定的时间来决定插入数据位置,如果数据位置发生了变化,则数据向左发送移动。如果没有移动或是移动完成后,最后一个数进行数据更新,包括最大值,最小值,平均值。 dd a new data for analysis, and will determine the position to insert the data according to the specified time. If the data position changes, the data will be sent to the left. If there is no movement or after the movement is completed, data update for the last number, including maximum, minimum, and average. | |
Equals | Determines whether the specified object is equal to the current object. (继承自 Object。) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (继承自 Object。) | |
GetDataMarkFromDateTime |
根据指定的时间,获取到该时间指定的数据标记信息 (继承自 LogStatisticsBaseT。)According to the specified time, get the data mark information specified at that time | |
GetDataMarkFromTimeNow |
根据当前数据统计的时间模式,获取最新的数据标记信息 (继承自 LogStatisticsBaseT。)Obtain the latest data mark information according to the time mode of current data statistics | |
GetHashCode | Serves as the default hash function. (继承自 Object。) | |
GetStatisticsSnapAndDataMark |
获取当前的统计信息的数据快照,这是数据的副本,修改了里面的值不影响 (继承自 LogStatisticsBaseT。)Get a data snapshot of the current statistics. This is a copy of the data. Modifying the value inside does not affect | |
GetStatisticsSnapshot |
获取当前的统计信息的数据快照,这是数据的副本,修改了里面的值不影响 (继承自 LogStatisticsBaseT。)Get a data snapshot of the current statistics. This is a copy of the data. Modifying the value inside does not affect | |
GetStatisticsSnapshotByTime |
根据指定的时间范围来获取统计的数据信息快照,包含起始时间,包含结束时间,这是数据的副本,修改了里面的值不影响 (继承自 LogStatisticsBaseT。)Get a snapshot of statistical data information according to the specified time range, including the start time, also the end time. This is a copy of the data. Modifying the value inside does not affect | |
GetType | Gets the Type of the current instance. (继承自 Object。) | |
LoadFromBinary |
从二进制的数据内容加载,会对数据的合法性进行检查,如果数据不匹配,会报异常 Loading from the binary data content will check the validity of the data. If the data does not match, an exception will be reported | |
LoadFromFile |
从指定的文件加载对应的统计信息,通常是调用SaveToFile(String)方法存储的文件,如果文件不存在,将会跳过加载 Load the corresponding statistical information from the specified file, usually the file stored by calling the SaveToFile(String) method. If the file does not exist, the loading will be skipped | |
MemberwiseClone | Creates a shallow copy of the current Object. (继承自 Object。) | |
Reset |
重置当前的统计信息,需要指定统计的数据内容,最后一个数据的标记信息,本方法主要用于还原统计信息 (继承自 LogStatisticsBaseT。)To reset the current statistical information, you need to specify the content of the statistical data, and the tag information of the last data. This method is mainly used to restore statistical information | |
SaveToBinary |
将当前所有的数据都写入到二进制的内存里去,可以用来写入文件或是网络发送。 Write all current data into binary memory, which can be used to write files or send over the network. | |
SaveToFile |
将当前的统计信息及数据内容写入到指定的文件里面,需要指定文件的路径名称 Write the current statistical information and data content to the specified file, you need to specify the path name of the file | |
StatisticsCustomAction(FuncT, T) |
新增一个统计信息,将会根据当前的时间来决定插入数据位置,如果数据位置发生了变化,则数据向左发送移动。如果没有移动或是移动完成后,最后一个数进行自定义的数据操作 (继承自 LogStatisticsBaseT。)Adding a new statistical information will determine the position to insert the data according to the current time. If the data position changes, the data will be sent to the left. If there is no movement or after the movement is completed, Custom data operations on the last number | |
StatisticsCustomAction(FuncT, T, DateTime) |
新增一个统计信息,将会根据当前的时间来决定插入数据位置,如果数据位置发生了变化,则数据向左发送移动。如果没有移动或是移动完成后,最后一个数进行自定义的数据操作 (继承自 LogStatisticsBaseT。)Adding a new statistical information will determine the position to insert the data according to the current time. If the data position changes, the data will be sent to the left. If there is no movement or after the movement is completed, Custom data operations on the last number | |
ToString | Returns a string that represents the current object. (重写 ObjectToString.) |
名称 | 说明 | |
---|---|---|
generateMode |
当前的实际模式
(继承自 LogStatisticsBaseT。) |
名称 | 说明 | |
---|---|---|
ToJsonString |
获取当前对象的JSON格式表示的字符串。 (由 HslExtension 定义。)Gets the string represented by the JSON format of the current object. |
/// <summary> /// 定义一个缓存60天统计的信息内容,假设我们要统计最近60天每天温度数据的最大值,最小值,平均值,起始值,结束值,数据量<br /> /// Define a cache for 60 days of statistical information content, suppose we want to count the maximum, minimum, average, start value, end value, data volume of the daily temperature data for the last 60 days /// </summary> public LogValueLimit logValueLimit = new LogValueLimit( GenerateMode.ByEveryDay, 60 ); /// <summary> /// 假设我们有的需求,需要统计每天温度数据的最大值,最小值,平均值,起始值,结束值,数据量<br /> /// Assuming that we have a demand, we need to count the maximum, minimum, average, start value, end value, and data volume of daily temperature data /// </summary> public void Example( ) { // 这里获取了温度信息,然后一直给logValueLimit赋值即可,内部自动会按照时间统计 double temperature = 30.4d; logValueLimit.AnalysisNewValue( temperature ); } // 然后你就可以在其他的任何地方,其他线程里获取到当前的最新的long数组 public void AAA( ) { ValueLimit[] data = logValueLimit.GetStatisticsSnapshot( ); // 可以用于显示,然后监视系统的基本情况 返回30个数组长度的ValueLimit[] // 当然我也可以获取指定日期的数据范围信息 ValueLimit[] data2 = logValueLimit.GetStatisticsSnapshotByTime( new DateTime( 2020, 12, 10 ), new DateTime( 2020, 12, 19 ) ); // 这样data2是10个长度的数据 }
// 如果需要对数据进行保存 logValueLimit.SaveToFile( "D:\\123.txt" ); // 当你系统启动的是,需要加载旧的数据信息 logValueLimit.LoadFromFile( "D:\\123.txt" );