public Filter(LogExpert.ColumnizerCallback callback) { _callback = callback; FilterResultLines = new List<int>(); LastFilterLinesList = new List<int>(); FilterHitList = new List<int>(); }
public Filter(LogExpert.ColumnizerCallback callback) { _callback = callback; FilterResultLines = new List <int>(); LastFilterLinesList = new List <int>(); FilterHitList = new List <int>(); }
private Filter DoWork(FilterParams filterParams, int startLine, int maxCount, ProgressCallback progressCallback) { Logger.logInfo(string.Format("Started Filter worker [{0}] for line {1}", Thread.CurrentThread.ManagedThreadId, startLine)); // Give every thread own copies of ColumnizerCallback and FilterParams, because the state of the objects changes while filtering FilterParams threadFilterParams = filterParams.CreateCopy2(); LogExpert.ColumnizerCallback threadColumnizerCallback = _callback.createCopy(); Filter filter = new Filter(threadColumnizerCallback); lock (_filterWorkerList) { _filterWorkerList.Add(filter); } if (_shouldStop) { return(filter); } int realCount = filter.DoFilter(threadFilterParams, startLine, maxCount, progressCallback); Logger.logInfo(string.Format("Filter worker [{0}] for line {1} has completed.", Thread.CurrentThread.ManagedThreadId, startLine)); lock (_filterReadyList) { _filterReadyList.Add(filter); } return(filter); }
public FilterStarter(LogExpert.ColumnizerCallback callback, int minThreads) { _callback = callback; FilterResultLines = new List<int>(); LastFilterLinesList = new List<int>(); FilterHitList = new List<int>(); ThreadCount = Environment.ProcessorCount * 4; ThreadCount = minThreads; int worker; int completion; ThreadPool.GetMinThreads(out worker, out completion); ThreadPool.SetMinThreads(minThreads, completion); ThreadPool.GetMaxThreads(out worker, out completion); }
public FilterStarter(LogExpert.ColumnizerCallback callback, int minThreads) { _callback = callback; FilterResultLines = new List <int>(); LastFilterLinesList = new List <int>(); FilterHitList = new List <int>(); ThreadCount = Environment.ProcessorCount * 4; ThreadCount = minThreads; int worker; int completion; ThreadPool.GetMinThreads(out worker, out completion); ThreadPool.SetMinThreads(minThreads, completion); ThreadPool.GetMaxThreads(out worker, out completion); }
internal string[] GetColumnsForLine(LogfileReader logFileReader, int lineNumber, ILogLineColumnizer columnizer, LogExpert.ColumnizerCallback columnizerCallback) { if (_lastColumnizer != columnizer || _lastLineNumber != lineNumber || _cachedColumns == null || columnizerCallback.LineNum != lineNumber) { _lastColumnizer = columnizer; _lastLineNumber = lineNumber; string line = logFileReader.GetLogLineWithWait(lineNumber); if (line != null) { columnizerCallback.LineNum = lineNumber; _cachedColumns = columnizer.SplitLine(columnizerCallback, line); } else { _cachedColumns = null; } } return(_cachedColumns); }
public RangeFinder(FilterParams filterParams, LogExpert.ColumnizerCallback callback) { _filterParams = filterParams.CreateCopy2(); _callback = callback; }