newrelic_rpm, самоцвет рельсов, показывающий, что в разработке нет маршрутов - PullRequest
8 голосов
/ 25 марта 2011

Мне нужно проверить производительность моего приложения рельсов. я установил newrelic_rpm. В environment.rb добавлено следующее:

config.gem "newrelic_rpm"

затем в браузере я дал:

http://localhost:3000/newrelic

, затем отображается сообщение об ошибке, как показано ниже:

Ошибка маршрутизации Не найдено ни одного маршрута "/ newrelic" с {: method =>: get}

Можете ли вы помочь мне решить эту проблему ..

Заранее спасибо ...

Ответы [ 3 ]

15 голосов
/ 15 декабря 2011

Я предполагаю, что моя проблема связана с прохождением тонких (и других процессов) через мастера в разработке.Я добавил следующее, чтобы заставить работать маршрутизацию и мониторинг:

config/environments/development.rb

require 'new_relic/rack/developer_mode'
config.middleware.use NewRelic::Rack::DeveloperMode
ENV['NEWRELIC_ENABLE'] = 'true'

Настройка ENV['NEWRELIC_ENABLE'] = 'true' может отслеживать вещи, когда вы предпочитаете этого (рейк-задачи и т. Д...)

5 голосов
/ 25 августа 2017

Режим разработчика удален из newrelic_rpm на начало 2017 года:

https://github.com/newrelic/rpm/commit/ec8e2ee17dd6f5801b9bf1793b8be048d9a9242c

Если вы все еще хотите использовать его, вы должны установить более старую версию rubygem, например ::100100

gem 'newrelic_rpm', '4.0.0.332'
2 голосов
/ 31 марта 2011

У меня была такая же проблема на Rails 3.0.5, после обновления с newrelic_rpm 2.13.4 -> 2.14.0

Я следил за информацией отсюда:
http://support.newrelic.com/discussions/support/5547-cant-access-developer-mode

... Я добавил следующее в начало файла мой $RAILS_ROOT/config.ru файл

require 'new_relic/rack_app'
use NewRelic::Rack::DeveloperMode

Я ожидаю, что эта проблема будет исправлена ​​в более позднем выпуске newpreic_rpm

Я также заметил изменение формата файла newrelic.yaml, который должен находиться в каталоге config. Вы можете загрузить его с домашней страницы новой учетной записи (account> deploy> ruby) после создания учетной записи (есть базовая бесплатная версия).

В основном это выглядит так:

</p> <pre><code>common: &default_settings license_key: '[ Your unique license key ]' app_name: My Application # When "true", the agent collects performance data about your # application and reports this data to the NewRelic RPM service at # newrelic.com. This global switch is normally overridden for each # environment below. (formerly called 'enabled') monitor_mode: true # Developer mode should be off in every environment but # development as it has very high overhead in memory. developer_mode: false # The newrelic agent generates its own log file to keep its logging # information separate from that of your application. Specify its # log level here. log_level: info # The newrelic agent communicates with the RPM service via http by # default. If you want to communicate via https to increase # security, then turn on SSL by setting this value to true. Note, # this will result in increased CPU overhead to perform the # encryption involved in SSL communication, but this work is done # asynchronously to the threads that process your application code, # so it should not impact response times. ssl: false # EXPERIMENTAL: enable verification of the SSL certificate sent by # the server. This setting has no effect unless SSL is enabled # above. This may block your application. Only enable it if the data # you send us needs end-to-end verified certificates. # # This means we cannot cache the DNS lookup, so each request to the # RPM service will perform a lookup. It also means that we cannot # use a non-blocking lookup, so in a worst case, if you have DNS # problems, your app may block indefinitely. # verify_certificate: true # Set your application's Apdex threshold value with the 'apdex_t' # setting, in seconds. The apdex_t value determines the buckets used # to compute your overall Apdex score. # Requests that take less than apdex_t seconds to process will be # classified as Satisfying transactions; more than apdex_t seconds # as Tolerating transactions; and more than four times the apdex_t # value as Frustrating transactions. # For more about the Apdex standard, see # http://support.newrelic.com/faqs/general/apdex apdex_t: 0.5 # Proxy settings for connecting to the RPM server. # # If a proxy is used, the host setting is required. Other settings # are optional. Default port is 8080. # # proxy_host: hostname # proxy_port: 8080 # proxy_user: # proxy_pass: # Tells transaction tracer and error collector (when enabled) # whether or not to capture HTTP params. When true, frameworks can # exclude HTTP parameters from being captured. # Rails: the RoR filter_parameter_logging excludes parameters # Java: create a config setting called "ignored_params" and set it to # a comma separated list of HTTP parameter names. # ex: ignored_params: credit_card, ssn, password capture_params: false # Transaction tracer captures deep information about slow # transactions and sends this to the RPM service once a # minute. Included in the transaction is the exact call sequence of # the transactions including any SQL statements issued. transaction_tracer: # Transaction tracer is enabled by default. Set this to false to # turn it off. This feature is only available at the Silver and # above product levels. enabled: true # Threshold in seconds for when to collect a transaction # trace. When the response time of a controller action exceeds # this threshold, a transaction trace will be recorded and sent to # RPM. Valid values are any float value, or (default) "apdex_f", # which will use the threshold for an dissatisfying Apdex # controller action - four times the Apdex T value. transaction_threshold: apdex_f # When transaction tracer is on, SQL statements can optionally be # recorded. The recorder has three modes, "off" which sends no # SQL, "raw" which sends the SQL statement in its original form, # and "obfuscated", which strips out numeric and string literals record_sql: obfuscated # Threshold in seconds for when to collect stack trace for a SQL # call. In other words, when SQL statements exceed this threshold, # then capture and send to RPM the current stack trace. This is # helpful for pinpointing where long SQL calls originate from stack_trace_threshold: 0.500 # Determines whether the agent will capture query plans for slow # SQL queries. Only supported in mysql and postgres. Should be # set to false when using other adapters. # explain_enabled: true # Threshold for query execution time below which query plans will not # not be captured. Relevant only when `explain_enabled` is true. # explain_threshold: 0.5 # Error collector captures information about uncaught exceptions and # sends them to RPM for viewing error_collector: # Error collector is enabled by default. Set this to false to turn # it off. This feature is only available at the Silver and above # product levels enabled: true # Rails Only - tells error collector whether or not to capture a # source snippet around the place of the error when errors are View # related. capture_source: true # To stop specific errors from reporting to RPM, set this property # to comma separated values. Default is to ignore routing errors # which are how 404's get triggered. # ignore_errors: ActionController::RoutingError # (Advanced) Uncomment this to ensure the cpu and memory samplers # won't run. Useful when you are using the agent to monitor an # external resource # disable_samplers: true # If you aren't interested in visibility in these areas, you can # disable the instrumentation to reduce overhead. # # disable_view_instrumentation: true # disable_activerecord_instrumentation: true # disable_memcache_instrumentation: true # disable_dj: true # Certain types of instrumentation such as GC stats will not work if # you are running multi-threaded. Please let us know. # multi_threaded = false # Application Environments # ------------------------------------------ # Environment specific settings are in this section. # For Rails applications, RAILS_ENV is used to determine the environment # For Java applications, pass -Dnewrelic.environment <environment> to set # the environment # NOTE if your application has other named environments, you should # provide newrelic configuration settings for these environments here. development: <<: *default_settings # Turn off communication to RPM service in development mode (also # 'enabled'). # NOTE: for initial evaluation purposes, you may want to temporarily # turn the agent on in development mode. monitor_mode: false # Rails Only - when running in Developer Mode, the New Relic Agent will # present performance information on the last 100 transactions you have # executed since starting the mongrel. # NOTE: There is substantial overhead when running in developer mode. # Do not use for production or load testing. developer_mode: true # Enable textmate links # textmate: true test: <<: *default_settings # It almost never makes sense to turn on the agent when running # unit, functional or integration tests or the like. monitor_mode: false # Turn on the agent in production for 24x7 monitoring. NewRelic # testing shows an average performance impact of < 5 ms per # transaction, you you can leave this on all the time without # incurring any user-visible performance degradation. production: <<: *default_settings monitor_mode: true # Many applications have a staging environment which behaves # identically to production. Support for that environment is provided # here. By default, the staging environment has the agent turned on. staging: <<: *default_settings monitor_mode: true app_name: My Application (Staging)

...