1
0
Fork 0
mirror of https://github.com/Findus23/cr-search.git synced 2024-09-19 15:23:44 +02:00

performance timing

This commit is contained in:
Lukas Winkler 2023-02-26 23:43:17 +01:00
parent 6d2c5b2679
commit 9cff4968c1
Signed by: lukas
GPG key ID: 54DE4D798D244853

View file

@ -1,7 +1,8 @@
import random
import time
from typing import List
from flask import request, jsonify, Response, abort
from flask import request, jsonify, Response, abort, g
from peewee import fn, Alias, SQL, DoesNotExist, Expression, ModelSelect, JOIN
from playhouse.postgres_ext import TS_MATCH
from playhouse.shortcuts import model_to_dict
@ -13,7 +14,7 @@ from models import *
# logger.addHandler(logging.StreamHandler())
# logger.setLevel(logging.DEBUG)
from ssr import ssr_routes
from stats import TotalWords, MostCommonNounChunks, LongestNounChunks, LinesPerPerson, aggregate_stats
from stats import aggregate_stats
from suggestions import suggestions
app.register_blueprint(ssr_routes)
@ -24,6 +25,19 @@ def add_cors(response: Response) -> Response:
return response
@app.before_request
def before_request():
g.start = time.perf_counter()
@app.after_request
def after_request(response: Response):
diff = time.perf_counter() - g.start
if response.response:
response.headers.set("Server-Timing", f"server;dur={diff *1000 :.5f}")
return response
def suggest(query: str, until: int, series: str, limit: int = 10) -> ModelSelect:
return Phrase.select(Phrase.text, Alias(fn.SUM(Phrase.count), "total_count")).join(Episode).join(Series).where(
(Episode.series.slug == series) &