public GenerateFunctionDetails(List <InvocationDetails> functionActivationRecords, SortedDictionary <int, List <long> > timestamps, TimeSeriesAdapter timeSeriesAdapter, ISyntaxEntity function) { this.functionActivationRecords = functionActivationRecords; this.timestamps = timestamps; this.function = function; this.timeSeriesAdapter = timeSeriesAdapter; AverageInvocationRecords(); GetFunctionLevelStatistics(); }
public string MakeFunctionsLevelDetailsJSON(TimeSeriesAdapter timeSeriesAdapter) { functionsList = GetFunctions(); functionLevelDetails = new SortedDictionary <long, FunctionDetailsObject>(); foreach (var function in functionsList) { try { long functionHash = new FunctionSignature(function).GetHashCode(); FunctionActivationRecords records = new FunctionActivationRecords(timestamps[function.Location.StartLineNumber + 1], timestamps[function.Location.EndLineNumber]); GenerateFunctionDetails generatorObject = new GenerateFunctionDetails(records.GetInvocationDetails(), timestamps, timeSeriesAdapter, function); FunctionDetailsObject functionDetailsObject = generatorObject.GetFunctionDetailsObject(); functionLevelDetails.Add(functionHash, functionDetailsObject); } catch (Exception e) { Debug.WriteLine(e); } } return(JsonConvert.SerializeObject(functionLevelDetails)); }
public FunctionLevelStatistics(InvocationDetails invocationDetails, TimeSeriesAdapter timeSeriesAdapter) { this.invocationDetails = invocationDetails; this.timeSeriesAdapter = timeSeriesAdapter; }