mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[enh] stat updates
This commit is contained in:
		
							parent
							
								
									43ac547bc1
								
							
						
					
					
						commit
						4f4ec44bb3
					
				@ -159,15 +159,27 @@ def search(query, request, selected_categories):
 | 
				
			|||||||
    return sorted(results, key=itemgetter('score'), reverse=True)
 | 
					    return sorted(results, key=itemgetter('score'), reverse=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_engines_stats():
 | 
					def get_engines_stats():
 | 
				
			||||||
    stats = {}
 | 
					    pageloads = []
 | 
				
			||||||
 | 
					    results = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    max_pageload = max_results = 0
 | 
				
			||||||
    for engine in engines.values():
 | 
					    for engine in engines.values():
 | 
				
			||||||
        if engine.stats['search_count'] == 0:
 | 
					        if engine.stats['search_count'] == 0:
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
        results_num = engine.stats['result_count']/float(engine.stats['search_count'])
 | 
					        results_num = engine.stats['result_count']/float(engine.stats['search_count'])
 | 
				
			||||||
        load_times  = engine.stats['page_load_time']/float(engine.stats['search_count'])
 | 
					        load_times  = engine.stats['page_load_time']/float(engine.stats['search_count'])
 | 
				
			||||||
        stats[engine.name] = {'Average number of results': results_num
 | 
					        max_results = max(results_num, max_results)
 | 
				
			||||||
                             ,'Average page load time': load_times
 | 
					        max_pageload = max(load_times, max_pageload)
 | 
				
			||||||
                             }
 | 
					        pageloads.append({'avg': load_times, 'name': engine.name})
 | 
				
			||||||
 | 
					        results.append({'avg': results_num, 'name': engine.name})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return stats
 | 
					    for engine in pageloads:
 | 
				
			||||||
 | 
					        engine['percentage'] = int(engine['avg']/max_pageload*100)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for engine in results:
 | 
				
			||||||
 | 
					        engine['percentage'] = int(engine['avg']/max_results*100)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return [('Page loads', sorted(pageloads, key=itemgetter('avg'), reverse=True))
 | 
				
			||||||
 | 
					           ,('Number of results', sorted(results, key=itemgetter('avg'), reverse=True))
 | 
				
			||||||
 | 
					           ]
 | 
				
			||||||
 | 
				
			|||||||
@ -3,14 +3,20 @@
 | 
				
			|||||||
{% block content %}
 | 
					{% block content %}
 | 
				
			||||||
<h2>Engine stats</h2>
 | 
					<h2>Engine stats</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% for engine,engine_stats in stats.items() %}
 | 
					{% for stat_name,stat_category in stats %}
 | 
				
			||||||
<div>
 | 
					<div>
 | 
				
			||||||
    <h3>{{ engine }}</h3>
 | 
					    <table>
 | 
				
			||||||
    <ul>
 | 
					        <tr colspan="3">
 | 
				
			||||||
        {% for statname,value in engine_stats.items() %}
 | 
					            <th>{{ stat_name }}</th>
 | 
				
			||||||
        <li>{{ statname }}: {{ value }}</li>
 | 
					        </tr>
 | 
				
			||||||
 | 
					        {% for engine in stat_category %}
 | 
				
			||||||
 | 
					        <tr>
 | 
				
			||||||
 | 
					            <td>{{ engine.name }}</td>
 | 
				
			||||||
 | 
					            <td>{{ engine.percentage }}</td>
 | 
				
			||||||
 | 
					            <td>{{ engine.avg }}</td>
 | 
				
			||||||
 | 
					        </tr>
 | 
				
			||||||
        {% endfor %}
 | 
					        {% endfor %}
 | 
				
			||||||
    </ul>
 | 
					    </table>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
{% endfor %}
 | 
					{% endfor %}
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user