public virtual IEnumerable <BenchmarkCase> GetExecutionOrder(
            ImmutableArray <BenchmarkCase> benchmarkCases,
            IEnumerable <BenchmarkLogicalGroupRule> order = null)
        {
            var benchmarkComparer = new BenchmarkComparer(categoryComparer, paramsComparer, jobComparer, targetComparer, order);
            var list = benchmarkCases.ToList();

            list.Sort(benchmarkComparer);
            return(list);
        }
        public virtual IEnumerable <IGrouping <string, BenchmarkCase> > GetLogicalGroupOrder(
            IEnumerable <IGrouping <string, BenchmarkCase> > logicalGroups,
            IEnumerable <BenchmarkLogicalGroupRule> order = null)
        {
            var benchmarkComparer    = new BenchmarkComparer(categoryComparer, paramsComparer, jobComparer, targetComparer, order);
            var logicalGroupComparer = new LogicalGroupComparer(benchmarkComparer);
            var list = logicalGroups.ToList();

            list.Sort(logicalGroupComparer);
            return(list);
        }
Exemple #3
0
        public static string GetMarkdown(string masterDir, string prDir, int prNumber, string oldCommit, string repositoryName)
        {
            var oldBranchMarkdown = $"[master](https://github.com/DataDog/{repositoryName}/tree/{oldCommit})";
            var newBranchMarkdown = $"#{prNumber}";

            var baseJsonResults = BenchmarkParser.ReadJsonResults(masterDir);
            var prJsonResults   = BenchmarkParser.ReadJsonResults(prDir);

            var comparison = BenchmarkComparer.MatchAndCompareResults(baseJsonResults, prJsonResults);

            return(BenchmarkMarkdownGenerator.GetMarkdown(comparison, oldBranchMarkdown, newBranchMarkdown));
        }