wd_newrelic_rpm 3.3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +591 -0
- data/LICENSE +64 -0
- data/README.rdoc +179 -0
- data/bin/mongrel_rpm +33 -0
- data/bin/newrelic +13 -0
- data/bin/newrelic_cmd +5 -0
- data/cert/cacert.pem +118 -0
- data/cert/oldsite.pem +28 -0
- data/cert/site.pem +27 -0
- data/install.rb +9 -0
- data/lib/conditional_vendored_dependency_detection.rb +3 -0
- data/lib/conditional_vendored_metric_parser.rb +5 -0
- data/lib/new_relic/agent.rb +467 -0
- data/lib/new_relic/agent/agent.rb +1325 -0
- data/lib/new_relic/agent/beacon_configuration.rb +121 -0
- data/lib/new_relic/agent/browser_monitoring.rb +142 -0
- data/lib/new_relic/agent/busy_calculator.rb +99 -0
- data/lib/new_relic/agent/chained_call.rb +13 -0
- data/lib/new_relic/agent/database.rb +223 -0
- data/lib/new_relic/agent/error_collector.rb +251 -0
- data/lib/new_relic/agent/instrumentation.rb +9 -0
- data/lib/new_relic/agent/instrumentation/active_merchant.rb +29 -0
- data/lib/new_relic/agent/instrumentation/active_record.rb +137 -0
- data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +68 -0
- data/lib/new_relic/agent/instrumentation/authlogic.rb +19 -0
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +443 -0
- data/lib/new_relic/agent/instrumentation/data_mapper.rb +238 -0
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +52 -0
- data/lib/new_relic/agent/instrumentation/memcache.rb +80 -0
- data/lib/new_relic/agent/instrumentation/merb/controller.rb +41 -0
- data/lib/new_relic/agent/instrumentation/merb/errors.rb +29 -0
- data/lib/new_relic/agent/instrumentation/metric_frame.rb +353 -0
- data/lib/new_relic/agent/instrumentation/metric_frame/pop.rb +80 -0
- data/lib/new_relic/agent/instrumentation/net.rb +29 -0
- data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +37 -0
- data/lib/new_relic/agent/instrumentation/queue_time.rb +210 -0
- data/lib/new_relic/agent/instrumentation/rack.rb +98 -0
- data/lib/new_relic/agent/instrumentation/rails/action_controller.rb +114 -0
- data/lib/new_relic/agent/instrumentation/rails/action_web_service.rb +42 -0
- data/lib/new_relic/agent/instrumentation/rails/errors.rb +42 -0
- data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +180 -0
- data/lib/new_relic/agent/instrumentation/rails3/errors.rb +37 -0
- data/lib/new_relic/agent/instrumentation/sinatra.rb +78 -0
- data/lib/new_relic/agent/instrumentation/sunspot.rb +29 -0
- data/lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb +21 -0
- data/lib/new_relic/agent/method_tracer.rb +528 -0
- data/lib/new_relic/agent/sampler.rb +50 -0
- data/lib/new_relic/agent/samplers/cpu_sampler.rb +58 -0
- data/lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb +40 -0
- data/lib/new_relic/agent/samplers/memory_sampler.rb +143 -0
- data/lib/new_relic/agent/samplers/object_sampler.rb +26 -0
- data/lib/new_relic/agent/shim_agent.rb +29 -0
- data/lib/new_relic/agent/sql_sampler.rb +286 -0
- data/lib/new_relic/agent/stats_engine.rb +26 -0
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +123 -0
- data/lib/new_relic/agent/stats_engine/metric_stats.rb +187 -0
- data/lib/new_relic/agent/stats_engine/samplers.rb +95 -0
- data/lib/new_relic/agent/stats_engine/transactions.rb +125 -0
- data/lib/new_relic/agent/transaction_info.rb +74 -0
- data/lib/new_relic/agent/transaction_sample_builder.rb +116 -0
- data/lib/new_relic/agent/transaction_sampler.rb +468 -0
- data/lib/new_relic/agent/worker_loop.rb +89 -0
- data/lib/new_relic/collection_helper.rb +77 -0
- data/lib/new_relic/command.rb +85 -0
- data/lib/new_relic/commands/deployments.rb +105 -0
- data/lib/new_relic/commands/install.rb +80 -0
- data/lib/new_relic/control.rb +46 -0
- data/lib/new_relic/control/class_methods.rb +53 -0
- data/lib/new_relic/control/configuration.rb +206 -0
- data/lib/new_relic/control/frameworks.rb +10 -0
- data/lib/new_relic/control/frameworks/external.rb +16 -0
- data/lib/new_relic/control/frameworks/merb.rb +31 -0
- data/lib/new_relic/control/frameworks/rails.rb +164 -0
- data/lib/new_relic/control/frameworks/rails3.rb +75 -0
- data/lib/new_relic/control/frameworks/ruby.rb +42 -0
- data/lib/new_relic/control/frameworks/sinatra.rb +20 -0
- data/lib/new_relic/control/instance_methods.rb +179 -0
- data/lib/new_relic/control/instrumentation.rb +100 -0
- data/lib/new_relic/control/logging_methods.rb +143 -0
- data/lib/new_relic/control/profiling.rb +25 -0
- data/lib/new_relic/control/server_methods.rb +114 -0
- data/lib/new_relic/data_serialization.rb +151 -0
- data/lib/new_relic/delayed_job_injection.rb +51 -0
- data/lib/new_relic/language_support.rb +73 -0
- data/lib/new_relic/local_environment.rb +428 -0
- data/lib/new_relic/merbtasks.rb +6 -0
- data/lib/new_relic/metric_data.rb +51 -0
- data/lib/new_relic/metric_spec.rb +76 -0
- data/lib/new_relic/metrics.rb +9 -0
- data/lib/new_relic/noticed_error.rb +29 -0
- data/lib/new_relic/rack/browser_monitoring.rb +76 -0
- data/lib/new_relic/rack/developer_mode.rb +268 -0
- data/lib/new_relic/recipes.rb +77 -0
- data/lib/new_relic/stats.rb +335 -0
- data/lib/new_relic/timer_lib.rb +27 -0
- data/lib/new_relic/transaction_analysis.rb +77 -0
- data/lib/new_relic/transaction_analysis/segment_summary.rb +49 -0
- data/lib/new_relic/transaction_sample.rb +261 -0
- data/lib/new_relic/transaction_sample/composite_segment.rb +27 -0
- data/lib/new_relic/transaction_sample/fake_segment.rb +9 -0
- data/lib/new_relic/transaction_sample/segment.rb +203 -0
- data/lib/new_relic/transaction_sample/summary_segment.rb +21 -0
- data/lib/new_relic/url_rule.rb +14 -0
- data/lib/new_relic/version.rb +55 -0
- data/lib/newrelic_rpm.rb +49 -0
- data/lib/tasks/all.rb +4 -0
- data/lib/tasks/install.rake +7 -0
- data/lib/tasks/tests.rake +19 -0
- data/newrelic.yml +265 -0
- data/newrelic_rpm.gemspec +312 -0
- data/recipes/newrelic.rb +6 -0
- data/test/active_record_fixtures.rb +77 -0
- data/test/config/newrelic.yml +48 -0
- data/test/config/test_control.rb +48 -0
- data/test/fixtures/proc_cpuinfo.txt +575 -0
- data/test/new_relic/agent/agent/connect_test.rb +403 -0
- data/test/new_relic/agent/agent/start_test.rb +255 -0
- data/test/new_relic/agent/agent/start_worker_thread_test.rb +153 -0
- data/test/new_relic/agent/agent_test.rb +140 -0
- data/test/new_relic/agent/agent_test_controller.rb +77 -0
- data/test/new_relic/agent/agent_test_controller_test.rb +382 -0
- data/test/new_relic/agent/apdex_from_server_test.rb +9 -0
- data/test/new_relic/agent/beacon_configuration_test.rb +111 -0
- data/test/new_relic/agent/browser_monitoring_test.rb +323 -0
- data/test/new_relic/agent/busy_calculator_test.rb +81 -0
- data/test/new_relic/agent/database_test.rb +149 -0
- data/test/new_relic/agent/error_collector/notice_error_test.rb +257 -0
- data/test/new_relic/agent/error_collector_test.rb +192 -0
- data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +576 -0
- data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +34 -0
- data/test/new_relic/agent/instrumentation/instrumentation_test.rb +11 -0
- data/test/new_relic/agent/instrumentation/metric_frame/pop_test.rb +171 -0
- data/test/new_relic/agent/instrumentation/metric_frame_test.rb +50 -0
- data/test/new_relic/agent/instrumentation/net_instrumentation_test.rb +84 -0
- data/test/new_relic/agent/instrumentation/queue_time_test.rb +382 -0
- data/test/new_relic/agent/instrumentation/rack_test.rb +35 -0
- data/test/new_relic/agent/instrumentation/task_instrumentation_test.rb +184 -0
- data/test/new_relic/agent/memcache_instrumentation_test.rb +143 -0
- data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +164 -0
- data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +234 -0
- data/test/new_relic/agent/method_tracer_test.rb +386 -0
- data/test/new_relic/agent/mock_scope_listener.rb +23 -0
- data/test/new_relic/agent/rpm_agent_test.rb +149 -0
- data/test/new_relic/agent/sampler_test.rb +19 -0
- data/test/new_relic/agent/shim_agent_test.rb +20 -0
- data/test/new_relic/agent/sql_sampler_test.rb +192 -0
- data/test/new_relic/agent/stats_engine/metric_stats/harvest_test.rb +150 -0
- data/test/new_relic/agent/stats_engine/metric_stats_test.rb +82 -0
- data/test/new_relic/agent/stats_engine/samplers_test.rb +99 -0
- data/test/new_relic/agent/stats_engine_test.rb +220 -0
- data/test/new_relic/agent/transaction_info_test.rb +13 -0
- data/test/new_relic/agent/transaction_sample_builder_test.rb +219 -0
- data/test/new_relic/agent/transaction_sampler_test.rb +967 -0
- data/test/new_relic/agent/worker_loop_test.rb +66 -0
- data/test/new_relic/agent_test.rb +187 -0
- data/test/new_relic/collection_helper_test.rb +149 -0
- data/test/new_relic/command/deployments_test.rb +68 -0
- data/test/new_relic/control/class_methods_test.rb +62 -0
- data/test/new_relic/control/configuration_test.rb +84 -0
- data/test/new_relic/control/logging_methods_test.rb +185 -0
- data/test/new_relic/control_test.rb +256 -0
- data/test/new_relic/data_serialization_test.rb +208 -0
- data/test/new_relic/delayed_job_injection_test.rb +16 -0
- data/test/new_relic/local_environment_test.rb +85 -0
- data/test/new_relic/metric_data_test.rb +125 -0
- data/test/new_relic/metric_parser/metric_parser_test.rb +11 -0
- data/test/new_relic/metric_spec_test.rb +95 -0
- data/test/new_relic/rack/all_test.rb +11 -0
- data/test/new_relic/rack/browser_monitoring_test.rb +142 -0
- data/test/new_relic/rack/developer_mode_helper_test.rb +141 -0
- data/test/new_relic/rack/developer_mode_test.rb +74 -0
- data/test/new_relic/stats_test.rb +411 -0
- data/test/new_relic/transaction_analysis/segment_summary_test.rb +91 -0
- data/test/new_relic/transaction_analysis_test.rb +121 -0
- data/test/new_relic/transaction_sample/composite_segment_test.rb +35 -0
- data/test/new_relic/transaction_sample/fake_segment_test.rb +17 -0
- data/test/new_relic/transaction_sample/segment_test.rb +389 -0
- data/test/new_relic/transaction_sample/summary_segment_test.rb +31 -0
- data/test/new_relic/transaction_sample_subtest_test.rb +56 -0
- data/test/new_relic/transaction_sample_test.rb +177 -0
- data/test/new_relic/version_number_test.rb +89 -0
- data/test/script/build_test_gem.sh +51 -0
- data/test/script/ci.sh +94 -0
- data/test/script/ci_bench.sh +52 -0
- data/test/test_contexts.rb +29 -0
- data/test/test_helper.rb +155 -0
- data/ui/helpers/developer_mode_helper.rb +357 -0
- data/ui/helpers/google_pie_chart.rb +48 -0
- data/ui/views/layouts/newrelic_default.rhtml +47 -0
- data/ui/views/newrelic/_explain_plans.rhtml +27 -0
- data/ui/views/newrelic/_sample.rhtml +20 -0
- data/ui/views/newrelic/_segment.rhtml +28 -0
- data/ui/views/newrelic/_segment_limit_message.rhtml +1 -0
- data/ui/views/newrelic/_segment_row.rhtml +12 -0
- data/ui/views/newrelic/_show_sample_detail.rhtml +24 -0
- data/ui/views/newrelic/_show_sample_sql.rhtml +24 -0
- data/ui/views/newrelic/_show_sample_summary.rhtml +3 -0
- data/ui/views/newrelic/_sql_row.rhtml +16 -0
- data/ui/views/newrelic/_stack_trace.rhtml +15 -0
- data/ui/views/newrelic/_table.rhtml +12 -0
- data/ui/views/newrelic/explain_sql.rhtml +43 -0
- data/ui/views/newrelic/file/images/arrow-close.png +0 -0
- data/ui/views/newrelic/file/images/arrow-open.png +0 -0
- data/ui/views/newrelic/file/images/blue_bar.gif +0 -0
- data/ui/views/newrelic/file/images/file_icon.png +0 -0
- data/ui/views/newrelic/file/images/gray_bar.gif +0 -0
- data/ui/views/newrelic/file/images/new-relic-rpm-desktop.gif +0 -0
- data/ui/views/newrelic/file/images/new_relic_rpm_desktop.gif +0 -0
- data/ui/views/newrelic/file/images/textmate.png +0 -0
- data/ui/views/newrelic/file/javascript/jquery-1.4.2.js +6240 -0
- data/ui/views/newrelic/file/javascript/transaction_sample.js +120 -0
- data/ui/views/newrelic/file/stylesheets/style.css +490 -0
- data/ui/views/newrelic/index.rhtml +71 -0
- data/ui/views/newrelic/sample_not_found.rhtml +2 -0
- data/ui/views/newrelic/show_sample.rhtml +80 -0
- data/ui/views/newrelic/show_source.rhtml +3 -0
- data/ui/views/newrelic/threads.rhtml +53 -0
- data/vendor/gems/dependency_detection-0.0.1.build/LICENSE +5 -0
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +67 -0
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb +3 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb +1 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb +64 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb +14 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb +31 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb +33 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb +89 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb +46 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb +67 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb +43 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb +17 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb +48 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb +24 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb +28 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb +17 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb +11 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb +55 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb +40 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb +20 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb +31 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb +17 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb +34 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb +55 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb +135 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb +27 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb +40 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb +7 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb +27 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb +15 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb +54 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb +6 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb +6 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb +20 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb +20 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb +5 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb +70 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb +18 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb +14 -0
- data/vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb +133 -0
- metadata +376 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'new_relic/transaction_sample'
|
2
|
+
require 'new_relic/transaction_sample/segment'
|
3
|
+
module NewRelic
|
4
|
+
class TransactionSample
|
5
|
+
class SummarySegment < Segment
|
6
|
+
def initialize(segment)
|
7
|
+
super segment.entry_timestamp, segment.metric_name, nil
|
8
|
+
|
9
|
+
add_segments segment.called_segments
|
10
|
+
|
11
|
+
end_trace segment.exit_timestamp
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_segments(segments)
|
15
|
+
segments.collect do |segment|
|
16
|
+
SummarySegment.new(segment)
|
17
|
+
end.each {|segment| add_called_segment(segment)}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Represents url mapping rules stored on the server. These rules should be applied
|
2
|
+
# to URLs which are not normalized into controller class/action by Rails routes.
|
3
|
+
# Insantiated strictly by Marshal.
|
4
|
+
class NewRelic::UrlRule
|
5
|
+
attr_reader :match_expression, :replacement, :eval_order, :terminate_chain
|
6
|
+
|
7
|
+
def apply url
|
8
|
+
return nil
|
9
|
+
end
|
10
|
+
|
11
|
+
class RuleSet
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
module NewRelic
|
3
|
+
module VERSION #:nodoc:
|
4
|
+
MAJOR = 3
|
5
|
+
MINOR = 3
|
6
|
+
TINY = 4
|
7
|
+
BUILD = 1 # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
|
8
|
+
STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
|
9
|
+
end
|
10
|
+
|
11
|
+
# Helper class for managing version comparisons
|
12
|
+
class VersionNumber
|
13
|
+
attr_reader :parts
|
14
|
+
include Comparable
|
15
|
+
def initialize(version_string)
|
16
|
+
version_string ||= '1.0.0'
|
17
|
+
@parts = version_string.split('.').map{|n| n =~ /^\d+$/ ? n.to_i : n}
|
18
|
+
end
|
19
|
+
def major_version; @parts[0]; end
|
20
|
+
def minor_version; @parts[1]; end
|
21
|
+
def tiny_version; @parts[2]; end
|
22
|
+
|
23
|
+
def <=>(other)
|
24
|
+
other = self.class.new(other) if other.is_a? String
|
25
|
+
self.class.compare(self.parts, other.parts)
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_s
|
29
|
+
@parts.join(".")
|
30
|
+
end
|
31
|
+
|
32
|
+
def hash
|
33
|
+
@parts.hash
|
34
|
+
end
|
35
|
+
|
36
|
+
def eql? other
|
37
|
+
(self <=> other) == 0
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def self.compare(parts1, parts2)
|
42
|
+
a, b = parts1.first, parts2.first
|
43
|
+
case
|
44
|
+
when a.nil? && b.nil? then 0
|
45
|
+
when a.nil? then b.is_a?(Fixnum) ? -1 : 1
|
46
|
+
when b.nil? then -compare(parts2, parts1)
|
47
|
+
when a.to_s == b.to_s then compare(parts1[1..-1], parts2[1..-1])
|
48
|
+
when a.is_a?(String) then b.is_a?(Fixnum) ? -1 : (a <=> b)
|
49
|
+
when b.is_a?(String) then -compare(parts2, parts1)
|
50
|
+
else # they are both fixnums, not nil
|
51
|
+
a <=> b
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/newrelic_rpm.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# == New Relic Initialization
|
2
|
+
#
|
3
|
+
# When installed as a gem, you can activate the New Relic agent one of the following ways:
|
4
|
+
#
|
5
|
+
# For Rails, add:
|
6
|
+
# config.gem 'newrelic_rpm'
|
7
|
+
# to your initialization sequence.
|
8
|
+
#
|
9
|
+
# For merb, do
|
10
|
+
# dependency 'newrelic_rpm'
|
11
|
+
# in the Merb config/init.rb
|
12
|
+
#
|
13
|
+
# For Sinatra, do
|
14
|
+
# require 'newrelic_rpm'
|
15
|
+
# after requiring 'sinatra'.
|
16
|
+
#
|
17
|
+
# For other frameworks, or to manage the agent manually, invoke NewRelic::Agent#manual_start
|
18
|
+
# directly.
|
19
|
+
#
|
20
|
+
require 'new_relic/control'
|
21
|
+
if defined?(Merb) && defined?(Merb::BootLoader)
|
22
|
+
module NewRelic
|
23
|
+
class MerbBootLoader < Merb::BootLoader
|
24
|
+
after Merb::BootLoader::ChooseAdapter
|
25
|
+
def self.run
|
26
|
+
NewRelic::Control.instance.init_plugin
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
elsif defined? Rails
|
31
|
+
if Rails.respond_to?(:version) && Rails.version =~ /^3/
|
32
|
+
module NewRelic
|
33
|
+
class Railtie < Rails::Railtie
|
34
|
+
|
35
|
+
initializer "newrelic_rpm.start_plugin" do |app|
|
36
|
+
NewRelic::Control.instance.init_plugin(:config => app.config)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
else
|
41
|
+
# After verison 2.0 of Rails we can access the configuration directly.
|
42
|
+
# We need it to add dev mode routes after initialization finished.
|
43
|
+
config = nil
|
44
|
+
config = Rails.configuration if Rails.respond_to?(:configuration)
|
45
|
+
NewRelic::Control.instance.init_plugin :config => config
|
46
|
+
end
|
47
|
+
else
|
48
|
+
NewRelic::Control.instance.init_plugin
|
49
|
+
end
|
data/lib/tasks/all.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# run unit tests for the NewRelic Agent
|
2
|
+
begin
|
3
|
+
require 'rake/test_task'
|
4
|
+
rescue LoadError => e
|
5
|
+
end
|
6
|
+
|
7
|
+
if defined? Rake::TestTask
|
8
|
+
namespace :test do
|
9
|
+
AGENT_HOME = File.expand_path(File.join(File.dirname(__FILE__), "..",".."))
|
10
|
+
Rake::TestTask.new(:newrelic) do |t|
|
11
|
+
t.libs << "#{AGENT_HOME}/test"
|
12
|
+
t.libs << "#{AGENT_HOME}/lib"
|
13
|
+
t.pattern = "#{AGENT_HOME}/test/**/*_test.rb"
|
14
|
+
t.verbose = true
|
15
|
+
end
|
16
|
+
Rake::Task['test:newrelic'].comment = "Run the unit tests for the Agent"
|
17
|
+
task :newrelic => :environment
|
18
|
+
end
|
19
|
+
end
|
data/newrelic.yml
ADDED
@@ -0,0 +1,265 @@
|
|
1
|
+
#
|
2
|
+
# This file configures the New Relic Ruby Agent, New Relic monitors
|
3
|
+
# Rails applications with deep visibility and low overhead. For more
|
4
|
+
# information, visit www.newrelic.com
|
5
|
+
#
|
6
|
+
# Generated <%= Time.now.strftime('%B %d, %Y') %>, for version <%= NewRelic::VERSION::STRING %>
|
7
|
+
#
|
8
|
+
# <%= generated_for_user %>
|
9
|
+
|
10
|
+
|
11
|
+
# Here are the settings that are common to all environments
|
12
|
+
common: &default_settings
|
13
|
+
# ============================== LICENSE KEY ===============================
|
14
|
+
|
15
|
+
# You must specify the license key associated with your New Relic
|
16
|
+
# account. This key binds your Agent's data to your account in the
|
17
|
+
# New Relic service.
|
18
|
+
license_key: '<%= license_key %>'
|
19
|
+
|
20
|
+
# Agent Enabled (Rails Only)
|
21
|
+
# Use this setting to force the agent to run or not run.
|
22
|
+
# Default is 'auto' which means the agent will install and run only
|
23
|
+
# if a valid dispatcher such as Mongrel is running. This prevents
|
24
|
+
# it from running with Rake or the console. Set to false to
|
25
|
+
# completely turn the agent off regardless of the other settings.
|
26
|
+
# Valid values are true, false and auto.
|
27
|
+
#
|
28
|
+
# agent_enabled: auto
|
29
|
+
|
30
|
+
# Application Name Set this to be the name of your application as
|
31
|
+
# you'd like it show up in New Relic. The service will then auto-map
|
32
|
+
# instances of your application into an "application" on your
|
33
|
+
# dashboard page. If you want to map this instance into multiple
|
34
|
+
# apps, like "AJAX Requests" and "All UI" then specify a semicolon
|
35
|
+
# separated list of up to three distinct names, or a yaml list.
|
36
|
+
# Defaults to the capitalized RAILS_ENV or RACK_ENV (i.e.,
|
37
|
+
# Production, Staging, etc)
|
38
|
+
#
|
39
|
+
# Example:
|
40
|
+
#
|
41
|
+
# app_name:
|
42
|
+
# - Ajax Service
|
43
|
+
# - All Services
|
44
|
+
#
|
45
|
+
app_name: <%= @app_name %>
|
46
|
+
|
47
|
+
# When "true", the agent collects performance data about your
|
48
|
+
# application and reports this data to the New Relic service at
|
49
|
+
# newrelic.com. This global switch is normally overridden for each
|
50
|
+
# environment below. (formerly called 'enabled')
|
51
|
+
monitor_mode: true
|
52
|
+
|
53
|
+
# Developer mode should be off in every environment but
|
54
|
+
# development as it has very high overhead in memory.
|
55
|
+
developer_mode: false
|
56
|
+
|
57
|
+
# The newrelic agent generates its own log file to keep its logging
|
58
|
+
# information separate from that of your application. Specify its
|
59
|
+
# log level here.
|
60
|
+
log_level: info
|
61
|
+
|
62
|
+
# Optionally set the path to the log file This is expanded from the
|
63
|
+
# root directory (may be relative or absolute, e.g. 'log/' or
|
64
|
+
# '/var/log/') The agent will attempt to create this directory if it
|
65
|
+
# does not exist.
|
66
|
+
# log_file_path: 'log'
|
67
|
+
|
68
|
+
# Optionally set the name of the log file, defaults to 'newrelic_agent.log'
|
69
|
+
# log_file_name: 'newrelic_agent.log'
|
70
|
+
|
71
|
+
# The newrelic agent communicates with the service via http by
|
72
|
+
# default. If you want to communicate via https to increase
|
73
|
+
# security, then turn on SSL by setting this value to true. Note,
|
74
|
+
# this will result in increased CPU overhead to perform the
|
75
|
+
# encryption involved in SSL communication, but this work is done
|
76
|
+
# asynchronously to the threads that process your application code,
|
77
|
+
# so it should not impact response times.
|
78
|
+
ssl: false
|
79
|
+
|
80
|
+
# EXPERIMENTAL: enable verification of the SSL certificate sent by
|
81
|
+
# the server. This setting has no effect unless SSL is enabled
|
82
|
+
# above. This may block your application. Only enable it if the data
|
83
|
+
# you send us needs end-to-end verified certificates.
|
84
|
+
#
|
85
|
+
# This means we cannot cache the DNS lookup, so each request to the
|
86
|
+
# service will perform a lookup. It also means that we cannot
|
87
|
+
# use a non-blocking lookup, so in a worst case, if you have DNS
|
88
|
+
# problems, your app may block indefinitely.
|
89
|
+
# verify_certificate: true
|
90
|
+
|
91
|
+
# Set your application's Apdex threshold value with the 'apdex_t'
|
92
|
+
# setting, in seconds. The apdex_t value determines the buckets used
|
93
|
+
# to compute your overall Apdex score.
|
94
|
+
# Requests that take less than apdex_t seconds to process will be
|
95
|
+
# classified as Satisfying transactions; more than apdex_t seconds
|
96
|
+
# as Tolerating transactions; and more than four times the apdex_t
|
97
|
+
# value as Frustrating transactions.
|
98
|
+
# For more about the Apdex standard, see
|
99
|
+
# http://newrelic.com/docs/general/apdex
|
100
|
+
|
101
|
+
apdex_t: 0.5
|
102
|
+
|
103
|
+
#============================== Browser Monitoring ===============================
|
104
|
+
# New Relic Real User Monitoring gives you insight into the performance real users are
|
105
|
+
# experiencing with your website. This is accomplished by measuring the time it takes for
|
106
|
+
# your users' browsers to download and render your web pages by injecting a small amount
|
107
|
+
# of JavaScript code into the header and footer of each page.
|
108
|
+
browser_monitoring:
|
109
|
+
# By default the agent automatically injects the monitoring JavaScript
|
110
|
+
# into web pages. Set this attribute to false to turn off this behavior.
|
111
|
+
auto_instrument: true
|
112
|
+
|
113
|
+
# Proxy settings for connecting to the service.
|
114
|
+
#
|
115
|
+
# If a proxy is used, the host setting is required. Other settings
|
116
|
+
# are optional. Default port is 8080.
|
117
|
+
#
|
118
|
+
# proxy_host: hostname
|
119
|
+
# proxy_port: 8080
|
120
|
+
# proxy_user:
|
121
|
+
# proxy_pass:
|
122
|
+
|
123
|
+
|
124
|
+
# Tells transaction tracer and error collector (when enabled)
|
125
|
+
# whether or not to capture HTTP params. When true, frameworks can
|
126
|
+
# exclude HTTP parameters from being captured.
|
127
|
+
# Rails: the RoR filter_parameter_logging excludes parameters
|
128
|
+
# Java: create a config setting called "ignored_params" and set it to
|
129
|
+
# a comma separated list of HTTP parameter names.
|
130
|
+
# ex: ignored_params: credit_card, ssn, password
|
131
|
+
capture_params: false
|
132
|
+
|
133
|
+
|
134
|
+
# Transaction tracer captures deep information about slow
|
135
|
+
# transactions and sends this to the service once a
|
136
|
+
# minute. Included in the transaction is the exact call sequence of
|
137
|
+
# the transactions including any SQL statements issued.
|
138
|
+
transaction_tracer:
|
139
|
+
|
140
|
+
# Transaction tracer is enabled by default. Set this to false to
|
141
|
+
# turn it off. This feature is only available at the Professional
|
142
|
+
# and above product levels.
|
143
|
+
enabled: true
|
144
|
+
|
145
|
+
# Threshold in seconds for when to collect a transaction
|
146
|
+
# trace. When the response time of a controller action exceeds
|
147
|
+
# this threshold, a transaction trace will be recorded and sent to
|
148
|
+
# the service. Valid values are any float value, or (default)
|
149
|
+
# "apdex_f", which will use the threshold for an dissatisfying
|
150
|
+
# Apdex controller action - four times the Apdex T value.
|
151
|
+
transaction_threshold: apdex_f
|
152
|
+
|
153
|
+
# When transaction tracer is on, SQL statements can optionally be
|
154
|
+
# recorded. The recorder has three modes, "off" which sends no
|
155
|
+
# SQL, "raw" which sends the SQL statement in its original form,
|
156
|
+
# and "obfuscated", which strips out numeric and string literals
|
157
|
+
record_sql: obfuscated
|
158
|
+
|
159
|
+
# Threshold in seconds for when to collect stack trace for a SQL
|
160
|
+
# call. In other words, when SQL statements exceed this threshold,
|
161
|
+
# then capture and send the current stack trace. This is
|
162
|
+
# helpful for pinpointing where long SQL calls originate from
|
163
|
+
stack_trace_threshold: 0.500
|
164
|
+
|
165
|
+
# Determines whether the agent will capture query plans for slow
|
166
|
+
# SQL queries. Only supported in mysql and postgres. Should be
|
167
|
+
# set to false when using other adapters.
|
168
|
+
# explain_enabled: true
|
169
|
+
|
170
|
+
# Threshold for query execution time below which query plans will not
|
171
|
+
# not be captured. Relevant only when `explain_enabled` is true.
|
172
|
+
# explain_threshold: 0.5
|
173
|
+
|
174
|
+
# Error collector captures information about uncaught exceptions and
|
175
|
+
# sends them to the service for viewing
|
176
|
+
error_collector:
|
177
|
+
|
178
|
+
# Error collector is enabled by default. Set this to false to turn
|
179
|
+
# it off. This feature is only available at the Professional and above
|
180
|
+
# product levels
|
181
|
+
enabled: true
|
182
|
+
|
183
|
+
# Rails Only - tells error collector whether or not to capture a
|
184
|
+
# source snippet around the place of the error when errors are View
|
185
|
+
# related.
|
186
|
+
capture_source: true
|
187
|
+
|
188
|
+
# To stop specific errors from reporting to New Relic, set this property
|
189
|
+
# to comma separated values. Default is to ignore routing errors
|
190
|
+
# which are how 404's get triggered.
|
191
|
+
#
|
192
|
+
ignore_errors: ActionController::RoutingError
|
193
|
+
|
194
|
+
# (Advanced) Uncomment this to ensure the cpu and memory samplers
|
195
|
+
# won't run. Useful when you are using the agent to monitor an
|
196
|
+
# external resource
|
197
|
+
# disable_samplers: true
|
198
|
+
|
199
|
+
# If you aren't interested in visibility in these areas, you can
|
200
|
+
# disable the instrumentation to reduce overhead.
|
201
|
+
#
|
202
|
+
# disable_view_instrumentation: true
|
203
|
+
# disable_activerecord_instrumentation: true
|
204
|
+
# disable_memcache_instrumentation: true
|
205
|
+
# disable_dj: true
|
206
|
+
|
207
|
+
# If you're interested in capturing memcache keys as though they
|
208
|
+
# were SQL uncomment this flag. Note that this does increase
|
209
|
+
# overhead slightly on every memcached call, and can have security
|
210
|
+
# implications if your memcached keys are sensitive
|
211
|
+
# capture_memcache_keys: true
|
212
|
+
|
213
|
+
# Certain types of instrumentation such as GC stats will not work if
|
214
|
+
# you are running multi-threaded. Please let us know.
|
215
|
+
# multi_threaded = false
|
216
|
+
|
217
|
+
# Application Environments
|
218
|
+
# ------------------------------------------
|
219
|
+
# Environment specific settings are in this section.
|
220
|
+
# For Rails applications, RAILS_ENV is used to determine the environment
|
221
|
+
# For Java applications, pass -Dnewrelic.environment <environment> to set
|
222
|
+
# the environment
|
223
|
+
|
224
|
+
# NOTE if your application has other named environments, you should
|
225
|
+
# provide newrelic configuration settings for these environments here.
|
226
|
+
|
227
|
+
development:
|
228
|
+
<<: *default_settings
|
229
|
+
# Turn off communication to New Relic service in development mode (also
|
230
|
+
# 'enabled').
|
231
|
+
# NOTE: for initial evaluation purposes, you may want to temporarily
|
232
|
+
# turn the agent on in development mode.
|
233
|
+
monitor_mode: false
|
234
|
+
|
235
|
+
# Rails Only - when running in Developer Mode, the New Relic Agent will
|
236
|
+
# present performance information on the last 100 transactions you have
|
237
|
+
# executed since starting the mongrel.
|
238
|
+
# NOTE: There is substantial overhead when running in developer mode.
|
239
|
+
# Do not use for production or load testing.
|
240
|
+
developer_mode: true
|
241
|
+
|
242
|
+
# Enable textmate links
|
243
|
+
# textmate: true
|
244
|
+
|
245
|
+
test:
|
246
|
+
<<: *default_settings
|
247
|
+
# It almost never makes sense to turn on the agent when running
|
248
|
+
# unit, functional or integration tests or the like.
|
249
|
+
monitor_mode: false
|
250
|
+
|
251
|
+
# Turn on the agent in production for 24x7 monitoring. NewRelic
|
252
|
+
# testing shows an average performance impact of < 5 ms per
|
253
|
+
# transaction, you you can leave this on all the time without
|
254
|
+
# incurring any user-visible performance degradation.
|
255
|
+
production:
|
256
|
+
<<: *default_settings
|
257
|
+
monitor_mode: true
|
258
|
+
|
259
|
+
# Many applications have a staging environment which behaves
|
260
|
+
# identically to production. Support for that environment is provided
|
261
|
+
# here. By default, the staging environment has the agent turned on.
|
262
|
+
staging:
|
263
|
+
<<: *default_settings
|
264
|
+
monitor_mode: true
|
265
|
+
app_name: <%= @app_name %> (Staging)
|
@@ -0,0 +1,312 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "wd_newrelic_rpm"
|
8
|
+
s.version = "3.3.4.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Bill Kayser", "Jon Guymon", "Justin George", "Darin Swanson"]
|
12
|
+
s.date = "2012-04-24"
|
13
|
+
s.description = "Weasel Diesel compatible version of rpm. New Relic is a performance management system, developed by New Relic,\nInc (http://www.newrelic.com). New Relic provides you with deep\ninformation about the performance of your web application as it runs\nin production. The New Relic Ruby Agent is dual-purposed as a either a\nGem or plugin, hosted on\nhttp://github.com/newrelic/rpm/\n"
|
14
|
+
s.email = "support@newrelic.com"
|
15
|
+
s.executables = ["newrelic_cmd", "mongrel_rpm", "newrelic"]
|
16
|
+
s.extra_rdoc_files = [
|
17
|
+
"CHANGELOG",
|
18
|
+
"LICENSE",
|
19
|
+
"README.rdoc",
|
20
|
+
"newrelic.yml"
|
21
|
+
]
|
22
|
+
s.files = [
|
23
|
+
"CHANGELOG",
|
24
|
+
"LICENSE",
|
25
|
+
"README.rdoc",
|
26
|
+
"bin/mongrel_rpm",
|
27
|
+
"bin/newrelic",
|
28
|
+
"bin/newrelic_cmd",
|
29
|
+
"cert/cacert.pem",
|
30
|
+
"cert/oldsite.pem",
|
31
|
+
"cert/site.pem",
|
32
|
+
"install.rb",
|
33
|
+
"lib/conditional_vendored_dependency_detection.rb",
|
34
|
+
"lib/conditional_vendored_metric_parser.rb",
|
35
|
+
"lib/new_relic/agent.rb",
|
36
|
+
"lib/new_relic/agent/agent.rb",
|
37
|
+
"lib/new_relic/agent/beacon_configuration.rb",
|
38
|
+
"lib/new_relic/agent/browser_monitoring.rb",
|
39
|
+
"lib/new_relic/agent/busy_calculator.rb",
|
40
|
+
"lib/new_relic/agent/chained_call.rb",
|
41
|
+
"lib/new_relic/agent/database.rb",
|
42
|
+
"lib/new_relic/agent/error_collector.rb",
|
43
|
+
"lib/new_relic/agent/instrumentation.rb",
|
44
|
+
"lib/new_relic/agent/instrumentation/active_merchant.rb",
|
45
|
+
"lib/new_relic/agent/instrumentation/active_record.rb",
|
46
|
+
"lib/new_relic/agent/instrumentation/acts_as_solr.rb",
|
47
|
+
"lib/new_relic/agent/instrumentation/authlogic.rb",
|
48
|
+
"lib/new_relic/agent/instrumentation/controller_instrumentation.rb",
|
49
|
+
"lib/new_relic/agent/instrumentation/data_mapper.rb",
|
50
|
+
"lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb",
|
51
|
+
"lib/new_relic/agent/instrumentation/memcache.rb",
|
52
|
+
"lib/new_relic/agent/instrumentation/merb/controller.rb",
|
53
|
+
"lib/new_relic/agent/instrumentation/merb/errors.rb",
|
54
|
+
"lib/new_relic/agent/instrumentation/metric_frame.rb",
|
55
|
+
"lib/new_relic/agent/instrumentation/metric_frame/pop.rb",
|
56
|
+
"lib/new_relic/agent/instrumentation/net.rb",
|
57
|
+
"lib/new_relic/agent/instrumentation/passenger_instrumentation.rb",
|
58
|
+
"lib/new_relic/agent/instrumentation/queue_time.rb",
|
59
|
+
"lib/new_relic/agent/instrumentation/rack.rb",
|
60
|
+
"lib/new_relic/agent/instrumentation/rails/action_controller.rb",
|
61
|
+
"lib/new_relic/agent/instrumentation/rails/action_web_service.rb",
|
62
|
+
"lib/new_relic/agent/instrumentation/rails/errors.rb",
|
63
|
+
"lib/new_relic/agent/instrumentation/rails3/action_controller.rb",
|
64
|
+
"lib/new_relic/agent/instrumentation/rails3/errors.rb",
|
65
|
+
"lib/new_relic/agent/instrumentation/sinatra.rb",
|
66
|
+
"lib/new_relic/agent/instrumentation/sunspot.rb",
|
67
|
+
"lib/new_relic/agent/instrumentation/unicorn_instrumentation.rb",
|
68
|
+
"lib/new_relic/agent/method_tracer.rb",
|
69
|
+
"lib/new_relic/agent/sampler.rb",
|
70
|
+
"lib/new_relic/agent/samplers/cpu_sampler.rb",
|
71
|
+
"lib/new_relic/agent/samplers/delayed_job_lock_sampler.rb",
|
72
|
+
"lib/new_relic/agent/samplers/memory_sampler.rb",
|
73
|
+
"lib/new_relic/agent/samplers/object_sampler.rb",
|
74
|
+
"lib/new_relic/agent/shim_agent.rb",
|
75
|
+
"lib/new_relic/agent/sql_sampler.rb",
|
76
|
+
"lib/new_relic/agent/stats_engine.rb",
|
77
|
+
"lib/new_relic/agent/stats_engine/gc_profiler.rb",
|
78
|
+
"lib/new_relic/agent/stats_engine/metric_stats.rb",
|
79
|
+
"lib/new_relic/agent/stats_engine/samplers.rb",
|
80
|
+
"lib/new_relic/agent/stats_engine/transactions.rb",
|
81
|
+
"lib/new_relic/agent/transaction_info.rb",
|
82
|
+
"lib/new_relic/agent/transaction_sample_builder.rb",
|
83
|
+
"lib/new_relic/agent/transaction_sampler.rb",
|
84
|
+
"lib/new_relic/agent/worker_loop.rb",
|
85
|
+
"lib/new_relic/collection_helper.rb",
|
86
|
+
"lib/new_relic/command.rb",
|
87
|
+
"lib/new_relic/commands/deployments.rb",
|
88
|
+
"lib/new_relic/commands/install.rb",
|
89
|
+
"lib/new_relic/control.rb",
|
90
|
+
"lib/new_relic/control/class_methods.rb",
|
91
|
+
"lib/new_relic/control/configuration.rb",
|
92
|
+
"lib/new_relic/control/frameworks.rb",
|
93
|
+
"lib/new_relic/control/frameworks/external.rb",
|
94
|
+
"lib/new_relic/control/frameworks/merb.rb",
|
95
|
+
"lib/new_relic/control/frameworks/rails.rb",
|
96
|
+
"lib/new_relic/control/frameworks/rails3.rb",
|
97
|
+
"lib/new_relic/control/frameworks/ruby.rb",
|
98
|
+
"lib/new_relic/control/frameworks/sinatra.rb",
|
99
|
+
"lib/new_relic/control/instance_methods.rb",
|
100
|
+
"lib/new_relic/control/instrumentation.rb",
|
101
|
+
"lib/new_relic/control/logging_methods.rb",
|
102
|
+
"lib/new_relic/control/profiling.rb",
|
103
|
+
"lib/new_relic/control/server_methods.rb",
|
104
|
+
"lib/new_relic/data_serialization.rb",
|
105
|
+
"lib/new_relic/delayed_job_injection.rb",
|
106
|
+
"lib/new_relic/language_support.rb",
|
107
|
+
"lib/new_relic/local_environment.rb",
|
108
|
+
"lib/new_relic/merbtasks.rb",
|
109
|
+
"lib/new_relic/metric_data.rb",
|
110
|
+
"lib/new_relic/metric_spec.rb",
|
111
|
+
"lib/new_relic/metrics.rb",
|
112
|
+
"lib/new_relic/noticed_error.rb",
|
113
|
+
"lib/new_relic/rack/browser_monitoring.rb",
|
114
|
+
"lib/new_relic/rack/developer_mode.rb",
|
115
|
+
"lib/new_relic/recipes.rb",
|
116
|
+
"lib/new_relic/stats.rb",
|
117
|
+
"lib/new_relic/timer_lib.rb",
|
118
|
+
"lib/new_relic/transaction_analysis.rb",
|
119
|
+
"lib/new_relic/transaction_analysis/segment_summary.rb",
|
120
|
+
"lib/new_relic/transaction_sample.rb",
|
121
|
+
"lib/new_relic/transaction_sample/composite_segment.rb",
|
122
|
+
"lib/new_relic/transaction_sample/fake_segment.rb",
|
123
|
+
"lib/new_relic/transaction_sample/segment.rb",
|
124
|
+
"lib/new_relic/transaction_sample/summary_segment.rb",
|
125
|
+
"lib/new_relic/url_rule.rb",
|
126
|
+
"lib/new_relic/version.rb",
|
127
|
+
"lib/newrelic_rpm.rb",
|
128
|
+
"lib/tasks/all.rb",
|
129
|
+
"lib/tasks/install.rake",
|
130
|
+
"lib/tasks/tests.rake",
|
131
|
+
"newrelic.yml",
|
132
|
+
"newrelic_rpm.gemspec",
|
133
|
+
"recipes/newrelic.rb",
|
134
|
+
"test/active_record_fixtures.rb",
|
135
|
+
"test/config/newrelic.yml",
|
136
|
+
"test/config/test_control.rb",
|
137
|
+
"test/fixtures/proc_cpuinfo.txt",
|
138
|
+
"test/new_relic/agent/agent/connect_test.rb",
|
139
|
+
"test/new_relic/agent/agent/start_test.rb",
|
140
|
+
"test/new_relic/agent/agent/start_worker_thread_test.rb",
|
141
|
+
"test/new_relic/agent/agent_test.rb",
|
142
|
+
"test/new_relic/agent/agent_test_controller.rb",
|
143
|
+
"test/new_relic/agent/agent_test_controller_test.rb",
|
144
|
+
"test/new_relic/agent/apdex_from_server_test.rb",
|
145
|
+
"test/new_relic/agent/beacon_configuration_test.rb",
|
146
|
+
"test/new_relic/agent/browser_monitoring_test.rb",
|
147
|
+
"test/new_relic/agent/busy_calculator_test.rb",
|
148
|
+
"test/new_relic/agent/database_test.rb",
|
149
|
+
"test/new_relic/agent/error_collector/notice_error_test.rb",
|
150
|
+
"test/new_relic/agent/error_collector_test.rb",
|
151
|
+
"test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb",
|
152
|
+
"test/new_relic/agent/instrumentation/controller_instrumentation_test.rb",
|
153
|
+
"test/new_relic/agent/instrumentation/instrumentation_test.rb",
|
154
|
+
"test/new_relic/agent/instrumentation/metric_frame/pop_test.rb",
|
155
|
+
"test/new_relic/agent/instrumentation/metric_frame_test.rb",
|
156
|
+
"test/new_relic/agent/instrumentation/net_instrumentation_test.rb",
|
157
|
+
"test/new_relic/agent/instrumentation/queue_time_test.rb",
|
158
|
+
"test/new_relic/agent/instrumentation/rack_test.rb",
|
159
|
+
"test/new_relic/agent/instrumentation/task_instrumentation_test.rb",
|
160
|
+
"test/new_relic/agent/memcache_instrumentation_test.rb",
|
161
|
+
"test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb",
|
162
|
+
"test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb",
|
163
|
+
"test/new_relic/agent/method_tracer_test.rb",
|
164
|
+
"test/new_relic/agent/mock_scope_listener.rb",
|
165
|
+
"test/new_relic/agent/rpm_agent_test.rb",
|
166
|
+
"test/new_relic/agent/sampler_test.rb",
|
167
|
+
"test/new_relic/agent/shim_agent_test.rb",
|
168
|
+
"test/new_relic/agent/sql_sampler_test.rb",
|
169
|
+
"test/new_relic/agent/stats_engine/metric_stats/harvest_test.rb",
|
170
|
+
"test/new_relic/agent/stats_engine/metric_stats_test.rb",
|
171
|
+
"test/new_relic/agent/stats_engine/samplers_test.rb",
|
172
|
+
"test/new_relic/agent/stats_engine_test.rb",
|
173
|
+
"test/new_relic/agent/transaction_info_test.rb",
|
174
|
+
"test/new_relic/agent/transaction_sample_builder_test.rb",
|
175
|
+
"test/new_relic/agent/transaction_sampler_test.rb",
|
176
|
+
"test/new_relic/agent/worker_loop_test.rb",
|
177
|
+
"test/new_relic/agent_test.rb",
|
178
|
+
"test/new_relic/collection_helper_test.rb",
|
179
|
+
"test/new_relic/command/deployments_test.rb",
|
180
|
+
"test/new_relic/control/class_methods_test.rb",
|
181
|
+
"test/new_relic/control/configuration_test.rb",
|
182
|
+
"test/new_relic/control/logging_methods_test.rb",
|
183
|
+
"test/new_relic/control_test.rb",
|
184
|
+
"test/new_relic/data_serialization_test.rb",
|
185
|
+
"test/new_relic/delayed_job_injection_test.rb",
|
186
|
+
"test/new_relic/local_environment_test.rb",
|
187
|
+
"test/new_relic/metric_data_test.rb",
|
188
|
+
"test/new_relic/metric_parser/metric_parser_test.rb",
|
189
|
+
"test/new_relic/metric_spec_test.rb",
|
190
|
+
"test/new_relic/rack/all_test.rb",
|
191
|
+
"test/new_relic/rack/browser_monitoring_test.rb",
|
192
|
+
"test/new_relic/rack/developer_mode_helper_test.rb",
|
193
|
+
"test/new_relic/rack/developer_mode_test.rb",
|
194
|
+
"test/new_relic/stats_test.rb",
|
195
|
+
"test/new_relic/transaction_analysis/segment_summary_test.rb",
|
196
|
+
"test/new_relic/transaction_analysis_test.rb",
|
197
|
+
"test/new_relic/transaction_sample/composite_segment_test.rb",
|
198
|
+
"test/new_relic/transaction_sample/fake_segment_test.rb",
|
199
|
+
"test/new_relic/transaction_sample/segment_test.rb",
|
200
|
+
"test/new_relic/transaction_sample/summary_segment_test.rb",
|
201
|
+
"test/new_relic/transaction_sample_subtest_test.rb",
|
202
|
+
"test/new_relic/transaction_sample_test.rb",
|
203
|
+
"test/new_relic/version_number_test.rb",
|
204
|
+
"test/script/build_test_gem.sh",
|
205
|
+
"test/script/ci.sh",
|
206
|
+
"test/script/ci_bench.sh",
|
207
|
+
"test/test_contexts.rb",
|
208
|
+
"test/test_helper.rb",
|
209
|
+
"ui/helpers/developer_mode_helper.rb",
|
210
|
+
"ui/helpers/google_pie_chart.rb",
|
211
|
+
"ui/views/layouts/newrelic_default.rhtml",
|
212
|
+
"ui/views/newrelic/_explain_plans.rhtml",
|
213
|
+
"ui/views/newrelic/_sample.rhtml",
|
214
|
+
"ui/views/newrelic/_segment.rhtml",
|
215
|
+
"ui/views/newrelic/_segment_limit_message.rhtml",
|
216
|
+
"ui/views/newrelic/_segment_row.rhtml",
|
217
|
+
"ui/views/newrelic/_show_sample_detail.rhtml",
|
218
|
+
"ui/views/newrelic/_show_sample_sql.rhtml",
|
219
|
+
"ui/views/newrelic/_show_sample_summary.rhtml",
|
220
|
+
"ui/views/newrelic/_sql_row.rhtml",
|
221
|
+
"ui/views/newrelic/_stack_trace.rhtml",
|
222
|
+
"ui/views/newrelic/_table.rhtml",
|
223
|
+
"ui/views/newrelic/explain_sql.rhtml",
|
224
|
+
"ui/views/newrelic/file/images/arrow-close.png",
|
225
|
+
"ui/views/newrelic/file/images/arrow-open.png",
|
226
|
+
"ui/views/newrelic/file/images/blue_bar.gif",
|
227
|
+
"ui/views/newrelic/file/images/file_icon.png",
|
228
|
+
"ui/views/newrelic/file/images/gray_bar.gif",
|
229
|
+
"ui/views/newrelic/file/images/new-relic-rpm-desktop.gif",
|
230
|
+
"ui/views/newrelic/file/images/new_relic_rpm_desktop.gif",
|
231
|
+
"ui/views/newrelic/file/images/textmate.png",
|
232
|
+
"ui/views/newrelic/file/javascript/jquery-1.4.2.js",
|
233
|
+
"ui/views/newrelic/file/javascript/transaction_sample.js",
|
234
|
+
"ui/views/newrelic/file/stylesheets/style.css",
|
235
|
+
"ui/views/newrelic/index.rhtml",
|
236
|
+
"ui/views/newrelic/sample_not_found.rhtml",
|
237
|
+
"ui/views/newrelic/show_sample.rhtml",
|
238
|
+
"ui/views/newrelic/show_source.rhtml",
|
239
|
+
"ui/views/newrelic/threads.rhtml",
|
240
|
+
"vendor/gems/dependency_detection-0.0.1.build/LICENSE",
|
241
|
+
"vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb",
|
242
|
+
"vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection/version.rb",
|
243
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/metric_parser.rb",
|
244
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser.rb",
|
245
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/action_mailer.rb",
|
246
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_merchant.rb",
|
247
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/active_record.rb",
|
248
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/apdex.rb",
|
249
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/background_transaction.rb",
|
250
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/client.rb",
|
251
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller.rb",
|
252
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_cpu.rb",
|
253
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/controller_ext.rb",
|
254
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database.rb",
|
255
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/database_pool.rb",
|
256
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net.rb",
|
257
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/dot_net_parser.rb",
|
258
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/errors.rb",
|
259
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/external.rb",
|
260
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/frontend.rb",
|
261
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/gc.rb",
|
262
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/hibernate_session.rb",
|
263
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java.rb",
|
264
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/java_parser.rb",
|
265
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp.rb",
|
266
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/jsp_tag.rb",
|
267
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/mem_cache.rb",
|
268
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/metric_parser.rb",
|
269
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/orm.rb",
|
270
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/other_transaction.rb",
|
271
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet.rb",
|
272
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_context_listener.rb",
|
273
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/servlet_filter.rb",
|
274
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr.rb",
|
275
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/solr_request_handler.rb",
|
276
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring.rb",
|
277
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_controller.rb",
|
278
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/spring_view.rb",
|
279
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_action.rb",
|
280
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/struts_result.rb",
|
281
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/version.rb",
|
282
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/view.rb",
|
283
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_frontend.rb",
|
284
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_service.rb",
|
285
|
+
"vendor/gems/metric_parser-0.1.0.pre1/lib/new_relic/metric_parser/web_transaction.rb"
|
286
|
+
]
|
287
|
+
s.homepage = "http://www.github.com/newrelic/rpm"
|
288
|
+
s.post_install_message = "\nPLEASE NOTE:\n\nDeveloper Mode is now a Rack middleware.\n\nDeveloper Mode is no longer available in Rails 2.1 and earlier.\nHowever, starting in version 2.12 you can use Developer Mode in any\nRack based framework, in addition to Rails. To install developer mode\nin a non-Rails application, just add NewRelic::Rack::DeveloperMode to\nyour middleware stack.\n\nIf you are using JRuby, we recommend using at least version 1.4 or \nlater because of issues with the implementation of the timeout library.\n\nRefer to the README.md file for more information.\n\nPlease see http://github.com/newrelic/rpm/blob/master/CHANGELOG\nfor a complete description of the features and enhancements available\nin version 3.3 of the Ruby Agent.\n \n"
|
289
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "New Relic Ruby Agent"]
|
290
|
+
s.require_paths = ["lib"]
|
291
|
+
s.summary = "New Relic Ruby Agent"
|
292
|
+
|
293
|
+
if s.respond_to? :specification_version then
|
294
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
295
|
+
s.specification_version = 3
|
296
|
+
|
297
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
298
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
299
|
+
s.add_development_dependency(%q<mocha>, [">= 0"])
|
300
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
301
|
+
else
|
302
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
303
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
304
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
305
|
+
end
|
306
|
+
else
|
307
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
308
|
+
s.add_dependency(%q<mocha>, [">= 0"])
|
309
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
310
|
+
end
|
311
|
+
end
|
312
|
+
|