Пример #1
0
 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));
 }
Пример #3
0
 public FunctionLevelStatistics(InvocationDetails invocationDetails, TimeSeriesAdapter timeSeriesAdapter)
 {
     this.invocationDetails = invocationDetails;
     this.timeSeriesAdapter = timeSeriesAdapter;
 }