Example #1
0
        private static void PopulateAllJobInfos(DataClient dataClient)
        {
            var roslynClient = new RoslynClient();
            var client = roslynClient.Client;
            foreach (var name in roslynClient.GetJobNames())
            {
                List<JobId> jobs;
                try
                {
                    jobs = client.GetJobIds(name);
                }
                catch
                {
                    Console.WriteLine($"Can't get jobs for {name}");
                    continue;
                }

                foreach (var id in jobs)
                {
                    try
                    {
                        Console.Write($"Processing {id.Id} {id.Name} ... ");
                        var info = client.GetJobInfo(id);
                        dataClient.InsertJobInfo(info);
                        Console.WriteLine("Done");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("ERROR!!!");
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }
Example #2
0
        private static void PopulateAllFailures(DataClient dataClient)
        {
            /*
            var client = new JenkinsClient();
            foreach (var id in client.GetJobIds())
            {
                try
                {
                    Console.Write($"Processing {id.Id} {id.Kind} ... ");
                    var jobResult = client.GetJobResult(id);
                    if (!jobResult.Failed)
                    {
                        Console.WriteLine("Succeeded");
                        continue;
                    }

                    dataClient.InsertFailure(jobResult.JobInfo, jobResult.FailureInfo);

                    Console.WriteLine("Done");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("ERROR!!!");
                    Console.WriteLine(ex.Message);
                }

            }
            */
        }
Example #3
0
 internal static void Main(string[] args)
 {
     var connectionString = File.ReadAllText(@"c:\users\jaredpar\connection.txt");
     var client = new DataClient(connectionString);
     PopulateAllJobInfos(client);
     // PopulateAllFailures(client);
     // PopulateAllRetest(client);
 }
Example #4
0
 public ActionResult Index()
 {
     var connectionString = ConfigurationManager.ConnectionStrings["Jenkins"].ConnectionString;
     using (var client = new DataClient(connectionString))
     {
         var model = new AllJobsModel();
         model.Names.AddRange(client.GetJobNamesWeighted());
         return View(model);
     }
 }
Example #5
0
        public ActionResult Name(string name = null)
        {
            name = name ?? "roslyn_master_win_dbg_unit32";

            var connectionString = ConfigurationManager.ConnectionStrings["Jenkins"].ConnectionString;
            using (var client = new DataClient(connectionString))
            {
                var duration = client.GetAverageDuration(name);
                var model = new JobModel()
                {
                    Name = name,
                    AverageDuration = duration
                };
                model.DailyAverageDuration.AddRange(client.GetDailyAverageDurations(name));
                model.JobDaySummaryList.AddRange(GetDailySummary(client, name));

                return View(model);
            }
        }
Example #6
0
        private IEnumerable<JobDaySummary> GetDailySummary(DataClient client, string jobName)
        {
            var map = new Dictionary<DateTime, JobDaySummary>();
            Action<DateTime, Action<JobDaySummary>> update = (date, callback) =>
            {
                date = date.Date;
                JobDaySummary summary;
                if (!map.TryGetValue(date, out summary))
                {
                    summary = new JobDaySummary();
                    summary.Date = date;
                    map[date] = summary;
                }

                callback(summary);
            };

            client.GetDailyJobCount(jobName, JobState.Succeeded).ForEach(x => update(x.Item1, y => y.Succeeded = x.Item2));
            client.GetDailyJobCount(jobName, JobState.Failed).ForEach(x => update(x.Item1, y => y.Failed = x.Item2));
            client.GetDailyJobCount(jobName, JobState.Aborted).ForEach(x => update(x.Item1, y => y.Aborted = x.Item2));
            return map
                .OrderBy(pair => pair.Key)
                .Select(pair => pair.Value);
        }
Example #7
0
 private static void PopulateAllRetest(DataClient dataClient)
 {
     /*
     var list = dataClient.GetFailures();
     foreach (var tuple in list)
     {
         var id = tuple.Item1;
         var sha = tuple.Item2;
         if (dataClient.HasSucceeded(id.Kind, sha))
         {
             Console.WriteLine(id);
             dataClient.InsertRetest(id, sha);
         }
     }
     */
 }