mirror of
				https://github.com/ohwgiles/laminar.git
				synced 2025-06-13 12:54:29 +00:00 
			
		
		
		
	resolves #43: limit the results displayed on home page
Limit "runs per job in last 24h" and "average runtime per job" graphs to the top 5 in each case
This commit is contained in:
		
							parent
							
								
									fba2d226ef
								
							
						
					
					
						commit
						d1ca6392a4
					
				@ -333,14 +333,14 @@ void Laminar::sendStatus(LaminarClient* client) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        j.EndArray();
 | 
					        j.EndArray();
 | 
				
			||||||
        j.startObject("buildsPerJob");
 | 
					        j.startObject("buildsPerJob");
 | 
				
			||||||
        db->stmt("SELECT name, COUNT(*) FROM builds WHERE completedAt > ? GROUP BY name")
 | 
					        db->stmt("SELECT name, COUNT(*) c FROM builds WHERE completedAt > ? GROUP BY name ORDER BY c DESC LIMIT 5")
 | 
				
			||||||
                .bind(time(nullptr) - 86400)
 | 
					                .bind(time(nullptr) - 86400)
 | 
				
			||||||
                .fetch<str, int>([&](str job, int count){
 | 
					                .fetch<str, int>([&](str job, int count){
 | 
				
			||||||
            j.set(job.c_str(), count);
 | 
					            j.set(job.c_str(), count);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        j.EndObject();
 | 
					        j.EndObject();
 | 
				
			||||||
        j.startObject("timePerJob");
 | 
					        j.startObject("timePerJob");
 | 
				
			||||||
        db->stmt("SELECT name, AVG(completedAt-startedAt) FROM builds WHERE completedAt > ? GROUP BY name")
 | 
					        db->stmt("SELECT name, AVG(completedAt-startedAt) av FROM builds WHERE completedAt > ? GROUP BY name ORDER BY av DESC LIMIT 5")
 | 
				
			||||||
                .bind(time(nullptr) - 7 * 86400)
 | 
					                .bind(time(nullptr) - 7 * 86400)
 | 
				
			||||||
                .fetch<str, uint>([&](str job, uint time){
 | 
					                .fetch<str, uint>([&](str job, uint time){
 | 
				
			||||||
            j.set(job.c_str(), time);
 | 
					            j.set(job.c_str(), time);
 | 
				
			||||||
 | 
				
			|||||||
@ -91,7 +91,7 @@
 | 
				
			|||||||
   <div class="col-sm-7 col-md-8 col-lg-9"><div class="row">
 | 
					   <div class="col-sm-7 col-md-8 col-lg-9"><div class="row">
 | 
				
			||||||
    <div class="col-md-6">
 | 
					    <div class="col-md-6">
 | 
				
			||||||
     <div class="panel panel-default">
 | 
					     <div class="panel panel-default">
 | 
				
			||||||
      <div class="panel-heading">Total builds per day this week</div>
 | 
					      <div class="panel-heading">Total runs per day this week</div>
 | 
				
			||||||
      <div class="panel-body">
 | 
					      <div class="panel-body">
 | 
				
			||||||
       <canvas id="chartBpd"></canvas>
 | 
					       <canvas id="chartBpd"></canvas>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -99,7 +99,7 @@
 | 
				
			|||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div class="col-md-6">
 | 
					    <div class="col-md-6">
 | 
				
			||||||
     <div class="panel panel-default">
 | 
					     <div class="panel panel-default">
 | 
				
			||||||
      <div class="panel-heading">Builds per job in the last 24 hours</div>
 | 
					      <div class="panel-heading">Most runs per job in the last 24 hours</div>
 | 
				
			||||||
      <div class="panel-body" id="chartStatus">
 | 
					      <div class="panel-body" id="chartStatus">
 | 
				
			||||||
       <canvas id="chartBpj"></canvas>
 | 
					       <canvas id="chartBpj"></canvas>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -107,7 +107,7 @@
 | 
				
			|||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div class="col-md-6">
 | 
					    <div class="col-md-6">
 | 
				
			||||||
     <div class="panel panel-default">
 | 
					     <div class="panel panel-default">
 | 
				
			||||||
      <div class="panel-heading">Average build time per job this week</div>
 | 
					      <div class="panel-heading">Longest average run time per job this week</div>
 | 
				
			||||||
      <div class="panel-body">
 | 
					      <div class="panel-body">
 | 
				
			||||||
       <canvas id="chartTpj"></canvas>
 | 
					       <canvas id="chartTpj"></canvas>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user