Module: Profiler
- Defined in:
- lib/profiler.rb,
lib/profiler/engine.rb,
lib/profiler/railtie.rb,
lib/profiler/version.rb,
lib/profiler/mcp/server.rb,
lib/profiler/job_profiler.rb,
lib/profiler/configuration.rb,
lib/profiler/explain_runner.rb,
lib/profiler/mcp/file_cache.rb,
lib/profiler/models/profile.rb,
lib/profiler/models/sql_query.rb,
lib/profiler/mcp/body_formatter.rb,
lib/profiler/mcp/path_extractor.rb,
lib/profiler/storage/base_store.rb,
lib/profiler/storage/blob_store.rb,
lib/profiler/storage/file_store.rb,
lib/profiler/storage/redis_store.rb,
lib/profiler/mcp/tools/query_jobs.rb,
lib/profiler/storage/memory_store.rb,
lib/profiler/storage/sqlite_store.rb,
lib/profiler/models/timeline_event.rb,
lib/profiler/mcp/tools/explain_query.rb,
lib/profiler/collectors/job_collector.rb,
lib/profiler/collectors/log_collector.rb,
lib/profiler/mcp/tools/clear_profiles.rb,
lib/profiler/mcp/tools/query_profiles.rb,
lib/profiler/collectors/ajax_collector.rb,
lib/profiler/collectors/base_collector.rb,
lib/profiler/collectors/dump_collector.rb,
lib/profiler/collectors/http_collector.rb,
lib/profiler/collectors/i18n_collector.rb,
lib/profiler/collectors/view_collector.rb,
lib/profiler/mcp/resources/n1_patterns.rb,
lib/profiler/mcp/resources/recent_jobs.rb,
lib/profiler/mcp/tools/analyze_queries.rb,
lib/profiler/collectors/cache_collector.rb,
lib/profiler/mcp/resources/slow_queries.rb,
lib/profiler/mcp/tools/get_profile_ajax.rb,
lib/profiler/mcp/tools/get_profile_http.rb,
lib/profiler/middleware/cors_middleware.rb,
lib/profiler/collectors/routes_collector.rb,
lib/profiler/mcp/tools/get_profile_dumps.rb,
lib/profiler/middleware/toolbar_injector.rb,
lib/profiler/collectors/request_collector.rb,
lib/profiler/mcp/tools/get_profile_detail.rb,
app/controllers/profiler/assets_controller.rb,
lib/profiler/collectors/database_collector.rb,
lib/profiler/mcp/resources/recent_requests.rb,
lib/profiler/collectors/exception_collector.rb,
lib/profiler/middleware/profiler_middleware.rb,
app/controllers/profiler/api/ajax_controller.rb,
app/controllers/profiler/api/jobs_controller.rb,
app/controllers/profiler/profiles_controller.rb,
lib/profiler/collectors/flamegraph_collector.rb,
lib/profiler/collectors/performance_collector.rb,
app/controllers/profiler/api/explain_controller.rb,
app/controllers/profiler/api/toolbar_controller.rb,
app/controllers/profiler/application_controller.rb,
lib/profiler/instrumentation/sidekiq_middleware.rb,
app/controllers/profiler/api/profiles_controller.rb,
app/controllers/profiler/api/outbound_http_controller.rb,
lib/profiler/instrumentation/net_http_instrumentation.rb,
lib/profiler/instrumentation/active_job_instrumentation.rb
Defined Under Namespace
Modules: Api, Collectors, ExplainRunner, I18nLookupTracker, Instrumentation, MCP, Middleware, Models, Storage
Classes: ApplicationController, AssetsController, Configuration, Engine, Error, JobProfiler, ProfilesController, Railtie
Constant Summary
collapse
- VERSION =
"0.7.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
12
13
14
|
# File 'lib/profiler.rb', line 12
def configuration
@configuration ||= Configuration.new
end
|
Class Method Details
16
17
18
|
# File 'lib/profiler.rb', line 16
def configure
yield(configuration)
end
|
.dump(value, label = nil) ⇒ Object
Dump a variable to the profiler Usage: Profiler.dump(variable, “optional label”)
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/profiler.rb', line 30
def dump(value, label = nil)
return unless enabled?
caller_location = caller_locations(1, 1).first
file = caller_location.path
line = caller_location.lineno
Thread.current[:profiler_dumps] ||= []
Thread.current[:profiler_dumps] << {
value: value,
label: label,
file: file,
line: line,
timestamp: Time.now
}
value
end
|
.enabled? ⇒ Boolean
24
25
26
|
# File 'lib/profiler.rb', line 24
def enabled?
configuration.enabled
end
|
.storage ⇒ Object
20
21
22
|
# File 'lib/profiler.rb', line 20
def storage
@storage ||= configuration.storage_backend
end
|