In unserer Rails-App retten wir die meisten Ausnahmen von ApplicationController, um korrekte API-Antworten zu erhalten, aber dennoch Fehler, die mit ErrorCollector auftreten, zu verfolgen. Gibt es eine Möglichkeit, Fehler manuell an NewRelic zu senden?Gibt es eine Möglichkeit, NewRelic Fehler manuell zu drücken?
Antwort
Nicht sicher, ob es Art und Weise empfohlen wird zu verwenden, aber das funktioniert perfekt:
NewRelic::Agent.agent.error_collector.notice_error(exception)
Nach dem, was ich in der New Relic Agent Code sehen Sie
NewRelic::Agent.notice_error(exception, options)
ich zu tun haben getestet dies und haben dies in meinem Stapel ausgeführt
Hier ist ein Beispiel in einem Controller:
class ApplicationController < ActionController::Base
rescue_from ActiveRecord::RecordInvalid, with: :rescue_invalid_record
private
def rescue_invalid_record(exception)
NewRelic::Agent.notice_error(exception)
end
end
Hier ist die Dokumentation dafür: http://rdoc.info/github/newrelic/rpm/NewRelic/Agent:notice_error Es ist im Grunde ein Alias für die Methode Igor in seiner Lösung enthalten, außer dass es keine Ausnahme anstelle der Ausnahme zurückgibt. Während es sich ein wenig anders verhält, ist es im Wesentlichen dasselbe und viel weniger wortreich. –
vollständige Dokumentation des API-Aufrufs Fehler zu erkennen und die Fehlermetrik zu erhöhen ist die New Relic Ruby-Agent-API-Dokumentation hier http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error
- 1. Gibt es eine Möglichkeit, Code manuell in Eclipse zu falten?
- 2. Gibt es eine Möglichkeit, die Größe eines Arrays zu erhalten, ohne es manuell zu finden?
- 3. Gibt es eine Möglichkeit, JIT manuell anders als java.lang.Compiler
- 4. Gibt es eine Möglichkeit, Google Maps-Ereignisse manuell auszulösen?
- 5. Gibt es eine Möglichkeit, onPanResponderMove zu verwalten?
- 6. Schnelle Möglichkeit, eine Zahl manuell zu ändern
- 7. Gibt es eine Möglichkeit, einen Knopf zu drücken, ohne es auf tkinter/python zu berühren?
- 8. Gibt es eine Möglichkeit, "träge" zu lesen?
- 9. Gibt es eine Möglichkeit, Webkonsolenfehler zu erkennen?
- 10. Gibt es eine Möglichkeit, Cache-Fehler in Django zu ignorieren?
- 11. Spotfire Hilfe! Es wird versucht, die Regressionslinie über dem Balkendiagramm manuell zu zeichnen. Gibt es eine Möglichkeit, Datenpunkte manuell einzugeben?
- 12. Gibt es eine Möglichkeit, AMDPlugin zu deaktivieren?
- 13. Gibt es eine Möglichkeit, django.db.connection.queries zu löschen?
- 14. Gibt es eine Möglichkeit, Fenstereigenschaften zu verbergen?
- 15. Gibt es eine Möglichkeit, Mehrfacheinspritzung zu propagieren?
- 16. Gibt es eine Möglichkeit, PreparedStatement zu aktualisieren?
- 17. Gibt es eine Möglichkeit, Datenbanktransaktionen zu beschleunigen?
- 18. Gibt es eine Möglichkeit, ConfigurationManager.AppSettings zu überschreiben?
- 19. Gibt es eine Möglichkeit, Kovarianz zu deklarieren?
- 20. Gibt es eine Möglichkeit, Unterabfragen zu vermeiden?
- 21. Gibt es eine Möglichkeit, dies zu loopen?
- 22. Gibt es eine Möglichkeit, Formularantwort zu ignorieren?
- 23. Gibt es eine Möglichkeit, Typdeklarationen zu erweitern?
- 24. Gibt es eine Möglichkeit, Duplikate zu vermeiden?
- 25. Gibt es eine Möglichkeit, Creeps zu löschen?
- 26. Gibt es eine Möglichkeit, Selektoren zu gruppieren?
- 27. Gibt es eine Möglichkeit, den Wert einer automatisch gefüllten Passwortbox in JavaScript zu erhalten? manuell eingegeben
- 28. Gibt es eine Möglichkeit, das PropertyChanged-Ereignis eines EntityObject manuell zu erhöhen?
- 29. Gibt es eine Möglichkeit, die Servlet-Zuordnung in der Eclipse-IDE anders als manuell zu machen?
- 30. In Perl gibt es eine elegante Möglichkeit, Undef in 0 manuell zu konvertieren?
ich bei New Relic arbeiten. Obwohl diese Methode heute funktioniert, ist sie * nicht * Teil unserer öffentlichen API und sollte daher nicht verwendet werden - sie kann sich jederzeit ändern. Die richtige Methode ist 'NewRelic :: Agent.notice_error', wie in der Antwort von nort angegeben. Alles, was nicht in unseren öffentlichen [API-Dokumenten] (http://rubydoc.info/github/newrelic/rpm) dokumentiert ist, fällt in die gleiche Kategorie. – grumbler