Module: RailsPulse
- Defined in:
- app/services/rails_pulse/analysis/base_analyzer.rb,
lib/rails_pulse.rb,
lib/rails_pulse/engine.rb,
lib/rails_pulse/tracker.rb,
lib/rails_pulse/version.rb,
lib/rails_pulse/paginator.rb,
app/models/rails_pulse/job.rb,
lib/rails_pulse/statistics.rb,
app/models/rails_pulse/query.rb,
app/models/rails_pulse/route.rb,
lib/rails_pulse/configuration.rb,
app/models/rails_pulse/job_run.rb,
app/models/rails_pulse/request.rb,
app/models/rails_pulse/summary.rb,
lib/rails_pulse/cleanup_service.rb,
app/jobs/rails_pulse/cleanup_job.rb,
app/jobs/rails_pulse/summary_job.rb,
app/models/rails_pulse/operation.rb,
app/models/rails_pulse/cards/base.rb,
lib/rails_pulse/job_run_collector.rb,
app/helpers/rails_pulse/csp_helper.rb,
app/models/rails_pulse/charts/base.rb,
app/helpers/rails_pulse/form_helper.rb,
app/helpers/rails_pulse/icon_helper.rb,
app/helpers/rails_pulse/tags_helper.rb,
app/models/rails_pulse/chart_colors.rb,
app/helpers/rails_pulse/chart_helper.rb,
app/helpers/rails_pulse/route_helper.rb,
app/helpers/rails_pulse/table_helper.rb,
app/jobs/rails_pulse/application_job.rb,
lib/rails_pulse/adapters/job_wrapper.rb,
app/helpers/rails_pulse/status_helper.rb,
lib/rails_pulse/active_job_extensions.rb,
lib/generators/rails_pulse/base_methods.rb,
lib/rails_pulse/middleware/asset_server.rb,
app/models/concerns/rails_pulse/taggable.rb,
app/models/rails_pulse/jobs/tables/index.rb,
app/services/rails_pulse/summary_service.rb,
lib/generators/rails_pulse/schema_parser.rb,
lib/rails_pulse/extensions/active_record.rb,
app/helpers/rails_pulse/formatting_helper.rb,
app/models/rails_pulse/application_record.rb,
app/services/rails_pulse/suggestions/base.rb,
lib/rails_pulse/tasks/cleanup_task_runner.rb,
app/helpers/rails_pulse/application_helper.rb,
app/helpers/rails_pulse/breadcrumbs_helper.rb,
app/models/rails_pulse/routes/tables/index.rb,
app/controllers/rails_pulse/jobs_controller.rb,
app/controllers/rails_pulse/tags_controller.rb,
app/jobs/rails_pulse/backfill_summaries_job.rb,
app/models/rails_pulse/jobs/charts/duration.rb,
app/models/rails_pulse/queries/tables/index.rb,
app/services/rails_pulse/tag_filter_service.rb,
lib/rails_pulse/adapters/delayed_job_plugin.rb,
lib/rails_pulse/adapters/sidekiq_middleware.rb,
lib/rails_pulse/installers/config_installer.rb,
app/models/rails_pulse/jobs/cards/total_runs.rb,
lib/generators/rails_pulse/install_generator.rb,
lib/generators/rails_pulse/upgrade_generator.rb,
lib/rails_pulse/middleware/request_collector.rb,
lib/rails_pulse/stats/cleanup_stats_reporter.rb,
app/controllers/rails_pulse/assets_controller.rb,
app/controllers/rails_pulse/routes_controller.rb,
app/services/rails_pulse/sql_query_normalizer.rb,
app/controllers/rails_pulse/queries_controller.rb,
app/models/rails_pulse/charts/operations_chart.rb,
app/models/rails_pulse/jobs/cards/failure_rate.rb,
app/models/rails_pulse/jobs/cards/p95_duration.rb,
lib/rails_pulse/installers/migration_installer.rb,
app/controllers/rails_pulse/job_runs_controller.rb,
app/controllers/rails_pulse/requests_controller.rb,
app/models/rails_pulse/dashboard/health_summary.rb,
app/models/rails_pulse/jobs/charts/failure_rate.rb,
app/models/rails_pulse/routes/cards/error_rates.rb,
app/models/rails_pulse/routes/charts/error_rate.rb,
app/services/rails_pulse/query_analysis_service.rb,
app/controllers/rails_pulse/dashboard_controller.rb,
app/models/rails_pulse/dashboard/needs_attention.rb,
lib/rails_pulse/subscribers/operation_subscriber.rb,
app/controllers/rails_pulse/operations_controller.rb,
app/models/rails_pulse/dashboard/storage_pressure.rb,
app/controllers/rails_pulse/application_controller.rb,
app/models/rails_pulse/queries/cards/database_load.rb,
app/models/rails_pulse/charts/percentile_chart_base.rb,
app/models/rails_pulse/jobs/charts/execution_volume.rb,
app/models/rails_pulse/queries/cards/execution_rate.rb,
app/models/rails_pulse/queries/charts/database_load.rb,
app/models/rails_pulse/routes/charts/request_volume.rb,
app/services/rails_pulse/analysis/backtrace_analyzer.rb,
app/services/rails_pulse/analysis/n_plus_one_detector.rb,
app/models/concerns/rails_pulse/has_performance_status.rb,
app/models/rails_pulse/queries/charts/execution_volume.rb,
app/services/rails_pulse/analysis/suggestion_generator.rb,
app/models/rails_pulse/queries/charts/query_performance.rb,
app/services/rails_pulse/analysis/explain_plan_analyzer.rb,
app/models/rails_pulse/queries/cards/average_query_times.rb,
app/models/rails_pulse/routes/cards/request_count_totals.rb,
app/models/rails_pulse/queries/charts/average_query_times.rb,
lib/generators/rails_pulse/convert_to_migrations_generator.rb,
app/models/rails_pulse/dashboard/concerns/time_range_helper.rb,
app/models/rails_pulse/queries/cards/percentile_query_times.rb,
app/services/rails_pulse/suggestions/sql_suggestions_service.rb,
app/models/rails_pulse/dashboard/charts/throughput_and_errors.rb,
app/models/rails_pulse/dashboard/concerns/threshold_constants.rb,
app/models/rails_pulse/routes/cards/percentile_response_times.rb,
app/services/rails_pulse/analysis/index_recommendation_engine.rb,
app/services/rails_pulse/suggestions/http_suggestions_service.rb,
app/services/rails_pulse/suggestions/view_suggestions_service.rb,
app/models/rails_pulse/routes/charts/response_time_percentiles.rb,
app/services/rails_pulse/suggestions/cache_suggestions_service.rb,
app/services/rails_pulse/analysis/query_characteristics_analyzer.rb,
app/models/rails_pulse/dashboard/charts/response_time_percentiles.rb,
app/services/rails_pulse/suggestions/controller_suggestions_service.rb
Overview
Analyzes SQL query structure and complexity. Detects query type, table joins, WHERE complexity, and common anti-patterns like SELECT * or missing LIMIT.
Defined Under Namespace
Modules: ActiveJobExtensions, Adapters, Analysis, ApplicationHelper, BreadcrumbsHelper, Cards, ChartColors, ChartHelper, Charts, CspHelper, Dashboard, Extensions, FormHelper, FormattingHelper, Generators, HasPerformanceStatus, IconHelper, Installers, Jobs, Middleware, Queries, RouteHelper, Routes, Statistics, Stats, StatusHelper, Subscribers, Suggestions, TableHelper, Taggable, TagsHelper, Tasks, Tracker
Classes: ApplicationController, ApplicationJob, ApplicationRecord, AssetsController, BackfillSummariesJob, CleanupJob, CleanupService, Configuration, CspTestController, DashboardController, Engine, Job, JobRun, JobRunCollector, JobRunsController, JobsController, Operation, OperationsController, Paginator, QueriesController, Query, QueryAnalysisService, Request, RequestsController, Route, RoutesController, SqlQueryNormalizer, Summary, SummaryJob, SummaryService, TagFilterService, TagsController
Constant Summary
collapse
- VERSION =
"0.3.0.pre.1"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
Returns the value of attribute configuration.
10
11
12
|
# File 'lib/rails_pulse.rb', line 10
def configuration
@configuration
end
|
Class Method Details
.clear_metric_cache! ⇒ Object
22
23
24
|
# File 'lib/rails_pulse.rb', line 22
def clear_metric_cache!
Rails.cache.delete_matched("rails_pulse_metric*")
end
|
12
13
14
15
16
|
# File 'lib/rails_pulse.rb', line 12
def configure
self.configuration ||= Configuration.new
yield(configuration)
configuration.validate_configuration!
end
|
.connects_to ⇒ Object
38
39
40
|
# File 'lib/rails_pulse.rb', line 38
def connects_to
configuration&.connects_to
end
|
.logger ⇒ Object
18
19
20
|
# File 'lib/rails_pulse.rb', line 18
def logger
@logger ||= ActiveSupport::TaggedLogging.new(Rails.logger).tagged("RailsPulse")
end
|
.warm_metric_cache! ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/rails_pulse.rb', line 26
def warm_metric_cache!
[ :average_response_times, :percentile_response_times, :request_count_totals, :error_rate_per_route ].each do |metric|
begin
logger.info "Warming cache for metric: #{metric}"
rescue => e
logger.error "Failed to warm cache for #{metric}: #{e.message}"
end
end
end
|