refactoring stopwatch

This commit is contained in:
bao-qian 2016-11-30 00:31:31 +00:00
parent b43c6c00bb
commit a22ca5b57f
4 changed files with 13 additions and 10 deletions

View file

@ -29,14 +29,14 @@ namespace Wox.Plugin.Program
_settingsStorage = new PluginJsonStorage<Settings>();
_settings = _settingsStorage.Load();
Stopwatch.Debug("Preload programs", () =>
Stopwatch.Normal("Preload programs", () =>
{
_cacheStorage = new BinaryStorage<ProgramIndexCache>();
_cache = _cacheStorage.Load();
_win32s = _cache.Programs;
});
Log.Info($"Preload {_win32s.Length} programs from cache");
Stopwatch.Debug("Program Index", IndexPrograms);
Stopwatch.Normal("Program Index", IndexPrograms);
}
public void Save()

View file

@ -176,7 +176,7 @@ namespace Wox.Core.Plugin
try
{
var metadata = pair.Metadata;
var milliseconds = Stopwatch.Normal($"Plugin.Query cost for {metadata.Name}", () =>
var milliseconds = Stopwatch.Debug($"Plugin.Query cost for {metadata.Name}", () =>
{
results = pair.Plugin.Query(query) ?? results;
UpdatePluginMetadata(results, metadata, query);

View file

@ -92,7 +92,7 @@ namespace Wox.Infrastructure.Image
}
Task.Run(() =>
{
Stopwatch.Debug("Preload images from cache", () =>
Stopwatch.Normal("Preload images from cache", () =>
{
_cache.TopUsedImages.AsParallel().Where(i => !ImageSources.ContainsKey(i.Key)).ForAll(i =>
{

View file

@ -11,13 +11,16 @@ namespace Wox.Infrastructure
/// <summary>
/// This stopwatch will appear only in Debug mode
/// </summary>
public static void Debug(string name, Action action)
public static long Debug(string name, Action action)
{
#if DEBUG
Normal(name, action);
#else
var stopWatch = new System.Diagnostics.Stopwatch();
stopWatch.Start();
action();
#endif
stopWatch.Stop();
var milliseconds = stopWatch.ElapsedMilliseconds;
string info = $"{name} : {milliseconds}ms";
Log.Debug(info);
return milliseconds;
}
public static long Normal(string name, Action action)
@ -28,7 +31,7 @@ namespace Wox.Infrastructure
stopWatch.Stop();
var milliseconds = stopWatch.ElapsedMilliseconds;
string info = $"{name} : {milliseconds}ms";
Log.Debug(info);
Log.Info(info);
return milliseconds;
}