webroar 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +7 -0
- data/README +1 -1
- data/doc/user-guide.html +125 -85
- data/doc/user-guide.txt +2 -2
- data/lib/constant.rb +23 -16
- data/lib/db_connect.rb +2 -3
- data/lib/installer.rb +17 -10
- data/lib/user_interaction.rb +21 -10
- data/lib/webroar_command.rb +21 -23
- data/src/admin_panel/Gemfile +8 -0
- data/src/admin_panel/Rakefile +2 -5
- data/src/admin_panel/app/controllers/application_controller.rb +1 -1
- data/src/admin_panel/app/controllers/exceptions_controller.rb +25 -26
- data/src/admin_panel/app/controllers/graph_controller.rb +2 -1
- data/src/admin_panel/app/helpers/admin_helper.rb +1 -1
- data/src/admin_panel/app/{models → mailers}/mailer.rb +5 -8
- data/src/admin_panel/app/models/app.rb +1 -1
- data/src/admin_panel/app/models/app_exception.rb +15 -11
- data/src/admin_panel/app/models/app_time_sample.rb +40 -10
- data/src/admin_panel/app/models/application_specification.rb +71 -41
- data/src/admin_panel/app/models/resource_usage.rb +76 -55
- data/src/admin_panel/app/models/url_breakup_time_sample.rb +6 -11
- data/src/admin_panel/app/models/url_time_sample.rb +57 -13
- data/src/admin_panel/app/views/admin/_application_table.html.erb +5 -5
- data/src/admin_panel/app/views/admin/_feedback_partial.html.erb +4 -4
- data/src/admin_panel/app/views/admin/_report_bug_partial.html.erb +5 -5
- data/src/admin_panel/app/views/admin/change_password_form.html.erb +3 -3
- data/src/admin_panel/app/views/admin/configuration.html.erb +6 -6
- data/src/admin_panel/app/views/admin/home.html.erb +4 -4
- data/src/admin_panel/app/views/admin/index.html.erb +5 -5
- data/src/admin_panel/app/views/application_specification/_application_specification_form.html.erb +15 -6
- data/src/admin_panel/app/views/exceptions/_add_and_list_exception_classes.html.erb +7 -6
- data/src/admin_panel/app/views/exceptions/_exception_backtrace_partial.html.erb +1 -1
- data/src/admin_panel/app/views/exceptions/_exception_environment_partial.html.erb +30 -30
- data/src/admin_panel/app/views/exceptions/_exception_list_partial.html.erb +11 -11
- data/src/admin_panel/app/views/exceptions/_show.html.erb +8 -8
- data/src/admin_panel/app/views/exceptions/index.html.erb +0 -1
- data/src/admin_panel/app/views/graph/_get_database_data.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_get_resource_usage_data_app.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_resource_usage_data_server.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_throughput_data.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_url_data.html.erb +4 -4
- data/src/admin_panel/app/views/graph/_pie.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_query_date.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_query_period.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_slider_partial.html.erb +5 -4
- data/src/admin_panel/app/views/graph/index.html.erb +0 -1
- data/src/admin_panel/app/views/headers/_add_expires_text_box.html.erb +5 -5
- data/src/admin_panel/app/views/headers/_expires_by_type_form.html.erb +1 -1
- data/src/admin_panel/app/views/headers/_headers_table.html.erb +12 -12
- data/src/admin_panel/app/views/layouts/application.html.erb +71 -51
- data/src/admin_panel/app/views/mail_specification/_current_spec.html.erb +4 -4
- data/src/admin_panel/app/views/mail_specification/_sendmail_form.html.erb +3 -3
- data/src/admin_panel/app/views/mail_specification/_smtp_form.html.erb +3 -3
- data/src/admin_panel/app/views/server_specification/_add_div.html.erb +4 -4
- data/src/admin_panel/app/views/server_specification/_ssl_support_form.html.erb +3 -2
- data/src/admin_panel/config.ru +4 -0
- data/src/admin_panel/config/application.rb +46 -0
- data/src/admin_panel/config/boot.rb +4 -112
- data/src/admin_panel/config/environment.rb +4 -85
- data/src/admin_panel/config/environments/development.rb +20 -13
- data/src/admin_panel/config/environments/production.rb +44 -17
- data/src/admin_panel/config/environments/test.rb +31 -18
- data/src/admin_panel/config/initializers/application_constants.rb +13 -11
- data/src/admin_panel/config/initializers/secret_token.rb +7 -0
- data/src/admin_panel/config/initializers/session_store.rb +8 -0
- data/src/admin_panel/config/initializers/ssl.rb +6 -2
- data/src/admin_panel/config/routes.rb +15 -57
- data/src/admin_panel/doc/README_FOR_APP +1 -1
- data/src/admin_panel/doc/app/ActionView.html +229 -0
- data/src/admin_panel/doc/app/ActionView/Helpers.html +229 -0
- data/src/admin_panel/doc/app/ActionView/Helpers/AssetTagHelper.html +277 -0
- data/src/admin_panel/doc/app/AdminController.html +814 -0
- data/src/admin_panel/doc/app/AdminHelper.html +495 -0
- data/src/admin_panel/doc/app/Analytics.html +272 -0
- data/src/admin_panel/doc/app/Analytics/Database.html +401 -0
- data/src/admin_panel/doc/app/Analytics/ResourceUsage.html +683 -0
- data/src/admin_panel/doc/app/Analytics/Throughput.html +488 -0
- data/src/admin_panel/doc/app/Analytics/Url.html +484 -0
- data/src/admin_panel/doc/app/Analytics/UrlBreakup.html +537 -0
- data/src/admin_panel/doc/app/App.html +489 -0
- data/src/admin_panel/doc/app/AppException.html +710 -0
- data/src/admin_panel/doc/app/AppTimeSample.html +620 -0
- data/src/admin_panel/doc/app/ApplicationController.html +239 -0
- data/src/admin_panel/doc/app/ApplicationHelper.html +296 -0
- data/src/admin_panel/doc/app/ApplicationSpecification.html +876 -0
- data/src/admin_panel/doc/app/ApplicationSpecificationController.html +552 -0
- data/src/admin_panel/doc/app/ApplicationSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/Control.html +431 -0
- data/src/admin_panel/doc/app/ExceptionDetail.html +227 -0
- data/src/admin_panel/doc/app/ExceptionsController.html +754 -0
- data/src/admin_panel/doc/app/ExceptionsHelper.html +219 -0
- data/src/admin_panel/doc/app/GraphController.html +1101 -0
- data/src/admin_panel/doc/app/GraphHelper.html +285 -0
- data/src/admin_panel/doc/app/Headers.html +549 -0
- data/src/admin_panel/doc/app/HeadersController.html +507 -0
- data/src/admin_panel/doc/app/HeadersHelper.html +219 -0
- data/src/admin_panel/doc/app/MailSpecification.html +685 -0
- data/src/admin_panel/doc/app/MailSpecificationController.html +541 -0
- data/src/admin_panel/doc/app/MailSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/Mailer.html +589 -0
- data/src/admin_panel/doc/app/Object.html +240 -0
- data/src/admin_panel/doc/app/PseudoModel.html +354 -0
- data/src/admin_panel/doc/app/ResourceUsage.html +656 -0
- data/src/admin_panel/doc/app/SCGI.html +674 -0
- data/src/admin_panel/doc/app/ServerSpecification.html +479 -0
- data/src/admin_panel/doc/app/ServerSpecificationController.html +500 -0
- data/src/admin_panel/doc/app/ServerSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/SignalHelper.html +287 -0
- data/src/admin_panel/doc/app/UrlBreakupTimeSample.html +287 -0
- data/src/admin_panel/doc/app/UrlTimeSample.html +986 -0
- data/src/admin_panel/doc/app/User.html +290 -0
- data/src/admin_panel/doc/app/YAMLConfig.html +247 -0
- data/src/admin_panel/doc/app/YAMLWriter.html +284 -0
- data/src/admin_panel/doc/app/app/controllers/admin_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/application_controller_rb.html +54 -0
- data/src/admin_panel/doc/app/app/controllers/application_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/exceptions_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/graph_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/headers_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/mail_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/server_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/admin_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/application_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/application_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/exceptions_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/graph_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/headers_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/mail_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/server_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/mailers/mailer_rb.html +56 -0
- data/src/admin_panel/doc/app/app/models/app_exception_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/app_rb.html +54 -0
- data/src/admin_panel/doc/app/app/models/app_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/application_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/exception_detail_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/headers_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/mail_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/pseudo_model_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/resource_usage_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/server_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/url_breakup_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/url_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/user_rb.html +52 -0
- data/src/admin_panel/doc/app/created.rid +42 -1
- data/src/admin_panel/doc/app/doc/README_FOR_APP.html +172 -0
- data/src/admin_panel/doc/app/images/brick.png +0 -0
- data/src/admin_panel/doc/app/images/brick_link.png +0 -0
- data/src/admin_panel/doc/app/images/bug.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_black.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_toggle_minus.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_toggle_plus.png +0 -0
- data/src/admin_panel/doc/app/images/date.png +0 -0
- data/src/admin_panel/doc/app/images/find.png +0 -0
- data/src/admin_panel/doc/app/images/loadingAnimation.gif +0 -0
- data/src/admin_panel/doc/app/images/macFFBgHack.png +0 -0
- data/src/admin_panel/doc/app/images/package.png +0 -0
- data/src/admin_panel/doc/app/images/page_green.png +0 -0
- data/src/admin_panel/doc/app/images/page_white_text.png +0 -0
- data/src/admin_panel/doc/app/images/page_white_width.png +0 -0
- data/src/admin_panel/doc/app/images/plugin.png +0 -0
- data/src/admin_panel/doc/app/images/ruby.png +0 -0
- data/src/admin_panel/doc/app/images/tag_green.png +0 -0
- data/src/admin_panel/doc/app/images/wrench.png +0 -0
- data/src/admin_panel/doc/app/images/wrench_orange.png +0 -0
- data/src/admin_panel/doc/app/images/zoom.png +0 -0
- data/src/admin_panel/doc/app/index.html +564 -20
- data/src/admin_panel/doc/app/js/darkfish.js +116 -0
- data/src/admin_panel/doc/app/js/jquery.js +32 -0
- data/src/admin_panel/doc/app/js/quicksearch.js +114 -0
- data/src/admin_panel/doc/app/js/thickbox-compressed.js +10 -0
- data/src/admin_panel/doc/app/lib/asset_tag_helper_ext_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/control_rb.html +58 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/database_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/resource_usage_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/throughput_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_breakup_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/helper_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/scgi_rb.html +54 -0
- data/src/admin_panel/doc/app/lib/yaml_writer_rb.html +52 -0
- data/src/admin_panel/doc/app/rdoc.css +763 -0
- data/src/admin_panel/lib/helper.rb +6 -2
- data/src/admin_panel/public/stylesheets/other/login.css +8 -4
- data/src/admin_panel/public/stylesheets/other/style.css +21 -17
- data/src/admin_panel/script/rails +6 -0
- data/src/admin_panel/test/test_helper.rb +2 -2
- data/src/admin_panel/vendor/plugins/calendar_date_select/History.txt +281 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/MIT-LICENSE +20 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/Manifest.txt +42 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/README.txt +17 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/Rakefile +37 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/VERSION +1 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +95 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/init.rb +1 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +376 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/format_iso_date_test.html +52 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/prototype.js +4184 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/test.css +40 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +46 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unittest.js +564 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +33 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +122 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +237 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +29 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/blank_iframe.html +2 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +459 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +35 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_danish.js +31 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +27 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +32 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +29 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +24 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ar.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/cs.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/da.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/es.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/hu.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/it.js +9 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ja.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/nl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sv.js +9 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +130 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +135 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/green.css +142 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +128 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +135 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +133 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +189 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/includes_helper_spec.rb +46 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/spec_helper.rb +26 -0
- data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/install.rb +2 -2
- data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/uninstall.rb +2 -2
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/README.markdown +13 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/init.rb +1 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +432 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
- data/src/helper/wr_config.c +1 -1
- data/src/ruby_lib/analyzer/message_analyzer.rb +1 -0
- data/src/ruby_lib/analyzer/webroar_analyzer.rb +2 -2
- data/src/ruby_lib/profiler/message_dispatcher.rb +1 -1
- data/src/ruby_lib/ruby_interface/version.rb +2 -2
- data/src/ruby_lib/webroar_app_loader.rb +1 -1
- data/tasks/gem.rake +5 -7
- data/tasks/test.rake +1 -0
- data/test/spec/analytics_spec.rb +25 -24
- data/test/spec/test_app/README +142 -129
- data/test/spec/test_app/Rakefile +2 -5
- data/test/spec/test_app/app/controllers/application_controller.rb +3 -8
- data/test/spec/test_app/app/controllers/test_controller.rb +3 -3
- data/test/spec/test_app/app/controllers/users_controller.rb +8 -8
- data/test/spec/test_app/app/helpers/application_helper.rb +2 -1
- data/test/spec/test_app/app/helpers/test_helper.rb +2 -0
- data/test/spec/test_app/app/helpers/users_helper.rb +2 -0
- data/test/spec/test_app/app/models/user.rb +2 -0
- data/test/spec/test_app/app/views/layouts/{users.html.erb → application.html.erb} +6 -9
- data/test/spec/test_app/app/views/test/post_data.html.erb +2 -2
- data/test/spec/test_app/app/views/test/upload_file.html.erb +1 -1
- data/test/spec/test_app/{db/migrate/20090602102438_create_users.rb → app/views/users/_form.html.erb} +22 -11
- data/test/spec/test_app/app/views/users/edit.html.erb +19 -28
- data/test/spec/test_app/app/views/users/index.html.erb +23 -19
- data/test/spec/test_app/app/views/users/new.html.erb +19 -28
- data/test/spec/test_app/app/views/users/show.html.erb +21 -18
- data/test/spec/test_app/config/application.rb +45 -0
- data/test/spec/test_app/config/boot.rb +4 -112
- data/test/spec/test_app/config/database.yml +1 -1
- data/test/spec/test_app/config/environment.rb +4 -41
- data/test/spec/test_app/config/environments/development.rb +22 -13
- data/test/spec/test_app/config/environments/production.rb +41 -20
- data/test/spec/test_app/config/environments/test.rb +35 -28
- data/test/spec/test_app/config/initializers/backtrace_silencers.rb +2 -2
- data/test/spec/test_app/config/initializers/inflections.rb +1 -1
- data/test/spec/test_app/config/initializers/secret_token.rb +7 -0
- data/test/spec/test_app/config/initializers/session_store.rb +3 -10
- data/test/spec/test_app/config/locales/en.yml +5 -0
- data/test/spec/test_app/config/routes.rb +37 -22
- data/test/spec/test_app/db/migrate/20110906113329_create_users.rb +13 -0
- data/test/spec/test_app/db/seeds.rb +7 -0
- data/test/spec/test_app/public/404.html +15 -19
- data/test/spec/test_app/public/422.html +15 -19
- data/test/spec/test_app/public/500.html +14 -18
- data/test/spec/test_app/public/index.html +41 -77
- data/test/spec/test_app/public/javascripts/controls.js +5 -3
- data/test/spec/test_app/public/javascripts/dragdrop.js +7 -6
- data/test/spec/test_app/public/javascripts/effects.js +8 -13
- data/test/spec/test_app/public/javascripts/prototype.js +3381 -1700
- data/test/spec/test_app/public/javascripts/rails.js +191 -0
- data/test/spec/test_app/public/stylesheets/scaffold.css +15 -13
- data/test/spec/test_app/script/rails +6 -0
- metadata +340 -163
- data/src/admin_panel/Gemfile.lock +0 -79
- data/src/admin_panel/doc/app/classes/ActionView.html +0 -111
- data/src/admin_panel/doc/app/classes/ActionView/Helpers.html +0 -111
- data/src/admin_panel/doc/app/classes/ActionView/Helpers/AssetTagHelper.html +0 -149
- data/src/admin_panel/doc/app/classes/AdminController.html +0 -628
- data/src/admin_panel/doc/app/classes/AdminHelper.html +0 -482
- data/src/admin_panel/doc/app/classes/Analytics.html +0 -138
- data/src/admin_panel/doc/app/classes/Analytics/Database.html +0 -245
- data/src/admin_panel/doc/app/classes/Analytics/ResourceUsage.html +0 -478
- data/src/admin_panel/doc/app/classes/Analytics/Throughput.html +0 -316
- data/src/admin_panel/doc/app/classes/Analytics/Url.html +0 -314
- data/src/admin_panel/doc/app/classes/Analytics/UrlBreakup.html +0 -372
- data/src/admin_panel/doc/app/classes/App.html +0 -298
- data/src/admin_panel/doc/app/classes/AppException.html +0 -330
- data/src/admin_panel/doc/app/classes/AppTimeSample.html +0 -427
- data/src/admin_panel/doc/app/classes/ApplicationController.html +0 -118
- data/src/admin_panel/doc/app/classes/ApplicationHelper.html +0 -172
- data/src/admin_panel/doc/app/classes/ApplicationSpecification.html +0 -641
- data/src/admin_panel/doc/app/classes/ApplicationSpecificationController.html +0 -354
- data/src/admin_panel/doc/app/classes/Control.html +0 -273
- data/src/admin_panel/doc/app/classes/ExceptionsController.html +0 -612
- data/src/admin_panel/doc/app/classes/ExceptionsHelper.html +0 -105
- data/src/admin_panel/doc/app/classes/GraphController.html +0 -804
- data/src/admin_panel/doc/app/classes/GraphHelper.html +0 -164
- data/src/admin_panel/doc/app/classes/MailSpecification.html +0 -357
- data/src/admin_panel/doc/app/classes/MailSpecificationController.html +0 -304
- data/src/admin_panel/doc/app/classes/PseudoModel.html +0 -206
- data/src/admin_panel/doc/app/classes/ResourceUsage.html +0 -425
- data/src/admin_panel/doc/app/classes/SCGI.html +0 -406
- data/src/admin_panel/doc/app/classes/ServerSpecification.html +0 -325
- data/src/admin_panel/doc/app/classes/ServerSpecificationController.html +0 -273
- data/src/admin_panel/doc/app/classes/UrlBreakupTimeSample.html +0 -169
- data/src/admin_panel/doc/app/classes/UrlTimeSample.html +0 -708
- data/src/admin_panel/doc/app/classes/User.html +0 -165
- data/src/admin_panel/doc/app/classes/YAMLWriter.html +0 -159
- data/src/admin_panel/doc/app/files/app/controllers/admin_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/application_controller_rb.html +0 -108
- data/src/admin_panel/doc/app/files/app/controllers/application_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/exceptions_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/graph_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/mail_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/server_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/admin_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/application_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/exceptions_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/graph_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/app_exception_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/app_rb.html +0 -108
- data/src/admin_panel/doc/app/files/app/models/app_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/application_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/mail_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/pseudo_model_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/resource_usage_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/server_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/url_breakup_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/url_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/user_rb.html +0 -101
- data/src/admin_panel/doc/app/files/doc/README_FOR_APP.html +0 -109
- data/src/admin_panel/doc/app/files/lib/asset_tag_helper_ext_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/control_rb.html +0 -110
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/database_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/resource_usage_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/throughput_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_breakup_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/scgi_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/yaml_writer_rb.html +0 -101
- data/src/admin_panel/doc/app/fr_class_index.html +0 -60
- data/src/admin_panel/doc/app/fr_file_index.html +0 -58
- data/src/admin_panel/doc/app/fr_method_index.html +0 -206
- data/src/admin_panel/doc/app/rdoc-style.css +0 -208
- data/src/admin_panel/public/dispatch.cgi +0 -10
- data/src/admin_panel/public/dispatch.fcgi +0 -24
- data/src/admin_panel/public/dispatch.rb +0 -10
- data/src/admin_panel/script/about +0 -4
- data/src/admin_panel/script/console +0 -3
- data/src/admin_panel/script/dbconsole +0 -3
- data/src/admin_panel/script/destroy +0 -3
- data/src/admin_panel/script/generate +0 -3
- data/src/admin_panel/script/performance/benchmarker +0 -3
- data/src/admin_panel/script/performance/profiler +0 -3
- data/src/admin_panel/script/performance/request +0 -3
- data/src/admin_panel/script/plugin +0 -3
- data/src/admin_panel/script/process/inspector +0 -3
- data/src/admin_panel/script/process/reaper +0 -3
- data/src/admin_panel/script/process/spawner +0 -3
- data/src/admin_panel/script/runner +0 -3
- data/src/admin_panel/script/server +0 -3
- data/test/spec/test_app/config/initializers/new_rails_defaults.rb +0 -19
- data/test/spec/test_app/script/about +0 -4
- data/test/spec/test_app/script/console +0 -3
- data/test/spec/test_app/script/dbconsole +0 -3
- data/test/spec/test_app/script/destroy +0 -3
- data/test/spec/test_app/script/generate +0 -3
- data/test/spec/test_app/script/performance/benchmarker +0 -3
- data/test/spec/test_app/script/performance/profiler +0 -3
- data/test/spec/test_app/script/plugin +0 -3
- data/test/spec/test_app/script/runner +0 -3
- data/test/spec/test_app/script/server +0 -3
- data/test/spec/test_app/vendor/.placeholder +0 -0
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!DOCTYPE html
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
-
<head>
|
|
8
|
-
<title>Class: UrlBreakupTimeSample</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
-
<script type="text/javascript">
|
|
13
|
-
// <![CDATA[
|
|
14
|
-
|
|
15
|
-
function popupCode( url ) {
|
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function toggleCode( id ) {
|
|
20
|
-
if ( document.getElementById )
|
|
21
|
-
elem = document.getElementById( id );
|
|
22
|
-
else if ( document.all )
|
|
23
|
-
elem = eval( "document.all." + id );
|
|
24
|
-
else
|
|
25
|
-
return false;
|
|
26
|
-
|
|
27
|
-
elemStyle = elem.style;
|
|
28
|
-
|
|
29
|
-
if ( elemStyle.display != "block" ) {
|
|
30
|
-
elemStyle.display = "block"
|
|
31
|
-
} else {
|
|
32
|
-
elemStyle.display = "none"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
-
|
|
41
|
-
// ]]>
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<div id="classHeader">
|
|
50
|
-
<table class="header-table">
|
|
51
|
-
<tr class="top-aligned-row">
|
|
52
|
-
<td><strong>Class</strong></td>
|
|
53
|
-
<td class="class-name-in-header">UrlBreakupTimeSample</td>
|
|
54
|
-
</tr>
|
|
55
|
-
<tr class="top-aligned-row">
|
|
56
|
-
<td><strong>In:</strong></td>
|
|
57
|
-
<td>
|
|
58
|
-
<a href="../files/app/models/url_breakup_time_sample_rb.html">
|
|
59
|
-
app/models/url_breakup_time_sample.rb
|
|
60
|
-
</a>
|
|
61
|
-
<br />
|
|
62
|
-
</td>
|
|
63
|
-
</tr>
|
|
64
|
-
|
|
65
|
-
<tr class="top-aligned-row">
|
|
66
|
-
<td><strong>Parent:</strong></td>
|
|
67
|
-
<td>
|
|
68
|
-
ActiveRecord::Base
|
|
69
|
-
</td>
|
|
70
|
-
</tr>
|
|
71
|
-
</table>
|
|
72
|
-
</div>
|
|
73
|
-
<!-- banner header -->
|
|
74
|
-
|
|
75
|
-
<div id="bodyContent">
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<div id="contextContent">
|
|
80
|
-
|
|
81
|
-
<div id="description">
|
|
82
|
-
<p>
|
|
83
|
-
This is the model class <a
|
|
84
|
-
href="UrlBreakupTimeSample.html">UrlBreakupTimeSample</a> related to the
|
|
85
|
-
url_breakup_samples table in the database.
|
|
86
|
-
</p>
|
|
87
|
-
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
<div id="method-list">
|
|
94
|
-
<h3 class="section-bar">Methods</h3>
|
|
95
|
-
|
|
96
|
-
<div class="name-list">
|
|
97
|
-
<a href="#M000078">get_url_breakup_sample_data</a>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
|
|
101
|
-
</div>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<!-- if includes -->
|
|
105
|
-
|
|
106
|
-
<div id="section">
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
<!-- if method_list -->
|
|
116
|
-
<div id="methods">
|
|
117
|
-
<h3 class="section-bar">Public Class methods</h3>
|
|
118
|
-
|
|
119
|
-
<div id="method-M000078" class="method-detail">
|
|
120
|
-
<a name="M000078"></a>
|
|
121
|
-
|
|
122
|
-
<div class="method-heading">
|
|
123
|
-
<a href="#M000078" class="method-signature">
|
|
124
|
-
<span class="method-name">get_url_breakup_sample_data</span><span class="method-args">(url_id)</span>
|
|
125
|
-
</a>
|
|
126
|
-
</div>
|
|
127
|
-
|
|
128
|
-
<div class="method-description">
|
|
129
|
-
<p>
|
|
130
|
-
This method gives the data details for the url in the table. The url data
|
|
131
|
-
is retrived with the help of url ids. The array of url id is supplied as
|
|
132
|
-
input to this method.
|
|
133
|
-
</p>
|
|
134
|
-
<p><a class="source-toggle" href="#"
|
|
135
|
-
onclick="toggleCode('M000078-source');return false;">[Source]</a></p>
|
|
136
|
-
<div class="method-source-code" id="M000078-source">
|
|
137
|
-
<pre>
|
|
138
|
-
<span class="ruby-comment cmt"># File app/models/url_breakup_time_sample.rb, line 26</span>
|
|
139
|
-
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_url_breakup_sample_data</span>(<span class="ruby-identifier">url_id</span>)
|
|
140
|
-
27: <span class="ruby-comment cmt"># url_id_array_size = url_id.size</span>
|
|
141
|
-
28: <span class="ruby-identifier">criteria</span> = <span class="ruby-value str">"url_sample_id in ("</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">url_id</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">", "</span>) <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">')'</span>
|
|
142
|
-
29: <span class="ruby-comment cmt"># for i in 0..url_id_array_size-1</span>
|
|
143
|
-
30: <span class="ruby-comment cmt"># str1 = str1 + "url_sample_id ="+url_id[i].to_s</span>
|
|
144
|
-
31: <span class="ruby-comment cmt"># if i != url_id_array_size-1</span>
|
|
145
|
-
32: <span class="ruby-comment cmt"># str1 = str1 + " or "</span>
|
|
146
|
-
33: <span class="ruby-comment cmt"># end</span>
|
|
147
|
-
34: <span class="ruby-comment cmt"># end</span>
|
|
148
|
-
35: <span class="ruby-identifier">query_str</span> = <span class="ruby-value str">"select method_name, sum(spent_time) as time_spent from url_breakup_time_samples where "</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">criteria</span> <span class="ruby-operator">+</span> <span class="ruby-value str">" group by method_name order by time_spent desc"</span>
|
|
149
|
-
36: <span class="ruby-identifier">url_breakup_sample</span> = <span class="ruby-identifier">find_by_sql</span>(<span class="ruby-identifier">query_str</span>)
|
|
150
|
-
37: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_breakup_sample</span>
|
|
151
|
-
38: <span class="ruby-keyword kw">end</span>
|
|
152
|
-
</pre>
|
|
153
|
-
</div>
|
|
154
|
-
</div>
|
|
155
|
-
</div>
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
</div>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
</div>
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
<div id="validator-badges">
|
|
165
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
166
|
-
</div>
|
|
167
|
-
|
|
168
|
-
</body>
|
|
169
|
-
</html>
|
|
@@ -1,708 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!DOCTYPE html
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
-
<head>
|
|
8
|
-
<title>Class: UrlTimeSample</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
-
<script type="text/javascript">
|
|
13
|
-
// <![CDATA[
|
|
14
|
-
|
|
15
|
-
function popupCode( url ) {
|
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function toggleCode( id ) {
|
|
20
|
-
if ( document.getElementById )
|
|
21
|
-
elem = document.getElementById( id );
|
|
22
|
-
else if ( document.all )
|
|
23
|
-
elem = eval( "document.all." + id );
|
|
24
|
-
else
|
|
25
|
-
return false;
|
|
26
|
-
|
|
27
|
-
elemStyle = elem.style;
|
|
28
|
-
|
|
29
|
-
if ( elemStyle.display != "block" ) {
|
|
30
|
-
elemStyle.display = "block"
|
|
31
|
-
} else {
|
|
32
|
-
elemStyle.display = "none"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
-
|
|
41
|
-
// ]]>
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<div id="classHeader">
|
|
50
|
-
<table class="header-table">
|
|
51
|
-
<tr class="top-aligned-row">
|
|
52
|
-
<td><strong>Class</strong></td>
|
|
53
|
-
<td class="class-name-in-header">UrlTimeSample</td>
|
|
54
|
-
</tr>
|
|
55
|
-
<tr class="top-aligned-row">
|
|
56
|
-
<td><strong>In:</strong></td>
|
|
57
|
-
<td>
|
|
58
|
-
<a href="../files/app/models/url_time_sample_rb.html">
|
|
59
|
-
app/models/url_time_sample.rb
|
|
60
|
-
</a>
|
|
61
|
-
<br />
|
|
62
|
-
</td>
|
|
63
|
-
</tr>
|
|
64
|
-
|
|
65
|
-
<tr class="top-aligned-row">
|
|
66
|
-
<td><strong>Parent:</strong></td>
|
|
67
|
-
<td>
|
|
68
|
-
ActiveRecord::Base
|
|
69
|
-
</td>
|
|
70
|
-
</tr>
|
|
71
|
-
</table>
|
|
72
|
-
</div>
|
|
73
|
-
<!-- banner header -->
|
|
74
|
-
|
|
75
|
-
<div id="bodyContent">
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<div id="contextContent">
|
|
80
|
-
|
|
81
|
-
<div id="description">
|
|
82
|
-
<p>
|
|
83
|
-
This is the model class <a href="UrlTimeSample.html">UrlTimeSample</a>
|
|
84
|
-
related to the url_samples table in the database.
|
|
85
|
-
</p>
|
|
86
|
-
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
<div id="method-list">
|
|
93
|
-
<h3 class="section-bar">Methods</h3>
|
|
94
|
-
|
|
95
|
-
<div class="name-list">
|
|
96
|
-
<a href="#M000118">add_to_sample</a>
|
|
97
|
-
<a href="#M000117">create_breakup_sample</a>
|
|
98
|
-
<a href="#M000116">create_sample</a>
|
|
99
|
-
<a href="#M000112">get_max_and_slab</a>
|
|
100
|
-
<a href="#M000109">get_slowest_url_data</a>
|
|
101
|
-
<a href="#M000110">get_time_consuming_url_data</a>
|
|
102
|
-
<a href="#M000111">get_top_db_consuming_url_data</a>
|
|
103
|
-
<a href="#M000107">get_url_calls_data</a>
|
|
104
|
-
<a href="#M000114">get_url_data</a>
|
|
105
|
-
<a href="#M000108">get_url_hits_data</a>
|
|
106
|
-
<a href="#M000115">get_url_id</a>
|
|
107
|
-
<a href="#M000113">get_urls</a>
|
|
108
|
-
<a href="#M000120">write_all_samples</a>
|
|
109
|
-
<a href="#M000119">write_stale_samples</a>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<!-- if includes -->
|
|
117
|
-
|
|
118
|
-
<div id="section">
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
<!-- if method_list -->
|
|
128
|
-
<div id="methods">
|
|
129
|
-
<h3 class="section-bar">Public Class methods</h3>
|
|
130
|
-
|
|
131
|
-
<div id="method-M000118" class="method-detail">
|
|
132
|
-
<a name="M000118"></a>
|
|
133
|
-
|
|
134
|
-
<div class="method-heading">
|
|
135
|
-
<a href="#M000118" class="method-signature">
|
|
136
|
-
<span class="method-name">add_to_sample</span><span class="method-args">( message_analyzer, app_id, url, total_spent_time, db_time, rendering_time, db_time_breakup, wall_time)</span>
|
|
137
|
-
</a>
|
|
138
|
-
</div>
|
|
139
|
-
|
|
140
|
-
<div class="method-description">
|
|
141
|
-
<p>
|
|
142
|
-
url_samples contain at most one sample per url in the scope of application.
|
|
143
|
-
create url sample if not present if url presents, and wall_time falling in
|
|
144
|
-
sampling period, add it if url presents, and wall_time not falling in
|
|
145
|
-
sampling period and less than sampling period, check into database for that
|
|
146
|
-
sample and update it if url presents, and wall_time not falling in sampling
|
|
147
|
-
period and greater than sampling period, create new sample and insert
|
|
148
|
-
current into database.
|
|
149
|
-
</p>
|
|
150
|
-
<p><a class="source-toggle" href="#"
|
|
151
|
-
onclick="toggleCode('M000118-source');return false;">[Source]</a></p>
|
|
152
|
-
<div class="method-source-code" id="M000118-source">
|
|
153
|
-
<pre>
|
|
154
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 163</span>
|
|
155
|
-
163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_to_sample</span>( <span class="ruby-identifier">message_analyzer</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">total_spent_time</span>, <span class="ruby-identifier">db_time</span>, <span class="ruby-identifier">rendering_time</span>, <span class="ruby-identifier">db_time_breakup</span>, <span class="ruby-identifier">wall_time</span>)
|
|
156
|
-
164: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
|
|
157
|
-
165: <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>] = [<span class="ruby-identifier">wall_time</span>, [ <span class="ruby-identifier">total_spent_time</span>, <span class="ruby-identifier">db_time</span>, <span class="ruby-identifier">rendering_time</span>, <span class="ruby-value">1</span>]] <span class="ruby-comment cmt">#one more element(as a hash) come in last position for keeping db_breakup time</span>
|
|
158
|
-
166: <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>][<span class="ruby-value">1</span>][<span class="ruby-value">4</span>] = <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">dup</span>
|
|
159
|
-
167: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">wall_time</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>].<span class="ruby-identifier">first</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">wall_time</span> <span class="ruby-operator"><=</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>].<span class="ruby-identifier">first</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>
|
|
160
|
-
168: <span class="ruby-identifier">sample</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>][<span class="ruby-value">1</span>]
|
|
161
|
-
169: <span class="ruby-identifier">sample</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">total_spent_time</span>
|
|
162
|
-
170: <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time</span>
|
|
163
|
-
171: <span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">rendering_time</span>
|
|
164
|
-
172: <span class="ruby-identifier">sample</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
165
|
-
173: <span class="ruby-identifier">tmp_hash</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>]
|
|
166
|
-
174: <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
|
167
|
-
175: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>]
|
|
168
|
-
176: <span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">value</span>
|
|
169
|
-
177: <span class="ruby-keyword kw">else</span>
|
|
170
|
-
178: <span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
|
|
171
|
-
179: <span class="ruby-keyword kw">end</span>
|
|
172
|
-
180: <span class="ruby-keyword kw">end</span>
|
|
173
|
-
181: <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>] = <span class="ruby-identifier">tmp_hash</span>
|
|
174
|
-
182: <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>][<span class="ruby-value">1</span>] = <span class="ruby-identifier">sample</span>
|
|
175
|
-
183: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">wall_time</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>].<span class="ruby-identifier">first</span>
|
|
176
|
-
184: <span class="ruby-identifier">url_sample</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:first</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">"app_id = ? and url = ? and wall_time >= ? and wall_time <= ?"</span>,<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">wall_time</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>])
|
|
177
|
-
185: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url_sample</span>
|
|
178
|
-
186: <span class="ruby-identifier">url_breakup_sample</span> = <span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">"url_sample_id = ?"</span>,<span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span>])
|
|
179
|
-
187: <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">total_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">total_spent_time</span>
|
|
180
|
-
188: <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">db_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time</span>
|
|
181
|
-
189: <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">rendering_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rendering_time</span>
|
|
182
|
-
190: <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">number_of_requests</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
183
|
-
191: <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">save!</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
|
184
|
-
192: <span class="ruby-identifier">db_breakup_keys</span> = <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">keys</span>
|
|
185
|
-
193: <span class="ruby-identifier">covered_keys</span> = []
|
|
186
|
-
194: <span class="ruby-identifier">url_breakup_sample</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">breakup</span><span class="ruby-operator">|</span>
|
|
187
|
-
195: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">db_breakup_keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">method_name</span>)
|
|
188
|
-
196: <span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">spent_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time_breakup</span>[<span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">method_name</span>]
|
|
189
|
-
197: <span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">save!</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
|
190
|
-
198: <span class="ruby-identifier">covered_keys</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">method_name</span>)
|
|
191
|
-
199: <span class="ruby-keyword kw">end</span>
|
|
192
|
-
200: <span class="ruby-keyword kw">end</span>
|
|
193
|
-
201: <span class="ruby-identifier">remaining_keys</span> = <span class="ruby-identifier">db_breakup_keys</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">covered_keys</span>
|
|
194
|
-
202: <span class="ruby-identifier">remaining_keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
|
195
|
-
203: <span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">create</span>({<span class="ruby-identifier">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">:url_sample_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">:method_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">:spent_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">db_time_breakup</span>[<span class="ruby-identifier">key</span>], <span class="ruby-identifier">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">wall_time</span>}) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
|
196
|
-
204: <span class="ruby-keyword kw">end</span>
|
|
197
|
-
205: <span class="ruby-keyword kw">else</span>
|
|
198
|
-
206: <span class="ruby-identifier">wall_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>
|
|
199
|
-
207: <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, [<span class="ruby-identifier">total_spent_time</span>, <span class="ruby-identifier">db_time</span>, <span class="ruby-identifier">rendering_time</span>, <span class="ruby-value">1</span>], <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">db_time_breakup</span>)
|
|
200
|
-
208: <span class="ruby-comment cmt">#url_sample = create({:app_id => app_id, :url => url, :total_time => total_spent_time, :db_time => db_time, :rendering_time => rendering_time, :number_of_requests => 1, :wall_time => wall_time, :sampling_rate => message_analyzer.sampling_rate})</span>
|
|
201
|
-
209: <span class="ruby-comment cmt">#db_time_breakup.each_pair do |key, value|</span>
|
|
202
|
-
210: <span class="ruby-comment cmt"># UrlBreakupTimeSample.create({:app_id => app_id, :url_sample_id => url_sample.id, :method_name => key, :spent_time => value, :wall_time => url_sample.wall_time})</span>
|
|
203
|
-
211: <span class="ruby-comment cmt">#end</span>
|
|
204
|
-
212: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if url_sample</span>
|
|
205
|
-
213: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">wall_time</span> <span class="ruby-operator">></span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>].<span class="ruby-identifier">first</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>
|
|
206
|
-
214: <span class="ruby-identifier">o_wall_time</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>].<span class="ruby-identifier">first</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>
|
|
207
|
-
215: <span class="ruby-identifier">sample</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>][<span class="ruby-value">1</span>]
|
|
208
|
-
216: <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>])
|
|
209
|
-
217: <span class="ruby-comment cmt"># url_sample = create({:app_id => app_id, :url => url, :total_time => sample[0], :db_time => sample[1], :rendering_time => sample[2], :number_of_requests => sample[3], :wall_time => o_wall_time, :sampling_rate => message_analyzer.sampling_rate})</span>
|
|
210
|
-
218: <span class="ruby-comment cmt"># tmp_hash = sample[4]</span>
|
|
211
|
-
219: <span class="ruby-comment cmt"># tmp_hash.each_pair do |key, value|</span>
|
|
212
|
-
220: <span class="ruby-comment cmt"># UrlBreakupTimeSample.create({:app_id => app_id, :url_sample_id => url_sample.id, :method_name => key, :spent_time => value, :wall_time => url_sample.wall_time})</span>
|
|
213
|
-
221: <span class="ruby-comment cmt"># end</span>
|
|
214
|
-
222: <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>] = [<span class="ruby-identifier">wall_time</span>, [ <span class="ruby-identifier">total_spent_time</span>, <span class="ruby-identifier">db_time</span>, <span class="ruby-identifier">rendering_time</span>, <span class="ruby-value">1</span>]]
|
|
215
|
-
223: <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-identifier">url</span>][<span class="ruby-value">1</span>][<span class="ruby-value">4</span>] = <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">dup</span>
|
|
216
|
-
224: <span class="ruby-keyword kw">else</span>
|
|
217
|
-
225: <span class="ruby-identifier">raise</span> <span class="ruby-constant">UndefinedSituation</span>, <span class="ruby-value str">"Think of this possibility!"</span>
|
|
218
|
-
226: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if</span>
|
|
219
|
-
227: <span class="ruby-keyword kw">end</span>
|
|
220
|
-
</pre>
|
|
221
|
-
</div>
|
|
222
|
-
</div>
|
|
223
|
-
</div>
|
|
224
|
-
|
|
225
|
-
<div id="method-M000117" class="method-detail">
|
|
226
|
-
<a name="M000117"></a>
|
|
227
|
-
|
|
228
|
-
<div class="method-heading">
|
|
229
|
-
<a href="#M000117" class="method-signature">
|
|
230
|
-
<span class="method-name">create_breakup_sample</span><span class="method-args">(app_id, url_sample_id, key, value, wall_time)</span>
|
|
231
|
-
</a>
|
|
232
|
-
</div>
|
|
233
|
-
|
|
234
|
-
<div class="method-description">
|
|
235
|
-
<p><a class="source-toggle" href="#"
|
|
236
|
-
onclick="toggleCode('M000117-source');return false;">[Source]</a></p>
|
|
237
|
-
<div class="method-source-code" id="M000117-source">
|
|
238
|
-
<pre>
|
|
239
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 152</span>
|
|
240
|
-
152: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_breakup_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_sample_id</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">wall_time</span>)
|
|
241
|
-
153: <span class="ruby-identifier">with_exception_handling</span>(<span class="ruby-node">"URL breakup sample creation for application #{app_id}, url_sample_id #{url_sample_id}, wall_time #{wall_time} failed."</span>) <span class="ruby-keyword kw">do</span>
|
|
242
|
-
154: <span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">create</span>({<span class="ruby-identifier">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">:url_sample_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url_sample_id</span>, <span class="ruby-identifier">:method_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">:spent_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">value</span>, <span class="ruby-identifier">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wall_time</span>})
|
|
243
|
-
155: <span class="ruby-keyword kw">end</span>
|
|
244
|
-
156: <span class="ruby-keyword kw">end</span>
|
|
245
|
-
</pre>
|
|
246
|
-
</div>
|
|
247
|
-
</div>
|
|
248
|
-
</div>
|
|
249
|
-
|
|
250
|
-
<div id="method-M000116" class="method-detail">
|
|
251
|
-
<a name="M000116"></a>
|
|
252
|
-
|
|
253
|
-
<div class="method-heading">
|
|
254
|
-
<a href="#M000116" class="method-signature">
|
|
255
|
-
<span class="method-name">create_sample</span><span class="method-args">(app_id, url, sample, wall_time, sampling_rate, db_time_breakup)</span>
|
|
256
|
-
</a>
|
|
257
|
-
</div>
|
|
258
|
-
|
|
259
|
-
<div class="method-description">
|
|
260
|
-
<p>
|
|
261
|
-
This section of the model is used by the Webraor Analyzer.
|
|
262
|
-
</p>
|
|
263
|
-
<p><a class="source-toggle" href="#"
|
|
264
|
-
onclick="toggleCode('M000116-source');return false;">[Source]</a></p>
|
|
265
|
-
<div class="method-source-code" id="M000116-source">
|
|
266
|
-
<pre>
|
|
267
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 140</span>
|
|
268
|
-
140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">db_time_breakup</span>)
|
|
269
|
-
141: <span class="ruby-identifier">url_sample</span> = <span class="ruby-keyword kw">nil</span>
|
|
270
|
-
142: <span class="ruby-identifier">with_exception_handling</span>(<span class="ruby-node">"URL sample creation for application #{app_id}, URL #{url}, wall_time #{wall_time}"</span>) <span class="ruby-keyword kw">do</span>
|
|
271
|
-
143: <span class="ruby-identifier">url_sample</span> = <span class="ruby-identifier">create</span>({<span class="ruby-identifier">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url</span>, <span class="ruby-identifier">:total_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">:db_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">:rendering_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>], <span class="ruby-identifier">:number_of_requests</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">3</span>], <span class="ruby-identifier">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">:sampling_rate</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sampling_rate</span>})
|
|
272
|
-
144: <span class="ruby-keyword kw">end</span>
|
|
273
|
-
145: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">db_time_breakup</span>
|
|
274
|
-
146: <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
|
275
|
-
147: <span class="ruby-identifier">create_breakup_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">wall_time</span>)
|
|
276
|
-
148: <span class="ruby-keyword kw">end</span>
|
|
277
|
-
149: <span class="ruby-keyword kw">end</span>
|
|
278
|
-
150: <span class="ruby-keyword kw">end</span>
|
|
279
|
-
</pre>
|
|
280
|
-
</div>
|
|
281
|
-
</div>
|
|
282
|
-
</div>
|
|
283
|
-
|
|
284
|
-
<div id="method-M000112" class="method-detail">
|
|
285
|
-
<a name="M000112"></a>
|
|
286
|
-
|
|
287
|
-
<div class="method-heading">
|
|
288
|
-
<a href="#M000112" class="method-signature">
|
|
289
|
-
<span class="method-name">get_max_and_slab</span><span class="method-args">(max)</span>
|
|
290
|
-
</a>
|
|
291
|
-
</div>
|
|
292
|
-
|
|
293
|
-
<div class="method-description">
|
|
294
|
-
<p>
|
|
295
|
-
This method gives the maximum value for y axis and the value by which the y
|
|
296
|
-
axis is to be partitioned.
|
|
297
|
-
</p>
|
|
298
|
-
<p><a class="source-toggle" href="#"
|
|
299
|
-
onclick="toggleCode('M000112-source');return false;">[Source]</a></p>
|
|
300
|
-
<div class="method-source-code" id="M000112-source">
|
|
301
|
-
<pre>
|
|
302
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 98</span>
|
|
303
|
-
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_max_and_slab</span>(<span class="ruby-identifier">max</span>)
|
|
304
|
-
99: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
305
|
-
100: <span class="ruby-identifier">max</span> = <span class="ruby-value">1</span>
|
|
306
|
-
101: <span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
307
|
-
102: <span class="ruby-keyword kw">else</span>
|
|
308
|
-
103: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">></span> <span class="ruby-value">8</span>
|
|
309
|
-
104: <span class="ruby-identifier">slab</span> = (<span class="ruby-identifier">max</span> <span class="ruby-operator">/</span> <span class="ruby-value">8</span>.<span class="ruby-identifier">to_i</span>).<span class="ruby-identifier">to_i</span>
|
|
310
|
-
105: <span class="ruby-keyword kw">else</span>
|
|
311
|
-
106: <span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
312
|
-
107: <span class="ruby-keyword kw">end</span>
|
|
313
|
-
108: <span class="ruby-keyword kw">end</span>
|
|
314
|
-
109: <span class="ruby-identifier">max</span> = <span class="ruby-identifier">max</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">slab</span>
|
|
315
|
-
110: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>
|
|
316
|
-
111: <span class="ruby-keyword kw">end</span>
|
|
317
|
-
</pre>
|
|
318
|
-
</div>
|
|
319
|
-
</div>
|
|
320
|
-
</div>
|
|
321
|
-
|
|
322
|
-
<div id="method-M000109" class="method-detail">
|
|
323
|
-
<a name="M000109"></a>
|
|
324
|
-
|
|
325
|
-
<div class="method-heading">
|
|
326
|
-
<a href="#M000109" class="method-signature">
|
|
327
|
-
<span class="method-name">get_slowest_url_data</span><span class="method-args">(app_id, start_time, end_time)</span>
|
|
328
|
-
</a>
|
|
329
|
-
</div>
|
|
330
|
-
|
|
331
|
-
<div class="method-description">
|
|
332
|
-
<p>
|
|
333
|
-
This method is get data of the slowest urls of an application. This method
|
|
334
|
-
is called by the <a
|
|
335
|
-
href="UrlTimeSample.html#M000107">get_url_calls_data</a> method.
|
|
336
|
-
</p>
|
|
337
|
-
<p><a class="source-toggle" href="#"
|
|
338
|
-
onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
|
|
339
|
-
<div class="method-source-code" id="M000109-source">
|
|
340
|
-
<pre>
|
|
341
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 80</span>
|
|
342
|
-
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_slowest_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
343
|
-
81: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select=</span><span class="ruby-operator">></span><span class="ruby-value str">'url, (sum(total_time) / sum(number_of_requests)) as result'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url'</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'result desc'</span>)
|
|
344
|
-
82: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
345
|
-
83: <span class="ruby-keyword kw">end</span>
|
|
346
|
-
</pre>
|
|
347
|
-
</div>
|
|
348
|
-
</div>
|
|
349
|
-
</div>
|
|
350
|
-
|
|
351
|
-
<div id="method-M000110" class="method-detail">
|
|
352
|
-
<a name="M000110"></a>
|
|
353
|
-
|
|
354
|
-
<div class="method-heading">
|
|
355
|
-
<a href="#M000110" class="method-signature">
|
|
356
|
-
<span class="method-name">get_time_consuming_url_data</span><span class="method-args">(app_id, start_time, end_time)</span>
|
|
357
|
-
</a>
|
|
358
|
-
</div>
|
|
359
|
-
|
|
360
|
-
<div class="method-description">
|
|
361
|
-
<p>
|
|
362
|
-
This method is get data of the time consuming urls of an application. This
|
|
363
|
-
method is called by the <a
|
|
364
|
-
href="UrlTimeSample.html#M000107">get_url_calls_data</a> method.
|
|
365
|
-
</p>
|
|
366
|
-
<p><a class="source-toggle" href="#"
|
|
367
|
-
onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
|
|
368
|
-
<div class="method-source-code" id="M000110-source">
|
|
369
|
-
<pre>
|
|
370
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 86</span>
|
|
371
|
-
86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_time_consuming_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
372
|
-
87: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url, sum(total_time) as time'</span>, <span class="ruby-identifier">:conditions=</span><span class="ruby-operator">></span>[<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url'</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'time desc'</span>)
|
|
373
|
-
88: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
374
|
-
89: <span class="ruby-keyword kw">end</span>
|
|
375
|
-
</pre>
|
|
376
|
-
</div>
|
|
377
|
-
</div>
|
|
378
|
-
</div>
|
|
379
|
-
|
|
380
|
-
<div id="method-M000111" class="method-detail">
|
|
381
|
-
<a name="M000111"></a>
|
|
382
|
-
|
|
383
|
-
<div class="method-heading">
|
|
384
|
-
<a href="#M000111" class="method-signature">
|
|
385
|
-
<span class="method-name">get_top_db_consuming_url_data</span><span class="method-args">(app_id, start_time, end_time)</span>
|
|
386
|
-
</a>
|
|
387
|
-
</div>
|
|
388
|
-
|
|
389
|
-
<div class="method-description">
|
|
390
|
-
<p>
|
|
391
|
-
This method is get data of the top database consuming urls of an
|
|
392
|
-
application. This method is called by the <a
|
|
393
|
-
href="UrlTimeSample.html#M000107">get_url_calls_data</a> method.
|
|
394
|
-
</p>
|
|
395
|
-
<p><a class="source-toggle" href="#"
|
|
396
|
-
onclick="toggleCode('M000111-source');return false;">[Source]</a></p>
|
|
397
|
-
<div class="method-source-code" id="M000111-source">
|
|
398
|
-
<pre>
|
|
399
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 92</span>
|
|
400
|
-
92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_top_db_consuming_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
401
|
-
93: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url, sum(db_time) as time'</span>, <span class="ruby-identifier">:conditions=</span><span class="ruby-operator">></span>[<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url'</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'time desc'</span>)
|
|
402
|
-
94: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
403
|
-
95: <span class="ruby-keyword kw">end</span>
|
|
404
|
-
</pre>
|
|
405
|
-
</div>
|
|
406
|
-
</div>
|
|
407
|
-
</div>
|
|
408
|
-
|
|
409
|
-
<div id="method-M000107" class="method-detail">
|
|
410
|
-
<a name="M000107"></a>
|
|
411
|
-
|
|
412
|
-
<div class="method-heading">
|
|
413
|
-
<a href="#M000107" class="method-signature">
|
|
414
|
-
<span class="method-name">get_url_calls_data</span><span class="method-args">(app_id, from_date, to_date, type)</span>
|
|
415
|
-
</a>
|
|
416
|
-
</div>
|
|
417
|
-
|
|
418
|
-
<div class="method-description">
|
|
419
|
-
<p>
|
|
420
|
-
This method returns a hash of data for the graphs Url HIts , Slowest Url
|
|
421
|
-
and Most time Consuming Url for an application.
|
|
422
|
-
</p>
|
|
423
|
-
<p><a class="source-toggle" href="#"
|
|
424
|
-
onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
|
|
425
|
-
<div class="method-source-code" id="M000107-source">
|
|
426
|
-
<pre>
|
|
427
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 27</span>
|
|
428
|
-
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_url_calls_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">from_date</span>, <span class="ruby-identifier">to_date</span>, <span class="ruby-identifier">type</span>)
|
|
429
|
-
28: <span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
|
|
430
|
-
29: <span class="ruby-identifier">urls</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
431
|
-
30: <span class="ruby-identifier">final_data</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
432
|
-
31: <span class="ruby-identifier">start_time</span> = <span class="ruby-identifier">from_date</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%Y-%m-%d"</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">" 00:00:00"</span>
|
|
433
|
-
32: <span class="ruby-identifier">end_time</span> = <span class="ruby-identifier">to_date</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%Y-%m-%d"</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">" 23:59:59"</span>
|
|
434
|
-
33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"requests"</span>
|
|
435
|
-
34: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">get_url_hits_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
436
|
-
35: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"slowesturl"</span>
|
|
437
|
-
36: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">get_slowest_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
438
|
-
37: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"timeconsumingurl"</span>
|
|
439
|
-
38: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">get_time_consuming_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
440
|
-
39: <span class="ruby-keyword kw">else</span>
|
|
441
|
-
40: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">get_top_db_consuming_url_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
442
|
-
41: <span class="ruby-keyword kw">end</span>
|
|
443
|
-
42: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
444
|
-
43: <span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url_sample</span><span class="ruby-operator">|</span>
|
|
445
|
-
44: <span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">url</span>
|
|
446
|
-
45: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"requests"</span>
|
|
447
|
-
46: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">requests</span>.<span class="ruby-identifier">to_i</span>
|
|
448
|
-
47: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"slowesturl"</span>
|
|
449
|
-
48: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">result</span>.<span class="ruby-identifier">to_i</span>
|
|
450
|
-
49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"timeconsumingurl"</span>
|
|
451
|
-
50: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">/</span><span class="ruby-value">1000</span>
|
|
452
|
-
51: <span class="ruby-keyword kw">else</span>
|
|
453
|
-
52: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">/</span><span class="ruby-value">1000</span>
|
|
454
|
-
53: <span class="ruby-keyword kw">end</span>
|
|
455
|
-
54: <span class="ruby-identifier">final_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">data</span>
|
|
456
|
-
55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">data</span>
|
|
457
|
-
56: <span class="ruby-identifier">max</span> = <span class="ruby-identifier">data</span>
|
|
458
|
-
57: <span class="ruby-keyword kw">end</span>
|
|
459
|
-
58: <span class="ruby-keyword kw">end</span>
|
|
460
|
-
59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">urls</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator"><</span> <span class="ruby-value">15</span>
|
|
461
|
-
60: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">14</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">urls</span>.<span class="ruby-identifier">size</span>
|
|
462
|
-
61: <span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">""</span>
|
|
463
|
-
62: <span class="ruby-identifier">final_data</span> <span class="ruby-operator"><<</span> <span class="ruby-value">0</span>
|
|
464
|
-
63: <span class="ruby-keyword kw">end</span>
|
|
465
|
-
64: <span class="ruby-keyword kw">else</span>
|
|
466
|
-
65: <span class="ruby-identifier">urls</span> = <span class="ruby-identifier">urls</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">14</span>]
|
|
467
|
-
66: <span class="ruby-identifier">final_data</span> = <span class="ruby-identifier">final_data</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">14</span>]
|
|
468
|
-
67: <span class="ruby-keyword kw">end</span>
|
|
469
|
-
68: <span class="ruby-keyword kw">end</span>
|
|
470
|
-
69: <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span> = <span class="ruby-identifier">get_max_and_slab</span>(<span class="ruby-identifier">max</span>)
|
|
471
|
-
70: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">urls</span>, <span class="ruby-identifier">final_data</span>, <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>
|
|
472
|
-
71: <span class="ruby-keyword kw">end</span>
|
|
473
|
-
</pre>
|
|
474
|
-
</div>
|
|
475
|
-
</div>
|
|
476
|
-
</div>
|
|
477
|
-
|
|
478
|
-
<div id="method-M000114" class="method-detail">
|
|
479
|
-
<a name="M000114"></a>
|
|
480
|
-
|
|
481
|
-
<div class="method-heading">
|
|
482
|
-
<a href="#M000114" class="method-signature">
|
|
483
|
-
<span class="method-name">get_url_data</span><span class="method-args">(start_time, end_time, app_id, url_name)</span>
|
|
484
|
-
</a>
|
|
485
|
-
</div>
|
|
486
|
-
|
|
487
|
-
<div class="method-description">
|
|
488
|
-
<p>
|
|
489
|
-
This method returns the total_time, db_time and rendering time for an url
|
|
490
|
-
of an application for the given period between start_time and end_time
|
|
491
|
-
</p>
|
|
492
|
-
<p><a class="source-toggle" href="#"
|
|
493
|
-
onclick="toggleCode('M000114-source');return false;">[Source]</a></p>
|
|
494
|
-
<div class="method-source-code" id="M000114-source">
|
|
495
|
-
<pre>
|
|
496
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 125</span>
|
|
497
|
-
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_url_data</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_name</span>)
|
|
498
|
-
126: <span class="ruby-identifier">url_samples</span>=<span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">find</span><span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select=</span><span class="ruby-operator">></span><span class="ruby-value str">'sum(total_time) as total_time, sum(db_time) as db_time, sum(rendering_time) as rendering_time, sum(number_of_requests) as requests'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'app_id = ? and url = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_name</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>]
|
|
499
|
-
127: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
500
|
-
128: <span class="ruby-keyword kw">end</span>
|
|
501
|
-
</pre>
|
|
502
|
-
</div>
|
|
503
|
-
</div>
|
|
504
|
-
</div>
|
|
505
|
-
|
|
506
|
-
<div id="method-M000108" class="method-detail">
|
|
507
|
-
<a name="M000108"></a>
|
|
508
|
-
|
|
509
|
-
<div class="method-heading">
|
|
510
|
-
<a href="#M000108" class="method-signature">
|
|
511
|
-
<span class="method-name">get_url_hits_data</span><span class="method-args">(app_id, start_time, end_time)</span>
|
|
512
|
-
</a>
|
|
513
|
-
</div>
|
|
514
|
-
|
|
515
|
-
<div class="method-description">
|
|
516
|
-
<p>
|
|
517
|
-
This method is get data of the url hits for an application. This method is
|
|
518
|
-
called by the <a href="UrlTimeSample.html#M000107">get_url_calls_data</a>
|
|
519
|
-
method.
|
|
520
|
-
</p>
|
|
521
|
-
<p><a class="source-toggle" href="#"
|
|
522
|
-
onclick="toggleCode('M000108-source');return false;">[Source]</a></p>
|
|
523
|
-
<div class="method-source-code" id="M000108-source">
|
|
524
|
-
<pre>
|
|
525
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 74</span>
|
|
526
|
-
74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_url_hits_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
527
|
-
75: <span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url, sum(number_of_requests) as requests'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url'</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'requests desc'</span>)
|
|
528
|
-
76: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
529
|
-
77: <span class="ruby-keyword kw">end</span>
|
|
530
|
-
</pre>
|
|
531
|
-
</div>
|
|
532
|
-
</div>
|
|
533
|
-
</div>
|
|
534
|
-
|
|
535
|
-
<div id="method-M000115" class="method-detail">
|
|
536
|
-
<a name="M000115"></a>
|
|
537
|
-
|
|
538
|
-
<div class="method-heading">
|
|
539
|
-
<a href="#M000115" class="method-signature">
|
|
540
|
-
<span class="method-name">get_url_id</span><span class="method-args">(start_time, end_time, url_name,app_id)</span>
|
|
541
|
-
</a>
|
|
542
|
-
</div>
|
|
543
|
-
|
|
544
|
-
<div class="method-description">
|
|
545
|
-
<p>
|
|
546
|
-
This method returns the array of the url ids for a particular url of an
|
|
547
|
-
application that was hit in a period between start_time and end_time
|
|
548
|
-
</p>
|
|
549
|
-
<p><a class="source-toggle" href="#"
|
|
550
|
-
onclick="toggleCode('M000115-source');return false;">[Source]</a></p>
|
|
551
|
-
<div class="method-source-code" id="M000115-source">
|
|
552
|
-
<pre>
|
|
553
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 132</span>
|
|
554
|
-
132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_url_id</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">url_name</span>,<span class="ruby-identifier">app_id</span>)
|
|
555
|
-
133: <span class="ruby-identifier">url_samples</span> = <span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">find</span><span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'id, url'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'url = ? and app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">url_name</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>]
|
|
556
|
-
134: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url_samples</span>
|
|
557
|
-
135: <span class="ruby-keyword kw">end</span>
|
|
558
|
-
</pre>
|
|
559
|
-
</div>
|
|
560
|
-
</div>
|
|
561
|
-
</div>
|
|
562
|
-
|
|
563
|
-
<div id="method-M000113" class="method-detail">
|
|
564
|
-
<a name="M000113"></a>
|
|
565
|
-
|
|
566
|
-
<div class="method-heading">
|
|
567
|
-
<a href="#M000113" class="method-signature">
|
|
568
|
-
<span class="method-name">get_urls</span><span class="method-args">(start_time, end_time, app_id)</span>
|
|
569
|
-
</a>
|
|
570
|
-
</div>
|
|
571
|
-
|
|
572
|
-
<div class="method-description">
|
|
573
|
-
<p>
|
|
574
|
-
This method returns the array of the url for an application that were hit
|
|
575
|
-
between start_time and end_time
|
|
576
|
-
</p>
|
|
577
|
-
<p><a class="source-toggle" href="#"
|
|
578
|
-
onclick="toggleCode('M000113-source');return false;">[Source]</a></p>
|
|
579
|
-
<div class="method-source-code" id="M000113-source">
|
|
580
|
-
<pre>
|
|
581
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 114</span>
|
|
582
|
-
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_urls</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>)
|
|
583
|
-
115: <span class="ruby-identifier">urls</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
584
|
-
116: <span class="ruby-identifier">url_samples</span> = <span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">find</span><span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select=</span><span class="ruby-operator">></span><span class="ruby-value str">'id, url, sum(total_time) as time'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'url'</span>, <span class="ruby-identifier">:order</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'time desc'</span>
|
|
585
|
-
117: <span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url_sample</span><span class="ruby-operator">|</span>
|
|
586
|
-
118: <span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">url</span>
|
|
587
|
-
119: <span class="ruby-keyword kw">end</span>
|
|
588
|
-
120: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">urls</span>
|
|
589
|
-
121: <span class="ruby-keyword kw">end</span>
|
|
590
|
-
</pre>
|
|
591
|
-
</div>
|
|
592
|
-
</div>
|
|
593
|
-
</div>
|
|
594
|
-
|
|
595
|
-
<div id="method-M000120" class="method-detail">
|
|
596
|
-
<a name="M000120"></a>
|
|
597
|
-
|
|
598
|
-
<div class="method-heading">
|
|
599
|
-
<a href="#M000120" class="method-signature">
|
|
600
|
-
<span class="method-name">write_all_samples</span><span class="method-args">(message_analyzer)</span>
|
|
601
|
-
</a>
|
|
602
|
-
</div>
|
|
603
|
-
|
|
604
|
-
<div class="method-description">
|
|
605
|
-
<p>
|
|
606
|
-
At time of stopping a script, we would write the samples which are in
|
|
607
|
-
memory.
|
|
608
|
-
</p>
|
|
609
|
-
<p><a class="source-toggle" href="#"
|
|
610
|
-
onclick="toggleCode('M000120-source');return false;">[Source]</a></p>
|
|
611
|
-
<div class="method-source-code" id="M000120-source">
|
|
612
|
-
<pre>
|
|
613
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 257</span>
|
|
614
|
-
257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_all_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
615
|
-
258: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
616
|
-
259: <span class="ruby-keyword kw">return</span>
|
|
617
|
-
260: <span class="ruby-keyword kw">end</span>
|
|
618
|
-
261:
|
|
619
|
-
262: <span class="ruby-comment cmt"># it will contain all the url samples for all the application.</span>
|
|
620
|
-
263: <span class="ruby-identifier">all_samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>
|
|
621
|
-
264: <span class="ruby-identifier">all_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">app_samples</span><span class="ruby-operator">|</span>
|
|
622
|
-
265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
623
|
-
266: <span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span><span class="ruby-operator">|</span>
|
|
624
|
-
267: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sample</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">sample</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
625
|
-
268: <span class="ruby-identifier">o_wall_time</span> = <span class="ruby-identifier">sample</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>
|
|
626
|
-
269: <span class="ruby-identifier">tmp_sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
627
|
-
270: <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">tmp_sample</span>, <span class="ruby-identifier">o_wall_time</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">tmp_sample</span>[<span class="ruby-value">4</span>])
|
|
628
|
-
271: <span class="ruby-comment cmt">#url_sample = create({:app_id => app_id, :url => url, :total_time => tmp_sample[0], :db_time => tmp_sample[1], :rendering_time => tmp_sample[2], :number_of_requests => tmp_sample[3], :wall_time => o_wall_time, :sampling_rate => message_analyzer.sampling_rate})</span>
|
|
629
|
-
272: <span class="ruby-comment cmt">#tmp_hash = tmp_sample[4]</span>
|
|
630
|
-
273: <span class="ruby-comment cmt">#p tmp_hash</span>
|
|
631
|
-
274: <span class="ruby-comment cmt">#if tmp_hash and tmp_hash.length > 0</span>
|
|
632
|
-
275: <span class="ruby-comment cmt"># tmp_hash.each_pair do |key, value|</span>
|
|
633
|
-
276: <span class="ruby-comment cmt"># UrlBreakupTimeSample.create({:app_id => app_id, :url_sample_id => url_sample.id, :method_name => key, :spent_time => value, :wall_time => url_sample.wall_time})</span>
|
|
634
|
-
277: <span class="ruby-comment cmt"># end # do |key, value|</span>
|
|
635
|
-
278: <span class="ruby-comment cmt">#end</span>
|
|
636
|
-
279: <span class="ruby-keyword kw">end</span>
|
|
637
|
-
280: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># do |url, sample|</span>
|
|
638
|
-
281: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if app_samples.length != 0</span>
|
|
639
|
-
282: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># do |app_id, app_samples|</span>
|
|
640
|
-
283: <span class="ruby-keyword kw">end</span>
|
|
641
|
-
</pre>
|
|
642
|
-
</div>
|
|
643
|
-
</div>
|
|
644
|
-
</div>
|
|
645
|
-
|
|
646
|
-
<div id="method-M000119" class="method-detail">
|
|
647
|
-
<a name="M000119"></a>
|
|
648
|
-
|
|
649
|
-
<div class="method-heading">
|
|
650
|
-
<a href="#M000119" class="method-signature">
|
|
651
|
-
<span class="method-name">write_stale_samples</span><span class="method-args">(message_analyzer)</span>
|
|
652
|
-
</a>
|
|
653
|
-
</div>
|
|
654
|
-
|
|
655
|
-
<div class="method-description">
|
|
656
|
-
<p>
|
|
657
|
-
We have kept sampling period of one minute and would keep any sample in
|
|
658
|
-
memory for maximum one minute. By this method we # would write all such
|
|
659
|
-
samples which are in memory for more than a minute.
|
|
660
|
-
</p>
|
|
661
|
-
<p><a class="source-toggle" href="#"
|
|
662
|
-
onclick="toggleCode('M000119-source');return false;">[Source]</a></p>
|
|
663
|
-
<div class="method-source-code" id="M000119-source">
|
|
664
|
-
<pre>
|
|
665
|
-
<span class="ruby-comment cmt"># File app/models/url_time_sample.rb, line 230</span>
|
|
666
|
-
230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_stale_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
667
|
-
231: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
668
|
-
232: <span class="ruby-keyword kw">return</span>
|
|
669
|
-
233: <span class="ruby-keyword kw">end</span>
|
|
670
|
-
234: <span class="ruby-comment cmt"># it will contain all the url samples for all the application.</span>
|
|
671
|
-
235: <span class="ruby-identifier">all_samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>
|
|
672
|
-
236: <span class="ruby-identifier">all_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">app_samples</span><span class="ruby-operator">|</span>
|
|
673
|
-
237: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
674
|
-
238: <span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span><span class="ruby-operator">|</span>
|
|
675
|
-
239: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sample</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">sample</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">o_wall_time</span> = <span class="ruby-identifier">sample</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>) <span class="ruby-operator"><</span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
|
676
|
-
240: <span class="ruby-identifier">tmp_sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
677
|
-
241: <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">tmp_sample</span>, <span class="ruby-identifier">o_wall_time</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">tmp_sample</span>[<span class="ruby-value">4</span>])
|
|
678
|
-
242: <span class="ruby-comment cmt">#url_sample = create({:app_id => app_id, :url => url, :total_time => tmp_sample[0], :db_time => tmp_sample[1], :rendering_time => tmp_sample[2], :number_of_requests => tmp_sample[3], :wall_time => o_wall_time, :sampling_rate => message_analyzer.sampling_rate})</span>
|
|
679
|
-
243: <span class="ruby-comment cmt">#tmp_hash = tmp_sample[4]</span>
|
|
680
|
-
244: <span class="ruby-comment cmt">#if tmp_hash and tmp_hash.length > 0</span>
|
|
681
|
-
245: <span class="ruby-comment cmt"># tmp_hash.each_pair do |key, value|</span>
|
|
682
|
-
246: <span class="ruby-comment cmt"># UrlBreakupTimeSample.create({:app_id => app_id, :url_sample_id => url_sample.id, :method_name => key, :spent_time => value, :wall_time => url_sample.wall_time})</span>
|
|
683
|
-
247: <span class="ruby-comment cmt"># end # do |key, value|</span>
|
|
684
|
-
248: <span class="ruby-comment cmt">#end</span>
|
|
685
|
-
249: <span class="ruby-identifier">app_samples</span>[<span class="ruby-identifier">url</span>] = <span class="ruby-keyword kw">nil</span>
|
|
686
|
-
250: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if (o_wall_time = url_sample.first + message_analyzer.sampling_rate) < Time.now</span>
|
|
687
|
-
251: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># do |url, sample|</span>
|
|
688
|
-
252: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if app_samples.length != 0</span>
|
|
689
|
-
253: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># do |app_id, app_samples|</span>
|
|
690
|
-
254: <span class="ruby-keyword kw">end</span>
|
|
691
|
-
</pre>
|
|
692
|
-
</div>
|
|
693
|
-
</div>
|
|
694
|
-
</div>
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
</div>
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
</div>
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
<div id="validator-badges">
|
|
704
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
705
|
-
</div>
|
|
706
|
-
|
|
707
|
-
</body>
|
|
708
|
-
</html>
|