newrelic_rpm 3.5.8.72 → 3.6.0.74.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -0
- data/CHANGELOG +16 -0
- data/LICENSE +70 -6
- data/init.rb +4 -0
- data/install.rb +4 -0
- data/lib/conditional_vendored_dependency_detection.rb +4 -0
- data/lib/conditional_vendored_metric_parser.rb +4 -0
- data/lib/new_relic/agent/agent.rb +10 -7
- data/lib/new_relic/agent/agent_logger.rb +4 -0
- data/lib/new_relic/agent/audit_logger.rb +4 -0
- data/lib/new_relic/agent/beacon_configuration.rb +4 -0
- data/lib/new_relic/agent/browser_monitoring.rb +4 -0
- data/lib/new_relic/agent/busy_calculator.rb +7 -6
- data/lib/new_relic/agent/chained_call.rb +4 -0
- data/lib/new_relic/agent/configuration/defaults.rb +4 -0
- data/lib/new_relic/agent/configuration/environment_source.rb +4 -0
- data/lib/new_relic/agent/configuration/manager.rb +4 -0
- data/lib/new_relic/agent/configuration/mask_defaults.rb +4 -0
- data/lib/new_relic/agent/configuration/server_source.rb +4 -0
- data/lib/new_relic/agent/configuration/yaml_source.rb +5 -1
- data/lib/new_relic/agent/configuration.rb +4 -0
- data/lib/new_relic/agent/cross_app_monitor.rb +9 -10
- data/lib/new_relic/agent/cross_app_tracing.rb +6 -18
- data/lib/new_relic/agent/database.rb +4 -0
- data/lib/new_relic/agent/error_collector.rb +23 -10
- data/lib/new_relic/agent/event_listener.rb +4 -0
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +4 -0
- data/lib/new_relic/agent/instrumentation/active_record.rb +4 -0
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +4 -0
- data/lib/new_relic/agent/instrumentation/authlogic.rb +4 -0
- data/lib/new_relic/agent/instrumentation/browser_monitoring_timings.rb +4 -0
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +5 -8
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +5 -1
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +4 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +4 -0
- data/lib/new_relic/agent/instrumentation/merb/controller.rb +4 -0
- data/lib/new_relic/agent/instrumentation/merb/errors.rb +4 -0
- data/lib/new_relic/agent/instrumentation/metric_frame/pop.rb +5 -1
- data/lib/new_relic/agent/instrumentation/metric_frame.rb +15 -18
- data/lib/new_relic/agent/instrumentation/net.rb +4 -2
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +4 -0
- data/lib/new_relic/agent/instrumentation/queue_time.rb +6 -2
- data/lib/new_relic/agent/instrumentation/rack.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rails/errors.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rails3/errors.rb +4 -0
- data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +26 -0
- data/lib/new_relic/agent/instrumentation/resque.rb +4 -0
- data/lib/new_relic/agent/instrumentation/sidekiq.rb +36 -0
- data/lib/new_relic/agent/instrumentation/sinatra.rb +4 -0
- data/lib/new_relic/agent/instrumentation/sunspot.rb +4 -0
- data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +4 -0
- data/lib/new_relic/agent/instrumentation.rb +4 -0
- data/lib/new_relic/agent/method_tracer.rb +26 -31
- data/lib/new_relic/agent/new_relic_service.rb +7 -6
- data/lib/new_relic/agent/pipe_channel_manager.rb +58 -15
- data/lib/new_relic/agent/pipe_service.rb +13 -6
- data/lib/new_relic/agent/rules_engine.rb +4 -0
- data/lib/new_relic/agent/sampler.rb +4 -0
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +20 -12
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +15 -12
- data/lib/new_relic/agent/samplers/memory_sampler.rb +9 -5
- data/lib/new_relic/agent/samplers/object_sampler.rb +6 -6
- data/lib/new_relic/agent/shim_agent.rb +4 -0
- data/lib/new_relic/agent/sql_sampler.rb +4 -0
- data/lib/new_relic/agent/stats.rb +3 -0
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +8 -4
- data/lib/new_relic/agent/stats_engine/metric_stats.rb +13 -13
- data/lib/new_relic/agent/stats_engine/samplers.rb +6 -3
- data/lib/new_relic/agent/stats_engine/stats_hash.rb +4 -0
- data/lib/new_relic/agent/stats_engine/transactions.rb +4 -0
- data/lib/new_relic/agent/stats_engine.rb +4 -0
- data/lib/new_relic/agent/thread.rb +4 -0
- data/lib/new_relic/agent/thread_profiler.rb +4 -0
- data/lib/new_relic/agent/transaction_info.rb +4 -0
- data/lib/new_relic/agent/transaction_sample_builder.rb +4 -0
- data/lib/new_relic/agent/transaction_sampler.rb +4 -0
- data/lib/new_relic/agent/worker_loop.rb +4 -0
- data/lib/new_relic/agent.rb +7 -3
- data/lib/new_relic/build.rb +2 -2
- data/lib/new_relic/coerce.rb +4 -0
- data/lib/new_relic/collection_helper.rb +4 -0
- data/lib/new_relic/command.rb +4 -0
- data/lib/new_relic/commands/deployments.rb +4 -0
- data/lib/new_relic/commands/install.rb +4 -0
- data/lib/new_relic/control/class_methods.rb +4 -0
- data/lib/new_relic/control/frameworks/external.rb +4 -0
- data/lib/new_relic/control/frameworks/merb.rb +4 -0
- data/lib/new_relic/control/frameworks/rails.rb +4 -0
- data/lib/new_relic/control/frameworks/rails3.rb +4 -0
- data/lib/new_relic/control/frameworks/rails4.rb +4 -0
- data/lib/new_relic/control/frameworks/ruby.rb +4 -0
- data/lib/new_relic/control/frameworks/sinatra.rb +4 -0
- data/lib/new_relic/control/frameworks.rb +4 -0
- data/lib/new_relic/control/instance_methods.rb +4 -0
- data/lib/new_relic/control/instrumentation.rb +4 -0
- data/lib/new_relic/control/profiling.rb +4 -0
- data/lib/new_relic/control/server_methods.rb +4 -0
- data/lib/new_relic/control.rb +4 -0
- data/lib/new_relic/delayed_job_injection.rb +4 -0
- data/lib/new_relic/helper.rb +4 -1
- data/lib/new_relic/language_support.rb +4 -0
- data/lib/new_relic/latest_changes.rb +5 -1
- data/lib/new_relic/local_environment.rb +18 -1
- data/lib/new_relic/merbtasks.rb +4 -0
- data/lib/new_relic/metric_data.rb +4 -0
- data/lib/new_relic/metric_spec.rb +4 -0
- data/lib/new_relic/metrics.rb +4 -0
- data/lib/new_relic/noticed_error.rb +4 -0
- data/lib/new_relic/okjson.rb +4 -1
- data/lib/new_relic/rack/agent_hooks.rb +4 -0
- data/lib/new_relic/rack/browser_monitoring.rb +4 -0
- data/lib/new_relic/rack/developer_mode.rb +4 -0
- data/lib/new_relic/rack/error_collector.rb +4 -0
- data/lib/new_relic/rack.rb +4 -0
- data/lib/new_relic/recipes.rb +4 -0
- data/lib/new_relic/timer_lib.rb +4 -0
- data/lib/new_relic/transaction_analysis/segment_summary.rb +4 -0
- data/lib/new_relic/transaction_analysis.rb +4 -0
- data/lib/new_relic/transaction_sample/composite_segment.rb +4 -0
- data/lib/new_relic/transaction_sample/fake_segment.rb +4 -0
- data/lib/new_relic/transaction_sample/segment.rb +4 -0
- data/lib/new_relic/transaction_sample/summary_segment.rb +4 -0
- data/lib/new_relic/transaction_sample.rb +4 -0
- data/lib/new_relic/url_rule.rb +4 -0
- data/lib/new_relic/version.rb +6 -2
- data/lib/newrelic_rpm.rb +4 -0
- data/lib/tasks/all.rb +4 -0
- data/recipes/newrelic.rb +4 -0
- data/test/active_record_fixtures.rb +4 -0
- data/test/config/test_control.rb +4 -0
- data/test/intentional_fail.rb +4 -0
- data/test/multiverse/lib/multiverse/color.rb +4 -0
- data/test/multiverse/lib/multiverse/envfile.rb +4 -0
- data/test/multiverse/lib/multiverse/environment.rb +4 -0
- data/test/multiverse/lib/multiverse/output_collector.rb +4 -0
- data/test/multiverse/lib/multiverse/runner.rb +4 -0
- data/test/multiverse/lib/multiverse/suite.rb +4 -0
- data/test/multiverse/suites/active_record/ar_method_aliasing.rb +4 -0
- data/test/multiverse/suites/active_record/encoding_test.rb +4 -0
- data/test/multiverse/suites/agent_only/audit_log_test.rb +4 -0
- data/test/multiverse/suites/agent_only/cross_application_tracing_test.rb +4 -0
- data/test/multiverse/suites/agent_only/http_response_code_test.rb +4 -0
- data/test/multiverse/suites/agent_only/key_transactions_test.rb +4 -0
- data/test/multiverse/suites/agent_only/logging_test.rb +4 -0
- data/test/multiverse/suites/agent_only/marshaling_test.rb +4 -0
- data/test/multiverse/suites/agent_only/method_visibility_test.rb +4 -0
- data/test/multiverse/suites/agent_only/no_dns_resolv.rb +4 -0
- data/test/multiverse/suites/agent_only/pipe_manager_test.rb +4 -0
- data/test/multiverse/suites/agent_only/rename_rule_test.rb +4 -0
- data/test/multiverse/suites/agent_only/rum_instrumentation_test.rb +4 -0
- data/test/multiverse/suites/agent_only/service_timeout_test.rb +4 -0
- data/test/multiverse/suites/agent_only/ssl_test.rb +4 -0
- data/test/multiverse/suites/agent_only/start_up_test.rb +4 -0
- data/test/multiverse/suites/agent_only/test_trace_method_with_punctuation.rb +4 -0
- data/test/multiverse/suites/agent_only/test_trace_transaction_with_punctuation.rb +4 -0
- data/test/multiverse/suites/agent_only/testing_app.rb +4 -0
- data/test/multiverse/suites/agent_only/thread_profiling_test.rb +4 -0
- data/test/multiverse/suites/config_file_loading/config_file_loading_test.rb +4 -0
- data/test/multiverse/suites/datamapper/encoding_test.rb +4 -0
- data/test/multiverse/suites/rails/app.rb +4 -0
- data/test/multiverse/suites/rails/error_tracing_test.rb +4 -0
- data/test/multiverse/suites/rails/gc_instrumentation_test.rb +4 -0
- data/test/multiverse/suites/rails/queue_time_test.rb +4 -0
- data/test/multiverse/suites/rails/view_instrumentation_test.rb +4 -0
- data/test/multiverse/suites/resque/instrumentation_test.rb +5 -1
- data/test/multiverse/suites/resque/resque_setup.rb +4 -0
- data/test/multiverse/suites/sidekiq/Envfile +21 -0
- data/test/multiverse/suites/sidekiq/app.rb +25 -0
- data/test/multiverse/suites/sidekiq/config/newrelic.yml +22 -0
- data/test/multiverse/suites/sidekiq/log/.gitkeep +0 -0
- data/test/multiverse/suites/sidekiq/sidekiq_instrumentation_test.rb +137 -0
- data/test/multiverse/suites/sinatra/sinatra_error_tracing_test.rb +4 -0
- data/test/multiverse/suites/sinatra/sinatra_metric_explosion_test.rb +4 -0
- data/test/multiverse/suites/sinatra/sinatra_routes_test.rb +4 -0
- data/test/multiverse/suites/sinatra/sinatra_test.rb +4 -0
- data/test/multiverse/test/multiverse_test.rb +4 -0
- data/test/multiverse/test/suite_examples/one/a/a_test.rb +4 -0
- data/test/multiverse/test/suite_examples/one/b/b_test.rb +4 -0
- data/test/multiverse/test/suite_examples/three/a/fail_test.rb +4 -0
- data/test/multiverse/test/suite_examples/three/b/win_test.rb +4 -0
- data/test/multiverse/test/suite_examples/two/a/fail_test.rb +4 -0
- data/test/new_relic/agent/agent/connect_test.rb +4 -0
- data/test/new_relic/agent/agent/start_test.rb +4 -0
- data/test/new_relic/agent/agent/start_worker_thread_test.rb +4 -0
- data/test/new_relic/agent/agent_logger_test.rb +4 -0
- data/test/new_relic/agent/agent_test.rb +6 -1
- data/test/new_relic/agent/agent_test_controller.rb +4 -0
- data/test/new_relic/agent/agent_test_controller_test.rb +4 -0
- data/test/new_relic/agent/apdex_from_server_test.rb +4 -0
- data/test/new_relic/agent/audit_logger_test.rb +4 -0
- data/test/new_relic/agent/beacon_configuration_test.rb +4 -0
- data/test/new_relic/agent/browser_monitoring_test.rb +4 -0
- data/test/new_relic/agent/busy_calculator_test.rb +6 -2
- data/test/new_relic/agent/configuration/environment_source_test.rb +4 -0
- data/test/new_relic/agent/configuration/manager_test.rb +4 -0
- data/test/new_relic/agent/configuration/server_source_test.rb +4 -0
- data/test/new_relic/agent/configuration/yaml_source_test.rb +4 -0
- data/test/new_relic/agent/cross_app_monitor_test.rb +12 -8
- data/test/new_relic/agent/database_test.rb +4 -0
- data/test/new_relic/agent/error_collector/notice_error_test.rb +4 -0
- data/test/new_relic/agent/error_collector_test.rb +4 -0
- data/test/new_relic/agent/event_listener_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/browser_monitoring_timings_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/instrumentation_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/metric_frame/pop_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/metric_frame_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +3 -0
- data/test/new_relic/agent/instrumentation/queue_time_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/rack_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/sinatra_test.rb +4 -0
- data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +4 -0
- data/test/new_relic/agent/memcache_instrumentation_test.rb +4 -0
- data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +4 -0
- data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +48 -26
- data/test/new_relic/agent/method_tracer_test.rb +4 -0
- data/test/new_relic/agent/mock_scope_listener.rb +4 -0
- data/test/new_relic/agent/new_relic_service_test.rb +4 -0
- data/test/new_relic/agent/pipe_channel_manager_test.rb +24 -6
- data/test/new_relic/agent/pipe_service_test.rb +6 -10
- data/test/new_relic/agent/rpm_agent_test.rb +4 -0
- data/test/new_relic/agent/rules_engine_test.rb +4 -0
- data/test/new_relic/agent/sampler_test.rb +4 -0
- data/test/new_relic/agent/shim_agent_test.rb +4 -0
- data/test/new_relic/agent/sql_sampler_test.rb +4 -0
- data/test/new_relic/agent/stats_engine/gc_profiler_test.rb +4 -0
- data/test/new_relic/agent/stats_engine/metric_stats_test.rb +21 -17
- data/test/new_relic/agent/stats_engine/samplers_test.rb +20 -10
- data/test/new_relic/agent/stats_engine_test.rb +4 -0
- data/test/new_relic/agent/stats_hash_test.rb +4 -0
- data/test/new_relic/agent/stats_test.rb +4 -0
- data/test/new_relic/agent/thread_profiler_test.rb +4 -0
- data/test/new_relic/agent/thread_test.rb +4 -0
- data/test/new_relic/agent/threaded_test.rb +4 -0
- data/test/new_relic/agent/transaction_info_test.rb +4 -0
- data/test/new_relic/agent/transaction_sample_builder_test.rb +4 -0
- data/test/new_relic/agent/transaction_sampler_test.rb +5 -1
- data/test/new_relic/agent/worker_loop_test.rb +4 -0
- data/test/new_relic/agent_test.rb +7 -3
- data/test/new_relic/coerce_test.rb +4 -0
- data/test/new_relic/collection_helper_test.rb +4 -0
- data/test/new_relic/command/deployments_test.rb +4 -0
- data/test/new_relic/control/class_methods_test.rb +4 -0
- data/test/new_relic/control/frameworks/rails_test.rb +4 -0
- data/test/new_relic/control_test.rb +4 -0
- data/test/new_relic/delayed_job_injection_test.rb +4 -0
- data/test/new_relic/dispatcher_test.rb +4 -0
- data/test/new_relic/fake_collector.rb +16 -4
- data/test/new_relic/framework_test.rb +4 -0
- data/test/new_relic/helper_test.rb +4 -1
- data/test/new_relic/license_test.rb +127 -0
- data/test/new_relic/load_test.rb +4 -0
- data/test/new_relic/local_environment_test.rb +4 -0
- data/test/new_relic/metric_data_test.rb +4 -0
- data/test/new_relic/metric_parser/metric_parser_test.rb +4 -0
- data/test/new_relic/metric_spec_test.rb +4 -0
- data/test/new_relic/noticed_error_test.rb +4 -0
- data/test/new_relic/rack/agent_hooks_test.rb +4 -0
- data/test/new_relic/rack/all_test.rb +4 -0
- data/test/new_relic/rack/browser_monitoring_test.rb +4 -0
- data/test/new_relic/rack/developer_mode_helper_test.rb +4 -0
- data/test/new_relic/rack/developer_mode_test.rb +4 -0
- data/test/new_relic/rack/error_collector_test.rb +4 -0
- data/test/new_relic/transaction_analysis/segment_summary_test.rb +4 -0
- data/test/new_relic/transaction_analysis_test.rb +4 -0
- data/test/new_relic/transaction_sample/composite_segment_test.rb +4 -0
- data/test/new_relic/transaction_sample/fake_segment_test.rb +4 -0
- data/test/new_relic/transaction_sample/segment_test.rb +4 -0
- data/test/new_relic/transaction_sample/summary_segment_test.rb +4 -0
- data/test/new_relic/transaction_sample_subtest_test.rb +4 -0
- data/test/new_relic/transaction_sample_test.rb +4 -0
- data/test/new_relic/version_number_test.rb +4 -0
- data/test/test_contexts.rb +4 -0
- data/test/test_helper.rb +4 -0
- data/ui/helpers/developer_mode_helper.rb +4 -0
- data/ui/helpers/google_pie_chart.rb +4 -0
- data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +3 -0
- data/ui/views/newrelic/file/javascript/transaction_sample.js +3 -0
- data/ui/views/newrelic/index.rhtml +2 -2
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb +4 -0
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_init.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb +4 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb +4 -0
- data.tar.gz.sig +0 -0
- metadata +47 -19
- metadata.gz.sig +0 -0
- data/vendor/gems/dependency_detection-0.0.1.build/LICENSE +0 -5
data/.travis.yml
CHANGED
data/CHANGELOG
CHANGED
@@ -1,6 +1,22 @@
|
|
1
1
|
|
2
2
|
# New Relic Ruby Agent Release Notes #
|
3
3
|
|
4
|
+
## v3.6.0 ##
|
5
|
+
|
6
|
+
* Sidekiq supprt
|
7
|
+
|
8
|
+
The Ruby agent now supports the Sidekiq background job framework. Traces from
|
9
|
+
Sidekiq jobs will automatically show up in the Background tasks on New Relic
|
10
|
+
similar to Resque and Delayed::Job tasks.
|
11
|
+
|
12
|
+
* Experimental Rainbows! support
|
13
|
+
|
14
|
+
The Ruby agent now automatically detects and instruments the Rainbows! web
|
15
|
+
server. This support is considered experimental at present, and has not been
|
16
|
+
tested with all dispatch modes.
|
17
|
+
|
18
|
+
Thanks to Joseph Chen for the contribution.
|
19
|
+
|
4
20
|
## v3.5.8 ##
|
5
21
|
|
6
22
|
* Key Transactions
|
data/LICENSE
CHANGED
@@ -23,22 +23,22 @@ See https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt
|
|
23
23
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
24
24
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25
25
|
|
26
|
-
It
|
27
|
-
|
26
|
+
It includes source derived from 'okjson' by Keith Rarick, distributed under the
|
27
|
+
MIT license.
|
28
28
|
See https://github.com/kr/okjson/blob/bdd1113/okjson.rb#L3-21
|
29
29
|
|
30
30
|
Copyright 2011, 2012 Keith Rarick
|
31
|
-
|
31
|
+
|
32
32
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
33
33
|
of this software and associated documentation files (the "Software"), to deal
|
34
34
|
in the Software without restriction, including without limitation the rights
|
35
35
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
36
36
|
copies of the Software, and to permit persons to whom the Software is
|
37
37
|
furnished to do so, subject to the following conditions:
|
38
|
-
|
38
|
+
|
39
39
|
The above copyright notice and this permission notice shall be included in
|
40
40
|
all copies or substantial portions of the Software.
|
41
|
-
|
41
|
+
|
42
42
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
43
43
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
44
44
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
@@ -47,8 +47,72 @@ See https://github.com/kr/okjson/blob/bdd1113/okjson.rb#L3-21
|
|
47
47
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
48
48
|
THE SOFTWARE.
|
49
49
|
|
50
|
+
It includes source derived from 'system_timer' by David Vollbracht & Philippe
|
51
|
+
Hanrigou, distributed under Ruby's license terms.
|
52
|
+
|
53
|
+
Copyright: (C) 2008 David Vollbracht & Philippe Hanrigou
|
54
|
+
|
55
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
|
56
|
+
You can redistribute it and/or modify it under either the terms of the GPL
|
57
|
+
(see COPYING.txt file), or the conditions below:
|
58
|
+
|
59
|
+
1. You may make and give away verbatim copies of the source form of the
|
60
|
+
software without restriction, provided that you duplicate all of the
|
61
|
+
original copyright notices and associated disclaimers.
|
62
|
+
|
63
|
+
2. You may modify your copy of the software in any way, provided that
|
64
|
+
you do at least ONE of the following:
|
65
|
+
|
66
|
+
a) place your modifications in the Public Domain or otherwise
|
67
|
+
make them Freely Available, such as by posting said
|
68
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
69
|
+
the author to include your modifications in the software.
|
70
|
+
|
71
|
+
b) use the modified software only within your corporation or
|
72
|
+
organization.
|
73
|
+
|
74
|
+
c) rename any non-standard executables so the names do not conflict
|
75
|
+
with standard executables, which must also be provided.
|
76
|
+
|
77
|
+
d) make other distribution arrangements with the author.
|
78
|
+
|
79
|
+
3. You may distribute the software in object code or executable
|
80
|
+
form, provided that you do at least ONE of the following:
|
81
|
+
|
82
|
+
a) distribute the executables and library files of the software,
|
83
|
+
together with instructions (in the manual page or equivalent)
|
84
|
+
on where to get the original distribution.
|
85
|
+
|
86
|
+
b) accompany the distribution with the machine-readable source of
|
87
|
+
the software.
|
88
|
+
|
89
|
+
c) give non-standard executables non-standard names, with
|
90
|
+
instructions on where to get the original software distribution.
|
91
|
+
|
92
|
+
d) make other distribution arrangements with the author.
|
93
|
+
|
94
|
+
4. You may modify and include the part of the software into any other
|
95
|
+
software (possibly commercial). But some files in the distribution
|
96
|
+
are not written by the author, so that they are not under this terms.
|
97
|
+
|
98
|
+
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
|
99
|
+
files under the ./missing directory. See each file for the copying
|
100
|
+
condition.
|
101
|
+
|
102
|
+
5. The scripts and library files supplied as input to or produced as
|
103
|
+
output from the software do not automatically fall under the
|
104
|
+
copyright of the software, but belong to whomever generated them,
|
105
|
+
and may be sold commercially, and may be aggregated with this
|
106
|
+
software.
|
107
|
+
|
108
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
109
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
110
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
111
|
+
PURPOSE.
|
112
|
+
|
113
|
+
|
50
114
|
All other components of this product are
|
51
|
-
Copyright (c) 2008-
|
115
|
+
Copyright (c) 2008-2013 New Relic, Inc. All rights reserved.
|
52
116
|
|
53
117
|
Certain inventions disclosed in this file may be claimed within
|
54
118
|
patents owned or patent applications filed by New Relic, Inc. or third
|
data/init.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
# This is the initialization for the New Relic Ruby Agent when used as
|
2
6
|
# a plugin
|
3
7
|
require 'new_relic/control'
|
data/install.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
if __FILE__ == $0 || $0 =~ /script\/plugin/
|
2
6
|
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
|
3
7
|
require 'new_relic/command'
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
path = File.expand_path('../vendor/gems/dependency_detection-0.0.1.build/lib', File.dirname(__FILE__))
|
2
6
|
$LOAD_PATH << path unless $LOAD_PATH.include?(path)
|
3
7
|
require 'dependency_detection'
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
unless defined?(NewRelic) && defined?(NewRelic::MetricParser)
|
2
6
|
vendored_metric_parser = File.expand_path('../../vendor/gems/metric_parser-0.1.0.pre1/lib/', __FILE__)
|
3
7
|
$:.unshift vendored_metric_parser unless $:.include?(vendored_metric_parser)
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
require 'socket'
|
2
6
|
require 'net/https'
|
3
7
|
require 'net/http'
|
@@ -143,8 +147,7 @@ module NewRelic
|
|
143
147
|
|
144
148
|
metrics << metric
|
145
149
|
metrics.each do |name|
|
146
|
-
|
147
|
-
stats.record_data_point(duration_seconds)
|
150
|
+
NewRelic::Agent.record_metric(name, duration_seconds)
|
148
151
|
end
|
149
152
|
|
150
153
|
if is_error
|
@@ -451,7 +454,7 @@ module NewRelic
|
|
451
454
|
# requests, we need to wait until the children are forked
|
452
455
|
# before connecting, otherwise the parent process sends odd data
|
453
456
|
def using_forking_dispatcher?
|
454
|
-
log_if([:passenger, :unicorn].include?(Agent.config[:dispatcher]),
|
457
|
+
log_if([:passenger, :rainbows, :unicorn].include?(Agent.config[:dispatcher]),
|
455
458
|
:info, "Connecting workers after forking.")
|
456
459
|
end
|
457
460
|
|
@@ -880,8 +883,8 @@ module NewRelic
|
|
880
883
|
# transmission later
|
881
884
|
def harvest_and_send_timeslice_data
|
882
885
|
now = Time.now
|
883
|
-
NewRelic::Agent.
|
884
|
-
NewRelic::Agent.
|
886
|
+
NewRelic::Agent.record_metric('Supportability/invoke_remote', 0.0)
|
887
|
+
NewRelic::Agent.record_metric('Supportability/invoke_remote/metric_data', 0.0)
|
885
888
|
harvest_timeslice_data(now)
|
886
889
|
begin
|
887
890
|
@service.metric_data(@last_harvest_time.to_f,
|
@@ -1028,8 +1031,8 @@ module NewRelic
|
|
1028
1031
|
raise e
|
1029
1032
|
ensure
|
1030
1033
|
NewRelic::Agent::Database.close_connections unless forked?
|
1031
|
-
|
1032
|
-
|
1034
|
+
duration = (Time.now - now).to_f
|
1035
|
+
@stats_engine.record_metrics('Supportability/Harvest', duration)
|
1033
1036
|
end
|
1034
1037
|
|
1035
1038
|
# This method contacts the server to send remaining data and
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
module NewRelic
|
2
6
|
module Agent
|
3
7
|
# This module supports calculation of actual time spent processing requests over the course of
|
@@ -90,7 +94,9 @@ module NewRelic
|
|
90
94
|
|
91
95
|
busy = busy / time_window
|
92
96
|
|
93
|
-
|
97
|
+
if Agent.config[:report_instance_busy]
|
98
|
+
NewRelic::Agent.record_metric('Instance/Busy', busy)
|
99
|
+
end
|
94
100
|
@harvest_start = t0
|
95
101
|
end
|
96
102
|
|
@@ -101,11 +107,6 @@ module NewRelic
|
|
101
107
|
Time.now
|
102
108
|
end
|
103
109
|
|
104
|
-
def instance_busy_stats
|
105
|
-
# Late binding on the Instance/busy stats
|
106
|
-
NewRelic::Agent.agent.stats_engine.get_stats_no_scope 'Instance/Busy'
|
107
|
-
end
|
108
|
-
|
109
110
|
self.reset
|
110
111
|
end
|
111
112
|
end
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
# This class is used by NewRelic::Agent.set_sql_obfuscator to chain multiple
|
2
6
|
# obfuscation blocks when not using the default :replace action
|
3
7
|
class NewRelic::ChainedCall
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
require 'forwardable'
|
2
6
|
require 'new_relic/agent/configuration/defaults'
|
3
7
|
require 'new_relic/agent/configuration/mask_defaults'
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
require 'new_relic/agent/configuration'
|
2
6
|
|
3
7
|
module NewRelic
|
@@ -7,7 +11,7 @@ module NewRelic
|
|
7
11
|
attr_accessor :file_path
|
8
12
|
|
9
13
|
def initialize(path, env)
|
10
|
-
::NewRelic::Agent.logger.
|
14
|
+
::NewRelic::Agent.logger.info("Reading configuration from #{path}")
|
11
15
|
|
12
16
|
config = {}
|
13
17
|
begin
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
require 'new_relic/agent/configuration/manager'
|
2
6
|
|
3
7
|
# The agent's configuration is accessed through a configuration object exposed
|
@@ -1,3 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# This file is distributed under New Relic's license terms.
|
3
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
+
|
1
5
|
require 'new_relic/rack/agent_hooks'
|
2
6
|
require 'new_relic/agent/thread'
|
3
7
|
|
@@ -24,7 +28,7 @@ module NewRelic
|
|
24
28
|
# Same for the referring transaction guid
|
25
29
|
THREAD_TXN_KEY = :newrelic_cross_app_referring_txn_info
|
26
30
|
|
27
|
-
|
31
|
+
|
28
32
|
# Functions for obfuscating and unobfuscating header values
|
29
33
|
module EncodingFunctions
|
30
34
|
|
@@ -149,7 +153,7 @@ module NewRelic
|
|
149
153
|
|
150
154
|
def cross_app_enabled?
|
151
155
|
NewRelic::Agent.config[:cross_process_id] &&
|
152
|
-
(NewRelic::Agent.config[:"cross_application_tracer.enabled"] ||
|
156
|
+
(NewRelic::Agent.config[:"cross_application_tracer.enabled"] ||
|
153
157
|
NewRelic::Agent.config[:cross_application_tracing])
|
154
158
|
end
|
155
159
|
|
@@ -167,14 +171,9 @@ module NewRelic
|
|
167
171
|
end
|
168
172
|
|
169
173
|
def build_payload(timings, content_length)
|
170
|
-
|
171
|
-
# FIXME The transaction name might not be properly encoded. use a json generator
|
172
|
-
# For now we just handle quote characters by dropping them
|
173
|
-
transaction_name = timings.transaction_name.gsub(/["']/, "")
|
174
|
-
|
175
174
|
payload = [
|
176
175
|
NewRelic::Agent.config[:cross_process_id],
|
177
|
-
transaction_name,
|
176
|
+
timings.transaction_name,
|
178
177
|
timings.queue_time_in_seconds.to_f,
|
179
178
|
timings.app_time_in_seconds.to_f,
|
180
179
|
content_length,
|
@@ -200,8 +199,8 @@ module NewRelic
|
|
200
199
|
end
|
201
200
|
|
202
201
|
def set_metrics(id, timings)
|
203
|
-
|
204
|
-
|
202
|
+
metric_name = "ClientApplication/#{id}/all"
|
203
|
+
NewRelic::Agent.record_metric(metric_name, timings.app_time_in_seconds)
|
205
204
|
end
|
206
205
|
|
207
206
|
def decoded_id(request)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#encoding: utf-8
|
2
|
+
# encoding: utf-8
|
3
|
+
# This file is distributed under New Relic's license terms.
|
4
|
+
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
3
5
|
|
4
6
|
module NewRelic
|
5
7
|
module Agent
|
@@ -72,9 +74,8 @@ module NewRelic
|
|
72
74
|
metrics = metrics_for( http, request, response )
|
73
75
|
scoped_metric = metrics.pop
|
74
76
|
|
75
|
-
|
76
|
-
|
77
|
-
get_scoped_metric( scoped_metric ).trace_call( duration )
|
77
|
+
stats_engine.record_metrics(metrics, duration)
|
78
|
+
stats_engine.record_metrics(scoped_metric, duration, :scoped => true)
|
78
79
|
|
79
80
|
# Add TT custom parameters
|
80
81
|
stats_engine.rename_scope_segment( scoped_metric )
|
@@ -135,7 +136,7 @@ module NewRelic
|
|
135
136
|
end
|
136
137
|
|
137
138
|
|
138
|
-
# Return the set of
|
139
|
+
# Return the set of metric names that correspond to
|
139
140
|
# the given +request+ and +response+.
|
140
141
|
def metrics_for( http, request, response )
|
141
142
|
metrics = common_metrics( http )
|
@@ -240,19 +241,6 @@ module NewRelic
|
|
240
241
|
end
|
241
242
|
|
242
243
|
|
243
|
-
# Convenience function for fetching the metric associated with +metric_name+.
|
244
|
-
def get_metric( metric_name )
|
245
|
-
stats_engine.get_stats_no_scope( metric_name )
|
246
|
-
end
|
247
|
-
|
248
|
-
|
249
|
-
# Convenience function for fetching the scoped metric associated with +metric_name+.
|
250
|
-
def get_scoped_metric( metric_name )
|
251
|
-
# Default is to use the metric_name itself as the scope, which is what we want
|
252
|
-
stats_engine.get_stats( metric_name )
|
253
|
-
end
|
254
|
-
|
255
|
-
|
256
244
|
# Fetch a reference to the stats engine.
|
257
245
|
def stats_engine
|
258
246
|
NewRelic::Agent.instance.stats_engine
|