diff options
| author | asciimoo <asciimoo@gmail.com> | 2013-10-27 02:50:24 +0200 |
|---|---|---|
| committer | asciimoo <asciimoo@gmail.com> | 2013-10-27 02:50:24 +0200 |
| commit | 4f4ec44bb373a6aff0c723943544f44907519dca (patch) | |
| tree | f1a50ef6575090be31d74aa4f2648810bf0c1573 /searx/engines/__init__.py | |
| parent | 43ac547bc1e4d7c10a56d70e42c542cbae6896d9 (diff) | |
[enh] stat updates
Diffstat (limited to 'searx/engines/__init__.py')
| -rw-r--r-- | searx/engines/__init__.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index a5bbfdeeb..016f06b08 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -159,15 +159,27 @@ def search(query, request, selected_categories): return sorted(results, key=itemgetter('score'), reverse=True) def get_engines_stats(): - stats = {} + pageloads = [] + results = [] + max_pageload = max_results = 0 for engine in engines.values(): if engine.stats['search_count'] == 0: continue results_num = engine.stats['result_count']/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 - ,'Average page load time': load_times - } + max_results = max(results_num, max_results) + max_pageload = max(load_times, max_pageload) + pageloads.append({'avg': load_times, 'name': engine.name}) + results.append({'avg': results_num, 'name': engine.name}) + + 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 stats + return [('Page loads', sorted(pageloads, key=itemgetter('avg'), reverse=True)) + ,('Number of results', sorted(results, key=itemgetter('avg'), reverse=True)) + ] |