2011-03-25 26 views
7

necesito verificar el rendimiento de mi aplicación de rieles. instalé newrelic_rpm. En environment.rb, los siguientes añadido:newrelic_rpm, rails gem no muestra ninguna ruta en desarrollo

config.gem "newrelic_rpm" 

entonces, en el navegador i di:

http://localhost:3000/newrelic 

a continuación, se muestra el mensaje de error como a continuación:

error de encaminamiento Ninguna ruta coincide con "/ newrelic" con {: method =>: get}

¿Me podría ayudar a resolver este ..

Gracias de antemano ...

Respuesta

2

que tenían el mismo problema en los carriles 3.0.5, después de actualizar de newrelic_rpm 2.13.4 -> 2.14.0

que siguieron la información desde aquí:
http://support.newrelic.com/discussions/support/5547-cant-access-developer-mode

... he añadido lo siguiente en la parte superior del archivo de mi archivo $RAILS_ROOT/config.ru

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

Estoy esperando que este asunto se fija en una versión posterior de newpreic_rpm

también me he dado cuenta de un cambio en el formato de archivo newrelic.yaml que debería estar en el directorio config. Puede descargar esto desde la página principal de su nueva cuenta (cuenta> implementar> ruby) después de crear una cuenta (hay una versión gratuita básica).

Básicamente, parece que:

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) 

+0

ha solucionado el problema para mí, aunque el modo de desarrollador y todavía no ve ninguna transacción. ¿Esto cuenta para ponerlo en la "pila de middleware"? – Kevin

+1

En los rieles 3.1.3, debe agregar las siguientes líneas a su config.ru (sección "Modo de desarrollador en aplicaciones de rack" en http: //newrelic.github).com/rpm /): requiere 'new_relic/rack/developer_mode' use NewRelic :: Rack :: DeveloperMode – Murdoch

15

supongo que mi problema está relacionado con que se ejecutan (procesos y otros) a través de delgadas capataz en el desarrollo. He añadido el siguiente para obtener el enrutamiento y la supervisión de trabajo:

config/environments/development.rb

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

Configuración ENV['NEWRELIC_ENABLE'] = 'true' puede controlar cosas cuando preferirías que no lo hicieron (tareas rastrillo etc ...)

+0

Gracias por esto. Al principio, el monitoreo no funcionaba para mí con los primeros 2 enlaces en mi config.ru, luego agregué la última línea a mi entorno de desarrollo y todo está bien ahora. – Will

Cuestiones relacionadas