- 需求分析:依据程序运行输出的日志,计算某个操作的耗时时间。
- 解决方案: 根据日志打印的时间戳来统计某个操作的耗时的平均值,最大值等。
代码如下。
public class CDataInfo
{
/// <summary>
/// 开始时间
/// </summary>
public string descHead;
/// <summary>
/// 结束时间
/// </summary>
public string descEnd;
/// <summary>
/// 时长
/// </summary>
public double timespan=0;
public void Clear()
{
this.descHead = "";
this.descEnd = "";
this.timespan = 0;
}
public void GetSpan()
{
try
{
//16:13:40:122---时间格式
//DateTime time1 = DateTime.ParseExact(descHead, "HH:mm:ss:fff", null);
//DateTime time2 = DateTime.ParseExact(descEnd, "HH:mm:ss:fff", null);
//2022.01.11 10:45:47---时间格式
DateTime time1 = DateTime.ParseExact(descHead, "yyyy.MM.dd HH:mm:ss", null);
DateTime time2 = DateTime.ParseExact(descEnd, "yyyy.MM.dd HH:mm:ss", null);
TimeSpan ts1 = new TimeSpan(time1.Ticks);
TimeSpan ts2 = new TimeSpan(time2.Ticks);
timespan = ts1.Subtract(ts2).Duration().TotalMilliseconds;
}
catch(Exception ex)
{
throw (ex);
}
}
}