2017-08-05 4 views
2

Ist es möglich, die Abfragezeit (Ausführung) in Yesod oder allgemein in persistent zu protokollieren?Yesod: Wie Abfragezeit im Terminal oder anderen Werkzeug?

Ich sehe, dass im Debug-Modus, bekomme ich im Terminal die Abfrage mit seinem Parameter. Allerdings kann ich die Gesamtzeit seiner Ausführung nicht sehen, daher kann ich mit dieser Methode keine langsamen Abfragen erkennen.

Gibt es ein existierendes Werkzeug zur Visualisierung der Anfragen einer Anfrage? Anstatt sie im Terminal zu drucken? Etwas Ähnliches wie die "Debugbars" anderer Frameworks?

Antwort

2

Die ekg related packages sind diejenigen, die normalerweise verwendet werden, um die Statistiken auf Anwendungsebene in Jessod (oder einem anderen Haskell-Web-Framework) zu überwachen. Dies ist ein good guide für Sie zu starten. Aber auf die Abfrage von persistent bezogenen Statistiken bekommen, denke ich criterion wäre eine bessere Passform, aber es ist ein nach dem Benchmark-Tool. Der Fluss würde darin bestehen, zunächst einen Flaschenhals für die einzelnen Handler über ekg zu identifizieren und dann Kriterienbenchmarks für die verwendeten Funktionen in dem Handler zu verwenden, um den tatsächlichen Täter zu finden.