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
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
+
<head>
|
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
7
|
+
|
|
8
|
+
<title>Class: UrlBreakupTimeSample</title>
|
|
9
|
+
|
|
10
|
+
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
|
|
11
|
+
|
|
12
|
+
<script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
|
|
13
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
|
|
14
|
+
<script src="./js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
|
|
15
|
+
<script src="./js/darkfish.js" type="text/javascript" charset="utf-8"></script>
|
|
16
|
+
|
|
17
|
+
</head>
|
|
18
|
+
<body id="top" class="class">
|
|
19
|
+
|
|
20
|
+
<div id="metadata">
|
|
21
|
+
<div id="home-metadata">
|
|
22
|
+
<div id="home-section" class="section">
|
|
23
|
+
<h3 class="section-header">
|
|
24
|
+
<a href="./index.html">Home</a>
|
|
25
|
+
<a href="./index.html#classes">Classes</a>
|
|
26
|
+
<a href="./index.html#methods">Methods</a>
|
|
27
|
+
</h3>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div id="file-metadata">
|
|
32
|
+
<div id="file-list-section" class="section">
|
|
33
|
+
<h3 class="section-header">In Files</h3>
|
|
34
|
+
<div class="section-body">
|
|
35
|
+
<ul>
|
|
36
|
+
|
|
37
|
+
<li><a href="./app/models/url_breakup_time_sample_rb.html?TB_iframe=true&height=550&width=785"
|
|
38
|
+
class="thickbox" title="app/models/url_breakup_time_sample.rb">app/models/url_breakup_time_sample.rb</a></li>
|
|
39
|
+
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div id="class-metadata">
|
|
48
|
+
|
|
49
|
+
<!-- Parent Class -->
|
|
50
|
+
<div id="parent-class-section" class="section">
|
|
51
|
+
<h3 class="section-header">Parent</h3>
|
|
52
|
+
|
|
53
|
+
<p class="link">ActiveRecord::Base</p>
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
<!-- Method Quickref -->
|
|
64
|
+
<div id="method-list-section" class="section">
|
|
65
|
+
<h3 class="section-header">Methods</h3>
|
|
66
|
+
<ul class="link-list">
|
|
67
|
+
|
|
68
|
+
<li><a href="#method-c-get_url_breakup_sample_data">::get_url_breakup_sample_data</a></li>
|
|
69
|
+
|
|
70
|
+
</ul>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div id="project-metadata">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
<div id="fileindex-section" class="section project-section">
|
|
81
|
+
<h3 class="section-header">Files</h3>
|
|
82
|
+
<ul>
|
|
83
|
+
|
|
84
|
+
<li class="file"><a href="./doc/README_FOR_APP.html">README_FOR_APP</a></li>
|
|
85
|
+
|
|
86
|
+
</ul>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
<div id="classindex-section" class="section project-section">
|
|
91
|
+
<h3 class="section-header">Class/Module Index
|
|
92
|
+
<span class="search-toggle"><img src="./images/find.png"
|
|
93
|
+
height="16" width="16" alt="[+]"
|
|
94
|
+
title="show/hide quicksearch" /></span></h3>
|
|
95
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
96
|
+
<fieldset>
|
|
97
|
+
<legend>Quicksearch</legend>
|
|
98
|
+
<input type="text" name="quicksearch" value=""
|
|
99
|
+
class="quicksearch-field" />
|
|
100
|
+
</fieldset>
|
|
101
|
+
</form>
|
|
102
|
+
|
|
103
|
+
<ul class="link-list">
|
|
104
|
+
|
|
105
|
+
<li><a href="./Analytics.html">Analytics</a></li>
|
|
106
|
+
|
|
107
|
+
<li><a href="./Analytics/Database.html">Analytics::Database</a></li>
|
|
108
|
+
|
|
109
|
+
<li><a href="./Analytics/ResourceUsage.html">Analytics::ResourceUsage</a></li>
|
|
110
|
+
|
|
111
|
+
<li><a href="./Analytics/Throughput.html">Analytics::Throughput</a></li>
|
|
112
|
+
|
|
113
|
+
<li><a href="./Analytics/Url.html">Analytics::Url</a></li>
|
|
114
|
+
|
|
115
|
+
<li><a href="./Analytics/UrlBreakup.html">Analytics::UrlBreakup</a></li>
|
|
116
|
+
|
|
117
|
+
<li><a href="./ActionView.html">ActionView</a></li>
|
|
118
|
+
|
|
119
|
+
<li><a href="./ActionView/Helpers.html">ActionView::Helpers</a></li>
|
|
120
|
+
|
|
121
|
+
<li><a href="./ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a></li>
|
|
122
|
+
|
|
123
|
+
<li><a href="./AdminController.html">AdminController</a></li>
|
|
124
|
+
|
|
125
|
+
<li><a href="./AdminHelper.html">AdminHelper</a></li>
|
|
126
|
+
|
|
127
|
+
<li><a href="./App.html">App</a></li>
|
|
128
|
+
|
|
129
|
+
<li><a href="./AppException.html">AppException</a></li>
|
|
130
|
+
|
|
131
|
+
<li><a href="./AppTimeSample.html">AppTimeSample</a></li>
|
|
132
|
+
|
|
133
|
+
<li><a href="./ApplicationController.html">ApplicationController</a></li>
|
|
134
|
+
|
|
135
|
+
<li><a href="./ApplicationHelper.html">ApplicationHelper</a></li>
|
|
136
|
+
|
|
137
|
+
<li><a href="./ApplicationSpecification.html">ApplicationSpecification</a></li>
|
|
138
|
+
|
|
139
|
+
<li><a href="./ApplicationSpecificationController.html">ApplicationSpecificationController</a></li>
|
|
140
|
+
|
|
141
|
+
<li><a href="./ApplicationSpecificationHelper.html">ApplicationSpecificationHelper</a></li>
|
|
142
|
+
|
|
143
|
+
<li><a href="./Control.html">Control</a></li>
|
|
144
|
+
|
|
145
|
+
<li><a href="./ExceptionDetail.html">ExceptionDetail</a></li>
|
|
146
|
+
|
|
147
|
+
<li><a href="./ExceptionsController.html">ExceptionsController</a></li>
|
|
148
|
+
|
|
149
|
+
<li><a href="./ExceptionsHelper.html">ExceptionsHelper</a></li>
|
|
150
|
+
|
|
151
|
+
<li><a href="./GraphController.html">GraphController</a></li>
|
|
152
|
+
|
|
153
|
+
<li><a href="./GraphHelper.html">GraphHelper</a></li>
|
|
154
|
+
|
|
155
|
+
<li><a href="./Headers.html">Headers</a></li>
|
|
156
|
+
|
|
157
|
+
<li><a href="./HeadersController.html">HeadersController</a></li>
|
|
158
|
+
|
|
159
|
+
<li><a href="./HeadersHelper.html">HeadersHelper</a></li>
|
|
160
|
+
|
|
161
|
+
<li><a href="./MailSpecification.html">MailSpecification</a></li>
|
|
162
|
+
|
|
163
|
+
<li><a href="./MailSpecificationController.html">MailSpecificationController</a></li>
|
|
164
|
+
|
|
165
|
+
<li><a href="./MailSpecificationHelper.html">MailSpecificationHelper</a></li>
|
|
166
|
+
|
|
167
|
+
<li><a href="./Mailer.html">Mailer</a></li>
|
|
168
|
+
|
|
169
|
+
<li><a href="./Object.html">Object</a></li>
|
|
170
|
+
|
|
171
|
+
<li><a href="./PseudoModel.html">PseudoModel</a></li>
|
|
172
|
+
|
|
173
|
+
<li><a href="./ResourceUsage.html">ResourceUsage</a></li>
|
|
174
|
+
|
|
175
|
+
<li><a href="./SCGI.html">SCGI</a></li>
|
|
176
|
+
|
|
177
|
+
<li><a href="./ServerSpecification.html">ServerSpecification</a></li>
|
|
178
|
+
|
|
179
|
+
<li><a href="./ServerSpecificationController.html">ServerSpecificationController</a></li>
|
|
180
|
+
|
|
181
|
+
<li><a href="./ServerSpecificationHelper.html">ServerSpecificationHelper</a></li>
|
|
182
|
+
|
|
183
|
+
<li><a href="./SignalHelper.html">SignalHelper</a></li>
|
|
184
|
+
|
|
185
|
+
<li><a href="./UrlBreakupTimeSample.html">UrlBreakupTimeSample</a></li>
|
|
186
|
+
|
|
187
|
+
<li><a href="./UrlTimeSample.html">UrlTimeSample</a></li>
|
|
188
|
+
|
|
189
|
+
<li><a href="./User.html">User</a></li>
|
|
190
|
+
|
|
191
|
+
<li><a href="./YAMLConfig.html">YAMLConfig</a></li>
|
|
192
|
+
|
|
193
|
+
<li><a href="./YAMLWriter.html">YAMLWriter</a></li>
|
|
194
|
+
|
|
195
|
+
</ul>
|
|
196
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<div id="documentation">
|
|
204
|
+
<h1 class="class">UrlBreakupTimeSample</h1>
|
|
205
|
+
|
|
206
|
+
<div id="description" class="description">
|
|
207
|
+
|
|
208
|
+
<p>This is the model class <a
|
|
209
|
+
href="UrlBreakupTimeSample.html">UrlBreakupTimeSample</a> related to the
|
|
210
|
+
url_breakup_samples table in the database.</p>
|
|
211
|
+
|
|
212
|
+
</div><!-- description -->
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
<div id="5Buntitled-5D" class="documentation-section">
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<!-- Methods -->
|
|
227
|
+
|
|
228
|
+
<div id="public-class-method-details" class="method-section section">
|
|
229
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
<div id="get_url_breakup_sample_data-method" class="method-detail ">
|
|
233
|
+
<a name="method-c-get_url_breakup_sample_data"></a>
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
<div class="method-heading">
|
|
237
|
+
<span class="method-name">get_url_breakup_sample_data</span><span
|
|
238
|
+
class="method-args">(url_id)</span>
|
|
239
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
<div class="method-description">
|
|
244
|
+
|
|
245
|
+
<p>This method gives the data details for the url in the table. The url data
|
|
246
|
+
is retrived with the help of url ids. The array of url id is supplied as
|
|
247
|
+
input to this method.</p>
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
<div class="method-source-code" id="get_url_breakup_sample_data-source">
|
|
252
|
+
<pre>
|
|
253
|
+
<span class="ruby-comment"># File app/models/url_breakup_time_sample.rb, line 27</span>
|
|
254
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_breakup_sample_data</span>(<span class="ruby-identifier">url_id</span>)
|
|
255
|
+
<span class="ruby-identifier">criteria</span> = <span class="ruby-string">"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-string">", "</span>) <span class="ruby-operator">||</span> <span class="ruby-string">''</span>) <span class="ruby-operator">+</span> <span class="ruby-string">')'</span>
|
|
256
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'method_name,
|
|
257
|
+
sum(spent_time) as time_spent'</span>
|
|
258
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-identifier">criteria</span>
|
|
259
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:method_name</span>
|
|
260
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'time_spent desc'</span>)
|
|
261
|
+
<span class="ruby-keyword">end</span></pre>
|
|
262
|
+
</div><!-- get_url_breakup_sample_data-source -->
|
|
263
|
+
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
</div><!-- get_url_breakup_sample_data-method -->
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
</div><!-- public-class-method-details -->
|
|
273
|
+
|
|
274
|
+
</div><!-- 5Buntitled-5D -->
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
</div><!-- documentation -->
|
|
278
|
+
|
|
279
|
+
<div id="validator-badges">
|
|
280
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
281
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
282
|
+
Rdoc Generator</a> 2</small>.</p>
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
</body>
|
|
286
|
+
</html>
|
|
287
|
+
|
|
@@ -0,0 +1,986 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
+
<head>
|
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
7
|
+
|
|
8
|
+
<title>Class: UrlTimeSample</title>
|
|
9
|
+
|
|
10
|
+
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
|
|
11
|
+
|
|
12
|
+
<script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
|
|
13
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
|
|
14
|
+
<script src="./js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
|
|
15
|
+
<script src="./js/darkfish.js" type="text/javascript" charset="utf-8"></script>
|
|
16
|
+
|
|
17
|
+
</head>
|
|
18
|
+
<body id="top" class="class">
|
|
19
|
+
|
|
20
|
+
<div id="metadata">
|
|
21
|
+
<div id="home-metadata">
|
|
22
|
+
<div id="home-section" class="section">
|
|
23
|
+
<h3 class="section-header">
|
|
24
|
+
<a href="./index.html">Home</a>
|
|
25
|
+
<a href="./index.html#classes">Classes</a>
|
|
26
|
+
<a href="./index.html#methods">Methods</a>
|
|
27
|
+
</h3>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div id="file-metadata">
|
|
32
|
+
<div id="file-list-section" class="section">
|
|
33
|
+
<h3 class="section-header">In Files</h3>
|
|
34
|
+
<div class="section-body">
|
|
35
|
+
<ul>
|
|
36
|
+
|
|
37
|
+
<li><a href="./app/models/url_time_sample_rb.html?TB_iframe=true&height=550&width=785"
|
|
38
|
+
class="thickbox" title="app/models/url_time_sample.rb">app/models/url_time_sample.rb</a></li>
|
|
39
|
+
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div id="class-metadata">
|
|
48
|
+
|
|
49
|
+
<!-- Parent Class -->
|
|
50
|
+
<div id="parent-class-section" class="section">
|
|
51
|
+
<h3 class="section-header">Parent</h3>
|
|
52
|
+
|
|
53
|
+
<p class="link">ActiveRecord::Base</p>
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
<!-- Method Quickref -->
|
|
64
|
+
<div id="method-list-section" class="section">
|
|
65
|
+
<h3 class="section-header">Methods</h3>
|
|
66
|
+
<ul class="link-list">
|
|
67
|
+
|
|
68
|
+
<li><a href="#method-c-add_to_sample">::add_to_sample</a></li>
|
|
69
|
+
|
|
70
|
+
<li><a href="#method-c-create_breakup_sample">::create_breakup_sample</a></li>
|
|
71
|
+
|
|
72
|
+
<li><a href="#method-c-create_sample">::create_sample</a></li>
|
|
73
|
+
|
|
74
|
+
<li><a href="#method-c-get_max_and_slab">::get_max_and_slab</a></li>
|
|
75
|
+
|
|
76
|
+
<li><a href="#method-c-get_slowest_url_data">::get_slowest_url_data</a></li>
|
|
77
|
+
|
|
78
|
+
<li><a href="#method-c-get_time_consuming_url_data">::get_time_consuming_url_data</a></li>
|
|
79
|
+
|
|
80
|
+
<li><a href="#method-c-get_top_db_consuming_url_data">::get_top_db_consuming_url_data</a></li>
|
|
81
|
+
|
|
82
|
+
<li><a href="#method-c-get_url_calls_data">::get_url_calls_data</a></li>
|
|
83
|
+
|
|
84
|
+
<li><a href="#method-c-get_url_data">::get_url_data</a></li>
|
|
85
|
+
|
|
86
|
+
<li><a href="#method-c-get_url_hits_data">::get_url_hits_data</a></li>
|
|
87
|
+
|
|
88
|
+
<li><a href="#method-c-get_url_id">::get_url_id</a></li>
|
|
89
|
+
|
|
90
|
+
<li><a href="#method-c-get_urls">::get_urls</a></li>
|
|
91
|
+
|
|
92
|
+
<li><a href="#method-c-write_all_samples">::write_all_samples</a></li>
|
|
93
|
+
|
|
94
|
+
<li><a href="#method-c-write_stale_samples">::write_stale_samples</a></li>
|
|
95
|
+
|
|
96
|
+
</ul>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div id="project-metadata">
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<div id="fileindex-section" class="section project-section">
|
|
107
|
+
<h3 class="section-header">Files</h3>
|
|
108
|
+
<ul>
|
|
109
|
+
|
|
110
|
+
<li class="file"><a href="./doc/README_FOR_APP.html">README_FOR_APP</a></li>
|
|
111
|
+
|
|
112
|
+
</ul>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
<div id="classindex-section" class="section project-section">
|
|
117
|
+
<h3 class="section-header">Class/Module Index
|
|
118
|
+
<span class="search-toggle"><img src="./images/find.png"
|
|
119
|
+
height="16" width="16" alt="[+]"
|
|
120
|
+
title="show/hide quicksearch" /></span></h3>
|
|
121
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
122
|
+
<fieldset>
|
|
123
|
+
<legend>Quicksearch</legend>
|
|
124
|
+
<input type="text" name="quicksearch" value=""
|
|
125
|
+
class="quicksearch-field" />
|
|
126
|
+
</fieldset>
|
|
127
|
+
</form>
|
|
128
|
+
|
|
129
|
+
<ul class="link-list">
|
|
130
|
+
|
|
131
|
+
<li><a href="./Analytics.html">Analytics</a></li>
|
|
132
|
+
|
|
133
|
+
<li><a href="./Analytics/Database.html">Analytics::Database</a></li>
|
|
134
|
+
|
|
135
|
+
<li><a href="./Analytics/ResourceUsage.html">Analytics::ResourceUsage</a></li>
|
|
136
|
+
|
|
137
|
+
<li><a href="./Analytics/Throughput.html">Analytics::Throughput</a></li>
|
|
138
|
+
|
|
139
|
+
<li><a href="./Analytics/Url.html">Analytics::Url</a></li>
|
|
140
|
+
|
|
141
|
+
<li><a href="./Analytics/UrlBreakup.html">Analytics::UrlBreakup</a></li>
|
|
142
|
+
|
|
143
|
+
<li><a href="./ActionView.html">ActionView</a></li>
|
|
144
|
+
|
|
145
|
+
<li><a href="./ActionView/Helpers.html">ActionView::Helpers</a></li>
|
|
146
|
+
|
|
147
|
+
<li><a href="./ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a></li>
|
|
148
|
+
|
|
149
|
+
<li><a href="./AdminController.html">AdminController</a></li>
|
|
150
|
+
|
|
151
|
+
<li><a href="./AdminHelper.html">AdminHelper</a></li>
|
|
152
|
+
|
|
153
|
+
<li><a href="./App.html">App</a></li>
|
|
154
|
+
|
|
155
|
+
<li><a href="./AppException.html">AppException</a></li>
|
|
156
|
+
|
|
157
|
+
<li><a href="./AppTimeSample.html">AppTimeSample</a></li>
|
|
158
|
+
|
|
159
|
+
<li><a href="./ApplicationController.html">ApplicationController</a></li>
|
|
160
|
+
|
|
161
|
+
<li><a href="./ApplicationHelper.html">ApplicationHelper</a></li>
|
|
162
|
+
|
|
163
|
+
<li><a href="./ApplicationSpecification.html">ApplicationSpecification</a></li>
|
|
164
|
+
|
|
165
|
+
<li><a href="./ApplicationSpecificationController.html">ApplicationSpecificationController</a></li>
|
|
166
|
+
|
|
167
|
+
<li><a href="./ApplicationSpecificationHelper.html">ApplicationSpecificationHelper</a></li>
|
|
168
|
+
|
|
169
|
+
<li><a href="./Control.html">Control</a></li>
|
|
170
|
+
|
|
171
|
+
<li><a href="./ExceptionDetail.html">ExceptionDetail</a></li>
|
|
172
|
+
|
|
173
|
+
<li><a href="./ExceptionsController.html">ExceptionsController</a></li>
|
|
174
|
+
|
|
175
|
+
<li><a href="./ExceptionsHelper.html">ExceptionsHelper</a></li>
|
|
176
|
+
|
|
177
|
+
<li><a href="./GraphController.html">GraphController</a></li>
|
|
178
|
+
|
|
179
|
+
<li><a href="./GraphHelper.html">GraphHelper</a></li>
|
|
180
|
+
|
|
181
|
+
<li><a href="./Headers.html">Headers</a></li>
|
|
182
|
+
|
|
183
|
+
<li><a href="./HeadersController.html">HeadersController</a></li>
|
|
184
|
+
|
|
185
|
+
<li><a href="./HeadersHelper.html">HeadersHelper</a></li>
|
|
186
|
+
|
|
187
|
+
<li><a href="./MailSpecification.html">MailSpecification</a></li>
|
|
188
|
+
|
|
189
|
+
<li><a href="./MailSpecificationController.html">MailSpecificationController</a></li>
|
|
190
|
+
|
|
191
|
+
<li><a href="./MailSpecificationHelper.html">MailSpecificationHelper</a></li>
|
|
192
|
+
|
|
193
|
+
<li><a href="./Mailer.html">Mailer</a></li>
|
|
194
|
+
|
|
195
|
+
<li><a href="./Object.html">Object</a></li>
|
|
196
|
+
|
|
197
|
+
<li><a href="./PseudoModel.html">PseudoModel</a></li>
|
|
198
|
+
|
|
199
|
+
<li><a href="./ResourceUsage.html">ResourceUsage</a></li>
|
|
200
|
+
|
|
201
|
+
<li><a href="./SCGI.html">SCGI</a></li>
|
|
202
|
+
|
|
203
|
+
<li><a href="./ServerSpecification.html">ServerSpecification</a></li>
|
|
204
|
+
|
|
205
|
+
<li><a href="./ServerSpecificationController.html">ServerSpecificationController</a></li>
|
|
206
|
+
|
|
207
|
+
<li><a href="./ServerSpecificationHelper.html">ServerSpecificationHelper</a></li>
|
|
208
|
+
|
|
209
|
+
<li><a href="./SignalHelper.html">SignalHelper</a></li>
|
|
210
|
+
|
|
211
|
+
<li><a href="./UrlBreakupTimeSample.html">UrlBreakupTimeSample</a></li>
|
|
212
|
+
|
|
213
|
+
<li><a href="./UrlTimeSample.html">UrlTimeSample</a></li>
|
|
214
|
+
|
|
215
|
+
<li><a href="./User.html">User</a></li>
|
|
216
|
+
|
|
217
|
+
<li><a href="./YAMLConfig.html">YAMLConfig</a></li>
|
|
218
|
+
|
|
219
|
+
<li><a href="./YAMLWriter.html">YAMLWriter</a></li>
|
|
220
|
+
|
|
221
|
+
</ul>
|
|
222
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
</div>
|
|
227
|
+
</div>
|
|
228
|
+
|
|
229
|
+
<div id="documentation">
|
|
230
|
+
<h1 class="class">UrlTimeSample</h1>
|
|
231
|
+
|
|
232
|
+
<div id="description" class="description">
|
|
233
|
+
|
|
234
|
+
<p>This is the model class <a href="UrlTimeSample.html">UrlTimeSample</a>
|
|
235
|
+
related to the url_samples table in the database.</p>
|
|
236
|
+
|
|
237
|
+
</div><!-- description -->
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
<div id="5Buntitled-5D" class="documentation-section">
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
<!-- Methods -->
|
|
252
|
+
|
|
253
|
+
<div id="public-class-method-details" class="method-section section">
|
|
254
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
<div id="add_to_sample-method" class="method-detail ">
|
|
258
|
+
<a name="method-c-add_to_sample"></a>
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
<div class="method-heading">
|
|
262
|
+
<span class="method-name">add_to_sample</span><span
|
|
263
|
+
class="method-args">( message_analyzer, app_id, url, total_spent_time, db_time, rendering_time, db_time_breakup, wall_time)</span>
|
|
264
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
265
|
+
</div>
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
<div class="method-description">
|
|
269
|
+
|
|
270
|
+
<p>url_samples contain at most one sample per url in the scope of application.
|
|
271
|
+
create url sample if not present if url presents, and wall_time falling in
|
|
272
|
+
sampling period, add it if url presents, and wall_time not falling in
|
|
273
|
+
sampling period and less than sampling period, check into database for that
|
|
274
|
+
sample and update it if url presents, and wall_time not falling in sampling
|
|
275
|
+
period and greater than sampling period, create new sample and insert
|
|
276
|
+
current into database.</p>
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
<div class="method-source-code" id="add_to_sample-source">
|
|
281
|
+
<pre>
|
|
282
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 208</span>
|
|
283
|
+
<span class="ruby-keyword">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>)
|
|
284
|
+
<span class="ruby-keyword">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">nil</span>
|
|
285
|
+
<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">#one more element(as a hash) come in last position for keeping db_breakup time</span>
|
|
286
|
+
<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>
|
|
287
|
+
<span class="ruby-keyword">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">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>
|
|
288
|
+
<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>]
|
|
289
|
+
<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>
|
|
290
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time</span>
|
|
291
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">rendering_time</span>
|
|
292
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
293
|
+
<span class="ruby-identifier">tmp_hash</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>]
|
|
294
|
+
<span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
|
295
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>]
|
|
296
|
+
<span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">value</span>
|
|
297
|
+
<span class="ruby-keyword">else</span>
|
|
298
|
+
<span class="ruby-identifier">tmp_hash</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
|
|
299
|
+
<span class="ruby-keyword">end</span>
|
|
300
|
+
<span class="ruby-keyword">end</span>
|
|
301
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>] = <span class="ruby-identifier">tmp_hash</span>
|
|
302
|
+
<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>
|
|
303
|
+
<span class="ruby-keyword">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>
|
|
304
|
+
<span class="ruby-identifier">url_sample</span> = <span class="ruby-identifier">find</span>(<span class="ruby-value">:first</span>, <span class="ruby-value">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-string">"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>])
|
|
305
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">url_sample</span>
|
|
306
|
+
<span class="ruby-identifier">url_breakup_sample</span> = <span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value">:all</span>, <span class="ruby-value">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-string">"url_sample_id = ?"</span>,<span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span>])
|
|
307
|
+
<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>
|
|
308
|
+
<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>
|
|
309
|
+
<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>
|
|
310
|
+
<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>
|
|
311
|
+
<span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">save!</span> <span class="ruby-keyword">rescue</span> <span class="ruby-keyword">nil</span>
|
|
312
|
+
<span class="ruby-identifier">db_breakup_keys</span> = <span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">keys</span>
|
|
313
|
+
<span class="ruby-identifier">covered_keys</span> = []
|
|
314
|
+
<span class="ruby-identifier">url_breakup_sample</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">breakup</span><span class="ruby-operator">|</span>
|
|
315
|
+
<span class="ruby-keyword">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>)
|
|
316
|
+
<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>]
|
|
317
|
+
<span class="ruby-identifier">breakup</span>.<span class="ruby-identifier">save!</span> <span class="ruby-keyword">rescue</span> <span class="ruby-keyword">nil</span>
|
|
318
|
+
<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>)
|
|
319
|
+
<span class="ruby-keyword">end</span>
|
|
320
|
+
<span class="ruby-keyword">end</span>
|
|
321
|
+
<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>
|
|
322
|
+
<span class="ruby-identifier">remaining_keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
|
323
|
+
<span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">create</span>({<span class="ruby-value">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-value">: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-value">:method_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>, <span class="ruby-value">: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-value">: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">rescue</span> <span class="ruby-keyword">nil</span>
|
|
324
|
+
<span class="ruby-keyword">end</span>
|
|
325
|
+
<span class="ruby-keyword">else</span>
|
|
326
|
+
<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>
|
|
327
|
+
<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>)
|
|
328
|
+
<span class="ruby-comment">#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>
|
|
329
|
+
<span class="ruby-comment">#db_time_breakup.each_pair do |key, value|</span>
|
|
330
|
+
<span class="ruby-comment"># 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>
|
|
331
|
+
<span class="ruby-comment">#end</span>
|
|
332
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if url_sample</span>
|
|
333
|
+
<span class="ruby-keyword">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>
|
|
334
|
+
<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>
|
|
335
|
+
<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>]
|
|
336
|
+
<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>])
|
|
337
|
+
<span class="ruby-comment"># 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>
|
|
338
|
+
<span class="ruby-comment"># tmp_hash = sample[4]</span>
|
|
339
|
+
<span class="ruby-comment"># tmp_hash.each_pair do |key, value|</span>
|
|
340
|
+
<span class="ruby-comment"># 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>
|
|
341
|
+
<span class="ruby-comment"># end</span>
|
|
342
|
+
<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>]]
|
|
343
|
+
<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>
|
|
344
|
+
<span class="ruby-keyword">else</span>
|
|
345
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">UndefinedSituation</span>, <span class="ruby-string">"Think of this possibility!"</span>
|
|
346
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if</span>
|
|
347
|
+
<span class="ruby-keyword">end</span></pre>
|
|
348
|
+
</div><!-- add_to_sample-source -->
|
|
349
|
+
|
|
350
|
+
</div>
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
</div><!-- add_to_sample-method -->
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
<div id="create_breakup_sample-method" class="method-detail ">
|
|
359
|
+
<a name="method-c-create_breakup_sample"></a>
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
<div class="method-heading">
|
|
363
|
+
<span class="method-name">create_breakup_sample</span><span
|
|
364
|
+
class="method-args">(app_id, url_sample_id, key, value, wall_time)</span>
|
|
365
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
366
|
+
</div>
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
<div class="method-description">
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<div class="method-source-code" id="create_breakup_sample-source">
|
|
376
|
+
<pre>
|
|
377
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 197</span>
|
|
378
|
+
<span class="ruby-keyword">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>)
|
|
379
|
+
<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">do</span>
|
|
380
|
+
<span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">create</span>({<span class="ruby-value">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-value">:url_sample_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url_sample_id</span>, <span class="ruby-value">:method_name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">key</span>, <span class="ruby-value">:spent_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">value</span>, <span class="ruby-value">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wall_time</span>})
|
|
381
|
+
<span class="ruby-keyword">end</span>
|
|
382
|
+
<span class="ruby-keyword">end</span></pre>
|
|
383
|
+
</div><!-- create_breakup_sample-source -->
|
|
384
|
+
|
|
385
|
+
</div>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
</div><!-- create_breakup_sample-method -->
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
<div id="create_sample-method" class="method-detail ">
|
|
394
|
+
<a name="method-c-create_sample"></a>
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
<div class="method-heading">
|
|
398
|
+
<span class="method-name">create_sample</span><span
|
|
399
|
+
class="method-args">(app_id, url, sample, wall_time, sampling_rate, db_time_breakup)</span>
|
|
400
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
401
|
+
</div>
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
<div class="method-description">
|
|
405
|
+
|
|
406
|
+
<p>This section of the model is used by the Webraor Analyzer.</p>
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
<div class="method-source-code" id="create_sample-source">
|
|
411
|
+
<pre>
|
|
412
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 185</span>
|
|
413
|
+
<span class="ruby-keyword">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>)
|
|
414
|
+
<span class="ruby-identifier">url_sample</span> = <span class="ruby-keyword">nil</span>
|
|
415
|
+
<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">do</span>
|
|
416
|
+
<span class="ruby-identifier">url_sample</span> = <span class="ruby-identifier">create</span>({<span class="ruby-value">:app_id</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">app_id</span>, <span class="ruby-value">:url</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">url</span>, <span class="ruby-value">:total_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">0</span>], <span class="ruby-value">:db_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>], <span class="ruby-value">:rendering_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>], <span class="ruby-value">:number_of_requests</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">3</span>], <span class="ruby-value">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wall_time</span>, <span class="ruby-value">:sampling_rate</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sampling_rate</span>})
|
|
417
|
+
<span class="ruby-keyword">end</span>
|
|
418
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">id</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">db_time_breakup</span>
|
|
419
|
+
<span class="ruby-identifier">db_time_breakup</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
|
420
|
+
<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>)
|
|
421
|
+
<span class="ruby-keyword">end</span>
|
|
422
|
+
<span class="ruby-keyword">end</span>
|
|
423
|
+
<span class="ruby-keyword">end</span></pre>
|
|
424
|
+
</div><!-- create_sample-source -->
|
|
425
|
+
|
|
426
|
+
</div>
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
</div><!-- create_sample-method -->
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
<div id="get_max_and_slab-method" class="method-detail ">
|
|
435
|
+
<a name="method-c-get_max_and_slab"></a>
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
<div class="method-heading">
|
|
439
|
+
<span class="method-name">get_max_and_slab</span><span
|
|
440
|
+
class="method-args">(max)</span>
|
|
441
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
442
|
+
</div>
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
<div class="method-description">
|
|
446
|
+
|
|
447
|
+
<p>This method gives the maximum value for y axis and the value by which the y
|
|
448
|
+
axis is to be partitioned.</p>
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
<div class="method-source-code" id="get_max_and_slab-source">
|
|
453
|
+
<pre>
|
|
454
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 124</span>
|
|
455
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_max_and_slab</span>(<span class="ruby-identifier">max</span>)
|
|
456
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
457
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-value">1</span>
|
|
458
|
+
<span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
459
|
+
<span class="ruby-keyword">else</span>
|
|
460
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">></span> <span class="ruby-value">8</span>
|
|
461
|
+
<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>
|
|
462
|
+
<span class="ruby-keyword">else</span>
|
|
463
|
+
<span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
464
|
+
<span class="ruby-keyword">end</span>
|
|
465
|
+
<span class="ruby-keyword">end</span>
|
|
466
|
+
<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>
|
|
467
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>
|
|
468
|
+
<span class="ruby-keyword">end</span></pre>
|
|
469
|
+
</div><!-- get_max_and_slab-source -->
|
|
470
|
+
|
|
471
|
+
</div>
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
</div><!-- get_max_and_slab-method -->
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
<div id="get_slowest_url_data-method" class="method-detail ">
|
|
480
|
+
<a name="method-c-get_slowest_url_data"></a>
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
<div class="method-heading">
|
|
484
|
+
<span class="method-name">get_slowest_url_data</span><span
|
|
485
|
+
class="method-args">(app_id, start_time, end_time)</span>
|
|
486
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
487
|
+
</div>
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
<div class="method-description">
|
|
491
|
+
|
|
492
|
+
<p>This method is get data of the slowest urls of an application. This method
|
|
493
|
+
is called by the <a
|
|
494
|
+
href="UrlTimeSample.html#method-c-get_url_calls_data">get_url_calls_data</a>
|
|
495
|
+
method.</p>
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
<div class="method-source-code" id="get_slowest_url_data-source">
|
|
500
|
+
<pre>
|
|
501
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 88</span>
|
|
502
|
+
<span class="ruby-keyword">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>)
|
|
503
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'url,
|
|
504
|
+
sum(total_time) / sum(number_of_requests) as result'</span>
|
|
505
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
506
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
507
|
+
<span class="ruby-identifier">app_id</span>,
|
|
508
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>
|
|
509
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:url</span>
|
|
510
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'result desc'</span>)
|
|
511
|
+
<span class="ruby-keyword">end</span></pre>
|
|
512
|
+
</div><!-- get_slowest_url_data-source -->
|
|
513
|
+
|
|
514
|
+
</div>
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
</div><!-- get_slowest_url_data-method -->
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
<div id="get_time_consuming_url_data-method" class="method-detail ">
|
|
523
|
+
<a name="method-c-get_time_consuming_url_data"></a>
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
<div class="method-heading">
|
|
527
|
+
<span class="method-name">get_time_consuming_url_data</span><span
|
|
528
|
+
class="method-args">(app_id, start_time, end_time)</span>
|
|
529
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
530
|
+
</div>
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
<div class="method-description">
|
|
534
|
+
|
|
535
|
+
<p>This method is get data of the time consuming urls of an application. This
|
|
536
|
+
method is called by the <a
|
|
537
|
+
href="UrlTimeSample.html#method-c-get_url_calls_data">get_url_calls_data</a>
|
|
538
|
+
method.</p>
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
<div class="method-source-code" id="get_time_consuming_url_data-source">
|
|
543
|
+
<pre>
|
|
544
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 100</span>
|
|
545
|
+
<span class="ruby-keyword">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>)
|
|
546
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'url,
|
|
547
|
+
sum(total_time) as time'</span>
|
|
548
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
549
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
550
|
+
<span class="ruby-identifier">app_id</span>,
|
|
551
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>
|
|
552
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:url</span>
|
|
553
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'time desc'</span>)
|
|
554
|
+
<span class="ruby-keyword">end</span></pre>
|
|
555
|
+
</div><!-- get_time_consuming_url_data-source -->
|
|
556
|
+
|
|
557
|
+
</div>
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
</div><!-- get_time_consuming_url_data-method -->
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
<div id="get_top_db_consuming_url_data-method" class="method-detail ">
|
|
566
|
+
<a name="method-c-get_top_db_consuming_url_data"></a>
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
<div class="method-heading">
|
|
570
|
+
<span class="method-name">get_top_db_consuming_url_data</span><span
|
|
571
|
+
class="method-args">(app_id, start_time, end_time)</span>
|
|
572
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
573
|
+
</div>
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
<div class="method-description">
|
|
577
|
+
|
|
578
|
+
<p>This method is get data of the top database consuming urls of an
|
|
579
|
+
application. This method is called by the <a
|
|
580
|
+
href="UrlTimeSample.html#method-c-get_url_calls_data">get_url_calls_data</a>
|
|
581
|
+
method.</p>
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
<div class="method-source-code" id="get_top_db_consuming_url_data-source">
|
|
586
|
+
<pre>
|
|
587
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 112</span>
|
|
588
|
+
<span class="ruby-keyword">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>)
|
|
589
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'url,
|
|
590
|
+
sum(db_time) as time'</span>
|
|
591
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
592
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
593
|
+
<span class="ruby-identifier">app_id</span>,
|
|
594
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>
|
|
595
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:url</span>
|
|
596
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'time desc'</span>)
|
|
597
|
+
<span class="ruby-keyword">end</span></pre>
|
|
598
|
+
</div><!-- get_top_db_consuming_url_data-source -->
|
|
599
|
+
|
|
600
|
+
</div>
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
</div><!-- get_top_db_consuming_url_data-method -->
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
<div id="get_url_calls_data-method" class="method-detail ">
|
|
609
|
+
<a name="method-c-get_url_calls_data"></a>
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
<div class="method-heading">
|
|
613
|
+
<span class="method-name">get_url_calls_data</span><span
|
|
614
|
+
class="method-args">(app_id, from_date, to_date, type)</span>
|
|
615
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
616
|
+
</div>
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
<div class="method-description">
|
|
620
|
+
|
|
621
|
+
<p>This method returns a hash of data for the graphs Url HIts , Slowest Url
|
|
622
|
+
and Most time Consuming Url for an application.</p>
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
<div class="method-source-code" id="get_url_calls_data-source">
|
|
627
|
+
<pre>
|
|
628
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 28</span>
|
|
629
|
+
<span class="ruby-keyword">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>)
|
|
630
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
|
|
631
|
+
<span class="ruby-identifier">urls</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
632
|
+
<span class="ruby-identifier">final_data</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
633
|
+
<span class="ruby-identifier">start_time</span> = <span class="ruby-identifier">from_date</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%Y-%m-%d"</span>) <span class="ruby-operator">+</span> <span class="ruby-string">" 00:00:00"</span>
|
|
634
|
+
<span class="ruby-identifier">end_time</span> = <span class="ruby-identifier">to_date</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%Y-%m-%d"</span>) <span class="ruby-operator">+</span> <span class="ruby-string">" 23:59:59"</span>
|
|
635
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"requests"</span>
|
|
636
|
+
<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>)
|
|
637
|
+
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"slowesturl"</span>
|
|
638
|
+
<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>)
|
|
639
|
+
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"timeconsumingurl"</span>
|
|
640
|
+
<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>)
|
|
641
|
+
<span class="ruby-keyword">else</span>
|
|
642
|
+
<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>)
|
|
643
|
+
<span class="ruby-keyword">end</span>
|
|
644
|
+
<span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">to_a</span>
|
|
645
|
+
<span class="ruby-keyword">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>
|
|
646
|
+
<span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url_sample</span><span class="ruby-operator">|</span>
|
|
647
|
+
<span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">url</span>
|
|
648
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"requests"</span>
|
|
649
|
+
<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>
|
|
650
|
+
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"slowesturl"</span>
|
|
651
|
+
<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>
|
|
652
|
+
<span class="ruby-keyword">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-string">"timeconsumingurl"</span>
|
|
653
|
+
<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>
|
|
654
|
+
<span class="ruby-keyword">else</span>
|
|
655
|
+
<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>
|
|
656
|
+
<span class="ruby-keyword">end</span>
|
|
657
|
+
<span class="ruby-identifier">final_data</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">data</span>
|
|
658
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">data</span>
|
|
659
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-identifier">data</span>
|
|
660
|
+
<span class="ruby-keyword">end</span>
|
|
661
|
+
<span class="ruby-keyword">end</span>
|
|
662
|
+
<span class="ruby-keyword">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>
|
|
663
|
+
<span class="ruby-keyword">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword">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>
|
|
664
|
+
<span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-string">""</span>
|
|
665
|
+
<span class="ruby-identifier">final_data</span> <span class="ruby-operator"><<</span> <span class="ruby-value">0</span>
|
|
666
|
+
<span class="ruby-keyword">end</span>
|
|
667
|
+
<span class="ruby-keyword">else</span>
|
|
668
|
+
<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>]
|
|
669
|
+
<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>]
|
|
670
|
+
<span class="ruby-keyword">end</span>
|
|
671
|
+
<span class="ruby-keyword">end</span>
|
|
672
|
+
<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>)
|
|
673
|
+
<span class="ruby-keyword">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>
|
|
674
|
+
<span class="ruby-keyword">end</span></pre>
|
|
675
|
+
</div><!-- get_url_calls_data-source -->
|
|
676
|
+
|
|
677
|
+
</div>
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
</div><!-- get_url_calls_data-method -->
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
<div id="get_url_data-method" class="method-detail ">
|
|
686
|
+
<a name="method-c-get_url_data"></a>
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
<div class="method-heading">
|
|
690
|
+
<span class="method-name">get_url_data</span><span
|
|
691
|
+
class="method-args">(start_time, end_time, app_id, url_name)</span>
|
|
692
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
693
|
+
</div>
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
<div class="method-description">
|
|
697
|
+
|
|
698
|
+
<p>This method returns the total_time, db_time and rendering time for an url
|
|
699
|
+
of an application for the given period between start_time and end_time</p>
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
<div class="method-source-code" id="get_url_data-source">
|
|
704
|
+
<pre>
|
|
705
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 158</span>
|
|
706
|
+
<span class="ruby-keyword">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>)
|
|
707
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'sum(total_time) as total_time,
|
|
708
|
+
sum(db_time) as db_time,
|
|
709
|
+
sum(rendering_time) as rendering_time,
|
|
710
|
+
sum(number_of_requests) as requests'</span>
|
|
711
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
712
|
+
url = ? and
|
|
713
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
714
|
+
<span class="ruby-identifier">app_id</span>,
|
|
715
|
+
<span class="ruby-identifier">url_name</span>,
|
|
716
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
717
|
+
<span class="ruby-keyword">end</span></pre>
|
|
718
|
+
</div><!-- get_url_data-source -->
|
|
719
|
+
|
|
720
|
+
</div>
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
</div><!-- get_url_data-method -->
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
<div id="get_url_hits_data-method" class="method-detail ">
|
|
729
|
+
<a name="method-c-get_url_hits_data"></a>
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
<div class="method-heading">
|
|
733
|
+
<span class="method-name">get_url_hits_data</span><span
|
|
734
|
+
class="method-args">(app_id, start_time, end_time)</span>
|
|
735
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
736
|
+
</div>
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
<div class="method-description">
|
|
740
|
+
|
|
741
|
+
<p>This method is get data of the url hits for an application. This method is
|
|
742
|
+
called by the <a
|
|
743
|
+
href="UrlTimeSample.html#method-c-get_url_calls_data">get_url_calls_data</a>
|
|
744
|
+
method.</p>
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
<div class="method-source-code" id="get_url_hits_data-source">
|
|
749
|
+
<pre>
|
|
750
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 76</span>
|
|
751
|
+
<span class="ruby-keyword">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>)
|
|
752
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'url,
|
|
753
|
+
sum(number_of_requests) as requests'</span>
|
|
754
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
755
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
756
|
+
<span class="ruby-identifier">app_id</span>,
|
|
757
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>
|
|
758
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:url</span>
|
|
759
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'requests desc'</span>)
|
|
760
|
+
<span class="ruby-keyword">end</span></pre>
|
|
761
|
+
</div><!-- get_url_hits_data-source -->
|
|
762
|
+
|
|
763
|
+
</div>
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
</div><!-- get_url_hits_data-method -->
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
<div id="get_url_id-method" class="method-detail ">
|
|
772
|
+
<a name="method-c-get_url_id"></a>
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
<div class="method-heading">
|
|
776
|
+
<span class="method-name">get_url_id</span><span
|
|
777
|
+
class="method-args">(start_time, end_time, url_name,app_id)</span>
|
|
778
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
779
|
+
</div>
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
<div class="method-description">
|
|
783
|
+
|
|
784
|
+
<p>This method returns the array of the url ids for a particular url of an
|
|
785
|
+
application that was hit in a period between start_time and end_time</p>
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
<div class="method-source-code" id="get_url_id-source">
|
|
790
|
+
<pre>
|
|
791
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 173</span>
|
|
792
|
+
<span class="ruby-keyword">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>)
|
|
793
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">select</span>(<span class="ruby-string">'id, url'</span>
|
|
794
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'url = ? and
|
|
795
|
+
app_id = ? and
|
|
796
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
797
|
+
<span class="ruby-identifier">url_name</span>,
|
|
798
|
+
<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>)
|
|
799
|
+
<span class="ruby-keyword">end</span></pre>
|
|
800
|
+
</div><!-- get_url_id-source -->
|
|
801
|
+
|
|
802
|
+
</div>
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
</div><!-- get_url_id-method -->
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
<div id="get_urls-method" class="method-detail ">
|
|
811
|
+
<a name="method-c-get_urls"></a>
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
<div class="method-heading">
|
|
815
|
+
<span class="method-name">get_urls</span><span
|
|
816
|
+
class="method-args">(start_time, end_time, app_id)</span>
|
|
817
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
818
|
+
</div>
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
<div class="method-description">
|
|
822
|
+
|
|
823
|
+
<p>This method returns the array of the url for an application that were hit
|
|
824
|
+
between start_time and end_time</p>
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
<div class="method-source-code" id="get_urls-source">
|
|
829
|
+
<pre>
|
|
830
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 140</span>
|
|
831
|
+
<span class="ruby-keyword">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>)
|
|
832
|
+
<span class="ruby-identifier">urls</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
833
|
+
<span class="ruby-identifier">url_samples</span> = <span class="ruby-identifier">select</span>(<span class="ruby-string">'url,
|
|
834
|
+
sum(total_time) as time'</span>
|
|
835
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
836
|
+
wall_time >= ? and wall_time < ?'</span>,
|
|
837
|
+
<span class="ruby-identifier">app_id</span>,
|
|
838
|
+
<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>
|
|
839
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:url</span>
|
|
840
|
+
).<span class="ruby-identifier">order</span>(<span class="ruby-string">'time desc'</span>)
|
|
841
|
+
<span class="ruby-identifier">url_samples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url_sample</span><span class="ruby-operator">|</span>
|
|
842
|
+
<span class="ruby-identifier">urls</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">url_sample</span>.<span class="ruby-identifier">url</span>
|
|
843
|
+
<span class="ruby-keyword">end</span>
|
|
844
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">urls</span>
|
|
845
|
+
<span class="ruby-keyword">end</span></pre>
|
|
846
|
+
</div><!-- get_urls-source -->
|
|
847
|
+
|
|
848
|
+
</div>
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
</div><!-- get_urls-method -->
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
<div id="write_all_samples-method" class="method-detail ">
|
|
857
|
+
<a name="method-c-write_all_samples"></a>
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
<div class="method-heading">
|
|
861
|
+
<span class="method-name">write_all_samples</span><span
|
|
862
|
+
class="method-args">(message_analyzer)</span>
|
|
863
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
864
|
+
</div>
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
<div class="method-description">
|
|
868
|
+
|
|
869
|
+
<p>At time of stopping a script, we would write the samples which are in
|
|
870
|
+
memory.</p>
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
<div class="method-source-code" id="write_all_samples-source">
|
|
875
|
+
<pre>
|
|
876
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 302</span>
|
|
877
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_all_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
878
|
+
<span class="ruby-keyword">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>
|
|
879
|
+
<span class="ruby-keyword">return</span>
|
|
880
|
+
<span class="ruby-keyword">end</span>
|
|
881
|
+
|
|
882
|
+
<span class="ruby-comment"># it will contain all the url samples for all the application.</span>
|
|
883
|
+
<span class="ruby-identifier">all_samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>
|
|
884
|
+
<span class="ruby-identifier">all_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">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>
|
|
885
|
+
<span class="ruby-keyword">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>
|
|
886
|
+
<span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span><span class="ruby-operator">|</span>
|
|
887
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">sample</span> <span class="ruby-keyword">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>
|
|
888
|
+
<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>
|
|
889
|
+
<span class="ruby-identifier">tmp_sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
890
|
+
<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>])
|
|
891
|
+
<span class="ruby-comment">#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>
|
|
892
|
+
<span class="ruby-comment">#tmp_hash = tmp_sample[4]</span>
|
|
893
|
+
<span class="ruby-comment">#p tmp_hash</span>
|
|
894
|
+
<span class="ruby-comment">#if tmp_hash and tmp_hash.length > 0</span>
|
|
895
|
+
<span class="ruby-comment"># tmp_hash.each_pair do |key, value|</span>
|
|
896
|
+
<span class="ruby-comment"># 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>
|
|
897
|
+
<span class="ruby-comment"># end # do |key, value|</span>
|
|
898
|
+
<span class="ruby-comment">#end</span>
|
|
899
|
+
<span class="ruby-keyword">end</span>
|
|
900
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># do |url, sample|</span>
|
|
901
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if app_samples.length != 0</span>
|
|
902
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># do |app_id, app_samples|</span>
|
|
903
|
+
<span class="ruby-keyword">end</span></pre>
|
|
904
|
+
</div><!-- write_all_samples-source -->
|
|
905
|
+
|
|
906
|
+
</div>
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
</div><!-- write_all_samples-method -->
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
<div id="write_stale_samples-method" class="method-detail ">
|
|
915
|
+
<a name="method-c-write_stale_samples"></a>
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<div class="method-heading">
|
|
919
|
+
<span class="method-name">write_stale_samples</span><span
|
|
920
|
+
class="method-args">(message_analyzer)</span>
|
|
921
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
922
|
+
</div>
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
<div class="method-description">
|
|
926
|
+
|
|
927
|
+
<p>We have kept sampling period of one minute and would keep any sample in
|
|
928
|
+
memory for maximum one minute. By this method we # would
|
|
929
|
+
write all such samples which are in memory for more than a minute.</p>
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
<div class="method-source-code" id="write_stale_samples-source">
|
|
934
|
+
<pre>
|
|
935
|
+
<span class="ruby-comment"># File app/models/url_time_sample.rb, line 275</span>
|
|
936
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_stale_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
937
|
+
<span class="ruby-keyword">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>
|
|
938
|
+
<span class="ruby-keyword">return</span>
|
|
939
|
+
<span class="ruby-keyword">end</span>
|
|
940
|
+
<span class="ruby-comment"># it will contain all the url samples for all the application.</span>
|
|
941
|
+
<span class="ruby-identifier">all_samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">url_samples</span>
|
|
942
|
+
<span class="ruby-identifier">all_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">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>
|
|
943
|
+
<span class="ruby-keyword">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>
|
|
944
|
+
<span class="ruby-identifier">app_samples</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">sample</span><span class="ruby-operator">|</span>
|
|
945
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">sample</span> <span class="ruby-keyword">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">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>
|
|
946
|
+
<span class="ruby-identifier">tmp_sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
947
|
+
<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>])
|
|
948
|
+
<span class="ruby-comment">#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>
|
|
949
|
+
<span class="ruby-comment">#tmp_hash = tmp_sample[4]</span>
|
|
950
|
+
<span class="ruby-comment">#if tmp_hash and tmp_hash.length > 0</span>
|
|
951
|
+
<span class="ruby-comment"># tmp_hash.each_pair do |key, value|</span>
|
|
952
|
+
<span class="ruby-comment"># 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>
|
|
953
|
+
<span class="ruby-comment"># end # do |key, value|</span>
|
|
954
|
+
<span class="ruby-comment">#end</span>
|
|
955
|
+
<span class="ruby-identifier">app_samples</span>[<span class="ruby-identifier">url</span>] = <span class="ruby-keyword">nil</span>
|
|
956
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if (o_wall_time = url_sample.first + message_analyzer.sampling_rate) < Time.now</span>
|
|
957
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># do |url, sample|</span>
|
|
958
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if app_samples.length != 0</span>
|
|
959
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># do |app_id, app_samples|</span>
|
|
960
|
+
<span class="ruby-keyword">end</span></pre>
|
|
961
|
+
</div><!-- write_stale_samples-source -->
|
|
962
|
+
|
|
963
|
+
</div>
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
</div><!-- write_stale_samples-method -->
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
</div><!-- public-class-method-details -->
|
|
972
|
+
|
|
973
|
+
</div><!-- 5Buntitled-5D -->
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
</div><!-- documentation -->
|
|
977
|
+
|
|
978
|
+
<div id="validator-badges">
|
|
979
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
980
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
981
|
+
Rdoc Generator</a> 2</small>.</p>
|
|
982
|
+
</div>
|
|
983
|
+
|
|
984
|
+
</body>
|
|
985
|
+
</html>
|
|
986
|
+
|