grape

___ tag123performance ___ Für Fragen zur Messung oder Verbesserung der Code- und Anwendungseffizienz. ___ qstnhdr ___ Warum ActionDispatch :: Routing :: RouteSet so lange braucht ___ qstntxt ___

Ich verwende Grape zusätzlich zu Rails 4.2.1, um API für unsere Anwendung bereitzustellen.

Aber wenn ich heute Newrelic auf Leistung überprüfe, habe ich festgestellt, dass %code% und %code% viel Zeit in Anspruch nehmen. (Siehe Screenshot)

Dann habe ich versucht, die Zeit in Middleware mit %code% zu protokollieren und festgestellt, dass %code% die meiste Zeit beansprucht:

%Vor%

Es gibt sogar Fälle, die 500 ms - 1000 ms in %code% benötigen. Wie könnte ich dieses Problem aufspüren und wie könnte ich wissen, was ich bei den Rails Routen falsch gemacht habe?

Vielen Dank für die Hilfe.

    
___ tag123rubyonrails4 ___ Für Probleme, die für Version 4 von Rails spezifisch sind. Wenn Ihre Frage generell auf Ruby on Rails zutrifft, verwenden Sie das Tag [ruby-on-rails]. ___ tag123rubyonrails ___ Ruby on Rails ist ein Open-Source-Full-Stack-Webanwendungs-Framework, das in Ruby geschrieben ist. Es folgt dem populären MVC-Framework-Modell und ist bekannt für seinen "convention over configuration" -Ansatz für die Anwendungsentwicklung. ___ tag123newrelic ___ New Relic ist ein Leistungsüberwachungsdienst für Web- und mobile Anwendungen für Ruby-, Java-, .NET-, PHP-, Python-, Node.js-, Go-, Android- und iOS-Apps. ___ tag123grupe ___ Mit Grave können Sie Ihrem Klassenpfad schnell Abhängigkeiten von maven repository hinzufügen. ODER Grape ist ein REST-ähnliches API-Mikroframework, das in Ruby geschrieben wurde, um oben auf Rack zu sitzen. ___ answer42462319 ___

Für mich stellt sich heraus, dass der Newrelic-Ruby-Agent nicht mit rocket_pants arbeitet, dem Juwel, mit dem ich API-Endpunkte erstelle.

Es gibt ein drittes Juwel 'rocket_pants-rpm', um dieses Problem zu lösen, aber das Original funktioniert nicht mehr mit newrelic_rpm, Version 3.9+. Um das Problem zu beheben, verwenden Sie die gegabelte Version unter Ссылка

So sieht der newrelic-Bericht nach dem Hinzufügen dieses Edelsteins aus.

Prozentsatz der neuen Anfragezeit

    
___
5
Antworten

Ruby Grape JSON-über-HTTP-API, benutzerdefinierte JSON-Darstellung

Ich habe eine kleine Prototyp-Unterklasse von Grape::API als Rack-Dienst und verwende Grape::Entity , um die internen Objekte meiner Anwendung darzustellen. Ich mag die Grape::Entity DSL, habe aber Probleme herauszufinden, wie ich übe...
19.03.2013, 11:22
1
Antwort

Grape Fehlerbehandlungsstrategie?

Ich benutze Grape und Rails, um eine REST-API zu erstellen. Ich habe die grundlegende Architektur an Ort und Stelle und suche nach Orten, um Dinge zu "säubern". Einer dieser Orte ist die Fehlerbehandlung / -verarbeitung. Ich erhalte derzeit F...
23.10.2014, 12:59
1
Antwort

Warum ActionDispatch :: Routing :: RouteSet so lange braucht

Ich verwende Grape zusätzlich zu Rails 4.2.1, um API für unsere Anwendung bereitzustellen. Aber wenn ich heute Newrelic auf Leistung überprüfe, habe ich festgestellt, dass RackApp Proc#call und Grape API::Root#call viel Zeit in Anspruch...
08.05.2015, 16:44