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,620 @@
|
|
|
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: AppTimeSample</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/app_time_sample_rb.html?TB_iframe=true&height=550&width=785"
|
|
38
|
+
class="thickbox" title="app/models/app_time_sample.rb">app/models/app_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_sample">::create_sample</a></li>
|
|
71
|
+
|
|
72
|
+
<li><a href="#method-c-get_application_data">::get_application_data</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-write_all_samples">::write_all_samples</a></li>
|
|
77
|
+
|
|
78
|
+
<li><a href="#method-c-write_stale_samples">::write_stale_samples</a></li>
|
|
79
|
+
|
|
80
|
+
</ul>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div id="project-metadata">
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
<div id="fileindex-section" class="section project-section">
|
|
91
|
+
<h3 class="section-header">Files</h3>
|
|
92
|
+
<ul>
|
|
93
|
+
|
|
94
|
+
<li class="file"><a href="./doc/README_FOR_APP.html">README_FOR_APP</a></li>
|
|
95
|
+
|
|
96
|
+
</ul>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<div id="classindex-section" class="section project-section">
|
|
101
|
+
<h3 class="section-header">Class/Module Index
|
|
102
|
+
<span class="search-toggle"><img src="./images/find.png"
|
|
103
|
+
height="16" width="16" alt="[+]"
|
|
104
|
+
title="show/hide quicksearch" /></span></h3>
|
|
105
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
106
|
+
<fieldset>
|
|
107
|
+
<legend>Quicksearch</legend>
|
|
108
|
+
<input type="text" name="quicksearch" value=""
|
|
109
|
+
class="quicksearch-field" />
|
|
110
|
+
</fieldset>
|
|
111
|
+
</form>
|
|
112
|
+
|
|
113
|
+
<ul class="link-list">
|
|
114
|
+
|
|
115
|
+
<li><a href="./Analytics.html">Analytics</a></li>
|
|
116
|
+
|
|
117
|
+
<li><a href="./Analytics/Database.html">Analytics::Database</a></li>
|
|
118
|
+
|
|
119
|
+
<li><a href="./Analytics/ResourceUsage.html">Analytics::ResourceUsage</a></li>
|
|
120
|
+
|
|
121
|
+
<li><a href="./Analytics/Throughput.html">Analytics::Throughput</a></li>
|
|
122
|
+
|
|
123
|
+
<li><a href="./Analytics/Url.html">Analytics::Url</a></li>
|
|
124
|
+
|
|
125
|
+
<li><a href="./Analytics/UrlBreakup.html">Analytics::UrlBreakup</a></li>
|
|
126
|
+
|
|
127
|
+
<li><a href="./ActionView.html">ActionView</a></li>
|
|
128
|
+
|
|
129
|
+
<li><a href="./ActionView/Helpers.html">ActionView::Helpers</a></li>
|
|
130
|
+
|
|
131
|
+
<li><a href="./ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a></li>
|
|
132
|
+
|
|
133
|
+
<li><a href="./AdminController.html">AdminController</a></li>
|
|
134
|
+
|
|
135
|
+
<li><a href="./AdminHelper.html">AdminHelper</a></li>
|
|
136
|
+
|
|
137
|
+
<li><a href="./App.html">App</a></li>
|
|
138
|
+
|
|
139
|
+
<li><a href="./AppException.html">AppException</a></li>
|
|
140
|
+
|
|
141
|
+
<li><a href="./AppTimeSample.html">AppTimeSample</a></li>
|
|
142
|
+
|
|
143
|
+
<li><a href="./ApplicationController.html">ApplicationController</a></li>
|
|
144
|
+
|
|
145
|
+
<li><a href="./ApplicationHelper.html">ApplicationHelper</a></li>
|
|
146
|
+
|
|
147
|
+
<li><a href="./ApplicationSpecification.html">ApplicationSpecification</a></li>
|
|
148
|
+
|
|
149
|
+
<li><a href="./ApplicationSpecificationController.html">ApplicationSpecificationController</a></li>
|
|
150
|
+
|
|
151
|
+
<li><a href="./ApplicationSpecificationHelper.html">ApplicationSpecificationHelper</a></li>
|
|
152
|
+
|
|
153
|
+
<li><a href="./Control.html">Control</a></li>
|
|
154
|
+
|
|
155
|
+
<li><a href="./ExceptionDetail.html">ExceptionDetail</a></li>
|
|
156
|
+
|
|
157
|
+
<li><a href="./ExceptionsController.html">ExceptionsController</a></li>
|
|
158
|
+
|
|
159
|
+
<li><a href="./ExceptionsHelper.html">ExceptionsHelper</a></li>
|
|
160
|
+
|
|
161
|
+
<li><a href="./GraphController.html">GraphController</a></li>
|
|
162
|
+
|
|
163
|
+
<li><a href="./GraphHelper.html">GraphHelper</a></li>
|
|
164
|
+
|
|
165
|
+
<li><a href="./Headers.html">Headers</a></li>
|
|
166
|
+
|
|
167
|
+
<li><a href="./HeadersController.html">HeadersController</a></li>
|
|
168
|
+
|
|
169
|
+
<li><a href="./HeadersHelper.html">HeadersHelper</a></li>
|
|
170
|
+
|
|
171
|
+
<li><a href="./MailSpecification.html">MailSpecification</a></li>
|
|
172
|
+
|
|
173
|
+
<li><a href="./MailSpecificationController.html">MailSpecificationController</a></li>
|
|
174
|
+
|
|
175
|
+
<li><a href="./MailSpecificationHelper.html">MailSpecificationHelper</a></li>
|
|
176
|
+
|
|
177
|
+
<li><a href="./Mailer.html">Mailer</a></li>
|
|
178
|
+
|
|
179
|
+
<li><a href="./Object.html">Object</a></li>
|
|
180
|
+
|
|
181
|
+
<li><a href="./PseudoModel.html">PseudoModel</a></li>
|
|
182
|
+
|
|
183
|
+
<li><a href="./ResourceUsage.html">ResourceUsage</a></li>
|
|
184
|
+
|
|
185
|
+
<li><a href="./SCGI.html">SCGI</a></li>
|
|
186
|
+
|
|
187
|
+
<li><a href="./ServerSpecification.html">ServerSpecification</a></li>
|
|
188
|
+
|
|
189
|
+
<li><a href="./ServerSpecificationController.html">ServerSpecificationController</a></li>
|
|
190
|
+
|
|
191
|
+
<li><a href="./ServerSpecificationHelper.html">ServerSpecificationHelper</a></li>
|
|
192
|
+
|
|
193
|
+
<li><a href="./SignalHelper.html">SignalHelper</a></li>
|
|
194
|
+
|
|
195
|
+
<li><a href="./UrlBreakupTimeSample.html">UrlBreakupTimeSample</a></li>
|
|
196
|
+
|
|
197
|
+
<li><a href="./UrlTimeSample.html">UrlTimeSample</a></li>
|
|
198
|
+
|
|
199
|
+
<li><a href="./User.html">User</a></li>
|
|
200
|
+
|
|
201
|
+
<li><a href="./YAMLConfig.html">YAMLConfig</a></li>
|
|
202
|
+
|
|
203
|
+
<li><a href="./YAMLWriter.html">YAMLWriter</a></li>
|
|
204
|
+
|
|
205
|
+
</ul>
|
|
206
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
|
|
213
|
+
<div id="documentation">
|
|
214
|
+
<h1 class="class">AppTimeSample</h1>
|
|
215
|
+
|
|
216
|
+
<div id="description" class="description">
|
|
217
|
+
|
|
218
|
+
<p>This is the model class <a href="AppTimeSample.html">AppTimeSample</a>
|
|
219
|
+
related to the application_samples table in the database.</p>
|
|
220
|
+
|
|
221
|
+
</div><!-- description -->
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<div id="5Buntitled-5D" class="documentation-section">
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<!-- Methods -->
|
|
236
|
+
|
|
237
|
+
<div id="public-class-method-details" class="method-section section">
|
|
238
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
<div id="add_to_sample-method" class="method-detail ">
|
|
242
|
+
<a name="method-c-add_to_sample"></a>
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
<div class="method-heading">
|
|
246
|
+
<span class="method-name">add_to_sample</span><span
|
|
247
|
+
class="method-args">(message_analyzer, app_id, total_spent_time, db_time, rendering_time, wall_time)</span>
|
|
248
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
<div class="method-description">
|
|
253
|
+
|
|
254
|
+
<p>application_samples contains at the most one sample and that is for current
|
|
255
|
+
sampling period. if sample doesn’t exists ,create it. if sample exists
|
|
256
|
+
and wall_time falling in that sampling period, add into sample if sample
|
|
257
|
+
exists and wall_time not falling in that sampling period and less than
|
|
258
|
+
sampling period, check into database for that sample and update it if
|
|
259
|
+
sample exists and wall_time not falling in that sampling period and greater
|
|
260
|
+
than sampling period, create new sample and add current into database.</p>
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
<div class="method-source-code" id="add_to_sample-source">
|
|
265
|
+
<pre>
|
|
266
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 136</span>
|
|
267
|
+
<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">total_spent_time</span>, <span class="ruby-identifier">db_time</span>, <span class="ruby-identifier">rendering_time</span>, <span class="ruby-identifier">wall_time</span>)
|
|
268
|
+
<span class="ruby-comment"># create({:app_id => app_id, :total_time_in_request => 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>
|
|
269
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
270
|
+
<span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</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-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">60</span>,<span class="ruby-value">0</span>)]]
|
|
271
|
+
<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">application_samples</span>[<span class="ruby-identifier">app_id</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">application_samples</span>[<span class="ruby-identifier">app_id</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>
|
|
272
|
+
<span class="ruby-identifier">sample</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-value">1</span>]
|
|
273
|
+
<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>
|
|
274
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time</span>
|
|
275
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">rendering_time</span>
|
|
276
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">3</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
277
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>][<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">sec</span>] = (<span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>][<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">sec</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span> ) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
278
|
+
<span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-value">1</span>] = <span class="ruby-identifier">sample</span>
|
|
279
|
+
<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">application_samples</span>[<span class="ruby-identifier">app_id</span>].<span class="ruby-identifier">first</span>
|
|
280
|
+
<span class="ruby-identifier">db_sample</span> = <span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
281
|
+
wall_time >= ? and wall_time <= ?'</span>,
|
|
282
|
+
<span class="ruby-identifier">app_id</span>,
|
|
283
|
+
<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>
|
|
284
|
+
).<span class="ruby-identifier">first</span>
|
|
285
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">db_sample</span>
|
|
286
|
+
<span class="ruby-identifier">db_sample</span>.<span class="ruby-identifier">total_time_in_request</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">total_spent_time</span>
|
|
287
|
+
<span class="ruby-identifier">db_sample</span>.<span class="ruby-identifier">db_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">db_time</span>
|
|
288
|
+
<span class="ruby-identifier">db_sample</span>.<span class="ruby-identifier">rendering_time</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rendering_time</span>
|
|
289
|
+
<span class="ruby-identifier">db_sample</span>.<span class="ruby-identifier">number_of_requests</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
290
|
+
<span class="ruby-identifier">db_sample</span>.<span class="ruby-identifier">save!</span> <span class="ruby-keyword">rescue</span> <span class="ruby-keyword">nil</span>
|
|
291
|
+
<span class="ruby-keyword">else</span>
|
|
292
|
+
<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>
|
|
293
|
+
<span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</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-value">1</span>]], <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">wall_time</span>)
|
|
294
|
+
<span class="ruby-keyword">end</span>
|
|
295
|
+
<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">application_samples</span>[<span class="ruby-identifier">app_id</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>
|
|
296
|
+
<span class="ruby-identifier">o_wall_time</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</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>
|
|
297
|
+
<span class="ruby-identifier">sample</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</span>][<span class="ruby-value">1</span>]
|
|
298
|
+
|
|
299
|
+
<span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">o_wall_time</span>)
|
|
300
|
+
|
|
301
|
+
<span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</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-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">60</span>,<span class="ruby-value">0</span>)]]
|
|
302
|
+
<span class="ruby-keyword">else</span>
|
|
303
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">UndefinedSituation</span>, <span class="ruby-string">"Think of this possibility!"</span>
|
|
304
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if</span>
|
|
305
|
+
<span class="ruby-keyword">end</span></pre>
|
|
306
|
+
</div><!-- add_to_sample-source -->
|
|
307
|
+
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
</div><!-- add_to_sample-method -->
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
<div id="create_sample-method" class="method-detail ">
|
|
317
|
+
<a name="method-c-create_sample"></a>
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
<div class="method-heading">
|
|
321
|
+
<span class="method-name">create_sample</span><span
|
|
322
|
+
class="method-args">(app_id, sample, sampling_rate, wall_time)</span>
|
|
323
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
324
|
+
</div>
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
<div class="method-description">
|
|
328
|
+
|
|
329
|
+
<p>This section of the model is used by the WebROaR Analyzer.</p>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
<div class="method-source-code" id="create_sample-source">
|
|
334
|
+
<pre>
|
|
335
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 108</span>
|
|
336
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">wall_time</span>)
|
|
337
|
+
<span class="ruby-comment"># peak requests serverd is maximum of number of requests served in a second </span>
|
|
338
|
+
<span class="ruby-identifier">prs</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">max</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
|
|
339
|
+
<span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">reject!</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>}
|
|
340
|
+
<span class="ruby-comment"># time in milisecods / number of requests</span>
|
|
341
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
342
|
+
<span class="ruby-identifier">art</span> = (<span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">length</span>*<span class="ruby-value">1000</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">4</span>].<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">sum</span>,<span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sum</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>}.<span class="ruby-identifier">to_f</span>
|
|
343
|
+
<span class="ruby-keyword">else</span>
|
|
344
|
+
<span class="ruby-identifier">art</span> = <span class="ruby-value">0</span>
|
|
345
|
+
<span class="ruby-keyword">end</span>
|
|
346
|
+
<span class="ruby-comment"># puts 'creating'</span>
|
|
347
|
+
<span class="ruby-identifier">with_exception_handling</span>(<span class="ruby-node">"Application sample creation for application #{app_id}, wall_time #{wall_time}"</span>) <span class="ruby-keyword">do</span>
|
|
348
|
+
<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>,
|
|
349
|
+
<span class="ruby-value">:total_time_in_request</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">0</span>],
|
|
350
|
+
<span class="ruby-value">:db_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>],
|
|
351
|
+
<span class="ruby-value">:rendering_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sample</span>[<span class="ruby-value">2</span>],
|
|
352
|
+
<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>],
|
|
353
|
+
<span class="ruby-value">:wall_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">wall_time</span>,
|
|
354
|
+
<span class="ruby-value">:sampling_rate</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">sampling_rate</span>,
|
|
355
|
+
<span class="ruby-value">:avg_response_time</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">art</span>,
|
|
356
|
+
<span class="ruby-value">:peak_requests_served</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">prs</span>})
|
|
357
|
+
<span class="ruby-keyword">end</span>
|
|
358
|
+
<span class="ruby-keyword">end</span></pre>
|
|
359
|
+
</div><!-- create_sample-source -->
|
|
360
|
+
|
|
361
|
+
</div>
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
</div><!-- create_sample-method -->
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
<div id="get_application_data-method" class="method-detail ">
|
|
370
|
+
<a name="method-c-get_application_data"></a>
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
<div class="method-heading">
|
|
374
|
+
<span class="method-name">get_application_data</span><span
|
|
375
|
+
class="method-args">(app_id, start_time, end_time, type)</span>
|
|
376
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
377
|
+
</div>
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
<div class="method-description">
|
|
381
|
+
|
|
382
|
+
<p>This method supplies the url and there statistics to the admin panel
|
|
383
|
+
application. This data is used for the graph ploting. This method supplies
|
|
384
|
+
the data for database consumption by an application, throughtput and
|
|
385
|
+
Average Response Time of an application.</p>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
<div class="method-source-code" id="get_application_data-source">
|
|
390
|
+
<pre>
|
|
391
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 31</span>
|
|
392
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_application_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">type</span>)
|
|
393
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
|
|
394
|
+
<span class="ruby-identifier">interval</span> = <span class="ruby-value">0</span>
|
|
395
|
+
<span class="ruby-identifier">interval</span> = ((<span class="ruby-identifier">end_time</span><span class="ruby-operator">-</span><span class="ruby-identifier">start_time</span>) <span class="ruby-operator">/</span> <span class="ruby-value">60</span>).<span class="ruby-identifier">to_i</span>
|
|
396
|
+
<span class="ruby-identifier">final_data</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interval</span>)
|
|
397
|
+
<span class="ruby-identifier">wall_time</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">interval</span>)
|
|
398
|
+
<span class="ruby-identifier">application_samples</span> = <span class="ruby-identifier">select</span>(<span class="ruby-string">'wall_time,
|
|
399
|
+
sum(db_time) as db_time,
|
|
400
|
+
sum(total_time_in_request) as total_time_in_request,
|
|
401
|
+
sum(number_of_requests) as number_of_requests ,
|
|
402
|
+
avg(avg_response_time) as avg_avg_response_time,
|
|
403
|
+
avg(peak_requests_served) as avg_peak_requests_served'</span>
|
|
404
|
+
).<span class="ruby-identifier">where</span>(<span class="ruby-string">'app_id = ? and
|
|
405
|
+
wall_time >= ? and
|
|
406
|
+
wall_time < ?'</span>,
|
|
407
|
+
<span class="ruby-identifier">app_id</span>,
|
|
408
|
+
<span class="ruby-identifier">start_time</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">'%Y-%m-%d %H:%M:%S'</span>),
|
|
409
|
+
<span class="ruby-identifier">end_time</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">'%Y-%m-%d %H:%M:%S'</span>)
|
|
410
|
+
).<span class="ruby-identifier">group</span>(<span class="ruby-value">:wall_time</span>)
|
|
411
|
+
|
|
412
|
+
<span class="ruby-identifier">application_samples</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">application_sample</span><span class="ruby-operator">|</span>
|
|
413
|
+
<span class="ruby-identifier">current_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(<span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">year</span>,
|
|
414
|
+
<span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">month</span>,
|
|
415
|
+
<span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">day</span>,
|
|
416
|
+
<span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">hour</span>,
|
|
417
|
+
<span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">min</span>,
|
|
418
|
+
<span class="ruby-string">'0'</span>)
|
|
419
|
+
<span class="ruby-identifier">db_time_data</span> = <span class="ruby-value">0</span>
|
|
420
|
+
<span class="ruby-identifier">total_time_in_request</span> = <span class="ruby-value">0</span>
|
|
421
|
+
<span class="ruby-identifier">total_requests</span> = <span class="ruby-value">0</span>
|
|
422
|
+
<span class="ruby-identifier">total_data</span> = <span class="ruby-value">0</span>
|
|
423
|
+
<span class="ruby-identifier">index</span> = (<span class="ruby-identifier">current_time</span><span class="ruby-operator">-</span><span class="ruby-identifier">start_time</span>) <span class="ruby-operator">/</span> <span class="ruby-value">60</span>
|
|
424
|
+
<span class="ruby-identifier">total_time_in_request</span> = <span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">total_time_in_request</span>.<span class="ruby-identifier">to_f</span>
|
|
425
|
+
<span class="ruby-keyword">case</span> <span class="ruby-identifier">type</span>
|
|
426
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'db'</span>
|
|
427
|
+
<span class="ruby-identifier">db_time_data</span> = <span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">db_time</span>.<span class="ruby-identifier">to_f</span>
|
|
428
|
+
<span class="ruby-identifier">total_data</span> = (<span class="ruby-identifier">db_time_data</span>.<span class="ruby-identifier">to_f</span> * <span class="ruby-value">100</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">total_time_in_request</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">to_f</span>
|
|
429
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'averageresponsetime'</span>
|
|
430
|
+
<span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">avg_avg_response_time</span>.<span class="ruby-identifier">to_f</span>
|
|
431
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'throughput'</span>
|
|
432
|
+
<span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">application_sample</span>.<span class="ruby-identifier">avg_peak_requests_served</span>.<span class="ruby-identifier">to_f</span>
|
|
433
|
+
<span class="ruby-keyword">end</span>
|
|
434
|
+
|
|
435
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">total_data</span>
|
|
436
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-identifier">total_data</span>.<span class="ruby-identifier">to_i</span>
|
|
437
|
+
<span class="ruby-keyword">end</span>
|
|
438
|
+
<span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">total_data</span>
|
|
439
|
+
<span class="ruby-identifier">wall_time</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">current_time</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%H:%M"</span>)
|
|
440
|
+
<span class="ruby-keyword">end</span>
|
|
441
|
+
<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-identifier">interval</span>
|
|
442
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">nil?</span>
|
|
443
|
+
<span class="ruby-identifier">wall_time</span>[<span class="ruby-identifier">i</span>] = (<span class="ruby-identifier">start_time</span><span class="ruby-operator">+</span><span class="ruby-identifier">i</span>*<span class="ruby-value">60</span>).<span class="ruby-identifier">strftime</span>(<span class="ruby-string">"%H:%M"</span>)
|
|
444
|
+
<span class="ruby-keyword">end</span>
|
|
445
|
+
<span class="ruby-keyword">end</span>
|
|
446
|
+
<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>)
|
|
447
|
+
<span class="ruby-identifier">step</span> = (<span class="ruby-identifier">interval</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator">/</span> <span class="ruby-value">20</span>
|
|
448
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">wall_time</span>, <span class="ruby-identifier">final_data</span>, <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>, <span class="ruby-identifier">step</span>
|
|
449
|
+
<span class="ruby-keyword">end</span></pre>
|
|
450
|
+
</div><!-- get_application_data-source -->
|
|
451
|
+
|
|
452
|
+
</div>
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
</div><!-- get_application_data-method -->
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
<div id="get_max_and_slab-method" class="method-detail ">
|
|
461
|
+
<a name="method-c-get_max_and_slab"></a>
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
<div class="method-heading">
|
|
465
|
+
<span class="method-name">get_max_and_slab</span><span
|
|
466
|
+
class="method-args">(max)</span>
|
|
467
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
468
|
+
</div>
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
<div class="method-description">
|
|
472
|
+
|
|
473
|
+
<p>This method gives the maximum value for y axis and the value by which the y
|
|
474
|
+
axis is to be partitioned.</p>
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
<div class="method-source-code" id="get_max_and_slab-source">
|
|
479
|
+
<pre>
|
|
480
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 91</span>
|
|
481
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_max_and_slab</span>(<span class="ruby-identifier">max</span>)
|
|
482
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
483
|
+
<span class="ruby-identifier">max</span> = <span class="ruby-value">1</span>
|
|
484
|
+
<span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
485
|
+
<span class="ruby-keyword">else</span>
|
|
486
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">></span> <span class="ruby-value">8</span>
|
|
487
|
+
<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>
|
|
488
|
+
<span class="ruby-keyword">else</span>
|
|
489
|
+
<span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
490
|
+
<span class="ruby-keyword">end</span>
|
|
491
|
+
<span class="ruby-keyword">end</span>
|
|
492
|
+
<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>
|
|
493
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>
|
|
494
|
+
<span class="ruby-keyword">end</span></pre>
|
|
495
|
+
</div><!-- get_max_and_slab-source -->
|
|
496
|
+
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
</div><!-- get_max_and_slab-method -->
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
<div id="write_all_samples-method" class="method-detail ">
|
|
506
|
+
<a name="method-c-write_all_samples"></a>
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
<div class="method-heading">
|
|
510
|
+
<span class="method-name">write_all_samples</span><span
|
|
511
|
+
class="method-args">(message_analyzer)</span>
|
|
512
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
513
|
+
</div>
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
<div class="method-description">
|
|
517
|
+
|
|
518
|
+
<p>At time of stopping a script, we would write the samples which are in
|
|
519
|
+
memory.</p>
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
<div class="method-source-code" id="write_all_samples-source">
|
|
524
|
+
<pre>
|
|
525
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 198</span>
|
|
526
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_all_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
527
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
528
|
+
<span class="ruby-keyword">return</span>
|
|
529
|
+
<span class="ruby-keyword">end</span>
|
|
530
|
+
<span class="ruby-identifier">samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>
|
|
531
|
+
<span class="ruby-identifier">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">sample</span><span class="ruby-operator">|</span>
|
|
532
|
+
<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>
|
|
533
|
+
<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>
|
|
534
|
+
<span class="ruby-identifier">sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
535
|
+
<span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">o_wall_time</span>)
|
|
536
|
+
<span class="ruby-comment"># peak requests serverd is maximum of number of requests served in a second</span>
|
|
537
|
+
<span class="ruby-comment"># prs = sample[4].max</span>
|
|
538
|
+
<span class="ruby-comment"># sample[4].reject!{|e| e == 0}</span>
|
|
539
|
+
<span class="ruby-comment"># art = sample[4].inject(0){|sum,e| sum + e}.to_f / sample[4].length</span>
|
|
540
|
+
<span class="ruby-comment"># create({:app_id => app_id, :total_time_in_request => 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, :avg_response_time => ars, :peak_requests_served => prs})</span>
|
|
541
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># if sample and sample.length > 0</span>
|
|
542
|
+
<span class="ruby-keyword">end</span> <span class="ruby-comment"># do |app_id, sample|</span>
|
|
543
|
+
<span class="ruby-keyword">end</span></pre>
|
|
544
|
+
</div><!-- write_all_samples-source -->
|
|
545
|
+
|
|
546
|
+
</div>
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
</div><!-- write_all_samples-method -->
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
<div id="write_stale_samples-method" class="method-detail ">
|
|
555
|
+
<a name="method-c-write_stale_samples"></a>
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
<div class="method-heading">
|
|
559
|
+
<span class="method-name">write_stale_samples</span><span
|
|
560
|
+
class="method-args">(message_analyzer)</span>
|
|
561
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
562
|
+
</div>
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
<div class="method-description">
|
|
566
|
+
|
|
567
|
+
<p>We have kept sampling period of one minute and would keep any sample in
|
|
568
|
+
memory for maximum one minute. By this method we # would
|
|
569
|
+
write all such samples which are in memory for more than a minute.</p>
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
<div class="method-source-code" id="write_stale_samples-source">
|
|
574
|
+
<pre>
|
|
575
|
+
<span class="ruby-comment"># File app/models/app_time_sample.rb, line 177</span>
|
|
576
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">write_stale_samples</span>(<span class="ruby-identifier">message_analyzer</span>)
|
|
577
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
578
|
+
<span class="ruby-keyword">return</span>
|
|
579
|
+
<span class="ruby-keyword">end</span>
|
|
580
|
+
<span class="ruby-identifier">samples</span> = <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>
|
|
581
|
+
<span class="ruby-identifier">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">sample</span><span class="ruby-operator">|</span>
|
|
582
|
+
<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>
|
|
583
|
+
<span class="ruby-identifier">sample</span> = <span class="ruby-identifier">sample</span>[<span class="ruby-value">1</span>]
|
|
584
|
+
<span class="ruby-identifier">create_sample</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">sample</span>, <span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">sampling_rate</span>, <span class="ruby-identifier">o_wall_time</span>)
|
|
585
|
+
<span class="ruby-comment"># peak requests serverd is maximum of number of requests served in a second</span>
|
|
586
|
+
<span class="ruby-comment"># prs = sample[4].max</span>
|
|
587
|
+
<span class="ruby-comment"># sample[4].reject!{|e| e == 0}</span>
|
|
588
|
+
<span class="ruby-comment"># art = sample[4].inject(0){|sum,e| sum + e}.to_f / sample[4].length</span>
|
|
589
|
+
<span class="ruby-comment"># create({:app_id => app_id, :total_time_in_request => 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, :avg_response_time => ars, :peak_requests_served => prs})</span>
|
|
590
|
+
<span class="ruby-identifier">message_analyzer</span>.<span class="ruby-identifier">application_samples</span>[<span class="ruby-identifier">app_id</span>] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
591
|
+
<span class="ruby-keyword">end</span>
|
|
592
|
+
|
|
593
|
+
<span class="ruby-keyword">end</span>
|
|
594
|
+
<span class="ruby-keyword">end</span></pre>
|
|
595
|
+
</div><!-- write_stale_samples-source -->
|
|
596
|
+
|
|
597
|
+
</div>
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
</div><!-- write_stale_samples-method -->
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
</div><!-- public-class-method-details -->
|
|
606
|
+
|
|
607
|
+
</div><!-- 5Buntitled-5D -->
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
</div><!-- documentation -->
|
|
611
|
+
|
|
612
|
+
<div id="validator-badges">
|
|
613
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
614
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
615
|
+
Rdoc Generator</a> 2</small>.</p>
|
|
616
|
+
</div>
|
|
617
|
+
|
|
618
|
+
</body>
|
|
619
|
+
</html>
|
|
620
|
+
|