webroar 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +7 -0
- data/README +1 -1
- data/doc/user-guide.html +125 -85
- data/doc/user-guide.txt +2 -2
- data/lib/constant.rb +23 -16
- data/lib/db_connect.rb +2 -3
- data/lib/installer.rb +17 -10
- data/lib/user_interaction.rb +21 -10
- data/lib/webroar_command.rb +21 -23
- data/src/admin_panel/Gemfile +8 -0
- data/src/admin_panel/Rakefile +2 -5
- data/src/admin_panel/app/controllers/application_controller.rb +1 -1
- data/src/admin_panel/app/controllers/exceptions_controller.rb +25 -26
- data/src/admin_panel/app/controllers/graph_controller.rb +2 -1
- data/src/admin_panel/app/helpers/admin_helper.rb +1 -1
- data/src/admin_panel/app/{models → mailers}/mailer.rb +5 -8
- data/src/admin_panel/app/models/app.rb +1 -1
- data/src/admin_panel/app/models/app_exception.rb +15 -11
- data/src/admin_panel/app/models/app_time_sample.rb +40 -10
- data/src/admin_panel/app/models/application_specification.rb +71 -41
- data/src/admin_panel/app/models/resource_usage.rb +76 -55
- data/src/admin_panel/app/models/url_breakup_time_sample.rb +6 -11
- data/src/admin_panel/app/models/url_time_sample.rb +57 -13
- data/src/admin_panel/app/views/admin/_application_table.html.erb +5 -5
- data/src/admin_panel/app/views/admin/_feedback_partial.html.erb +4 -4
- data/src/admin_panel/app/views/admin/_report_bug_partial.html.erb +5 -5
- data/src/admin_panel/app/views/admin/change_password_form.html.erb +3 -3
- data/src/admin_panel/app/views/admin/configuration.html.erb +6 -6
- data/src/admin_panel/app/views/admin/home.html.erb +4 -4
- data/src/admin_panel/app/views/admin/index.html.erb +5 -5
- data/src/admin_panel/app/views/application_specification/_application_specification_form.html.erb +15 -6
- data/src/admin_panel/app/views/exceptions/_add_and_list_exception_classes.html.erb +7 -6
- data/src/admin_panel/app/views/exceptions/_exception_backtrace_partial.html.erb +1 -1
- data/src/admin_panel/app/views/exceptions/_exception_environment_partial.html.erb +30 -30
- data/src/admin_panel/app/views/exceptions/_exception_list_partial.html.erb +11 -11
- data/src/admin_panel/app/views/exceptions/_show.html.erb +8 -8
- data/src/admin_panel/app/views/exceptions/index.html.erb +0 -1
- data/src/admin_panel/app/views/graph/_get_database_data.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_get_resource_usage_data_app.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_resource_usage_data_server.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_throughput_data.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_get_url_data.html.erb +4 -4
- data/src/admin_panel/app/views/graph/_pie.html.erb +2 -2
- data/src/admin_panel/app/views/graph/_query_date.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_query_period.html.erb +1 -1
- data/src/admin_panel/app/views/graph/_slider_partial.html.erb +5 -4
- data/src/admin_panel/app/views/graph/index.html.erb +0 -1
- data/src/admin_panel/app/views/headers/_add_expires_text_box.html.erb +5 -5
- data/src/admin_panel/app/views/headers/_expires_by_type_form.html.erb +1 -1
- data/src/admin_panel/app/views/headers/_headers_table.html.erb +12 -12
- data/src/admin_panel/app/views/layouts/application.html.erb +71 -51
- data/src/admin_panel/app/views/mail_specification/_current_spec.html.erb +4 -4
- data/src/admin_panel/app/views/mail_specification/_sendmail_form.html.erb +3 -3
- data/src/admin_panel/app/views/mail_specification/_smtp_form.html.erb +3 -3
- data/src/admin_panel/app/views/server_specification/_add_div.html.erb +4 -4
- data/src/admin_panel/app/views/server_specification/_ssl_support_form.html.erb +3 -2
- data/src/admin_panel/config.ru +4 -0
- data/src/admin_panel/config/application.rb +46 -0
- data/src/admin_panel/config/boot.rb +4 -112
- data/src/admin_panel/config/environment.rb +4 -85
- data/src/admin_panel/config/environments/development.rb +20 -13
- data/src/admin_panel/config/environments/production.rb +44 -17
- data/src/admin_panel/config/environments/test.rb +31 -18
- data/src/admin_panel/config/initializers/application_constants.rb +13 -11
- data/src/admin_panel/config/initializers/secret_token.rb +7 -0
- data/src/admin_panel/config/initializers/session_store.rb +8 -0
- data/src/admin_panel/config/initializers/ssl.rb +6 -2
- data/src/admin_panel/config/routes.rb +15 -57
- data/src/admin_panel/doc/README_FOR_APP +1 -1
- data/src/admin_panel/doc/app/ActionView.html +229 -0
- data/src/admin_panel/doc/app/ActionView/Helpers.html +229 -0
- data/src/admin_panel/doc/app/ActionView/Helpers/AssetTagHelper.html +277 -0
- data/src/admin_panel/doc/app/AdminController.html +814 -0
- data/src/admin_panel/doc/app/AdminHelper.html +495 -0
- data/src/admin_panel/doc/app/Analytics.html +272 -0
- data/src/admin_panel/doc/app/Analytics/Database.html +401 -0
- data/src/admin_panel/doc/app/Analytics/ResourceUsage.html +683 -0
- data/src/admin_panel/doc/app/Analytics/Throughput.html +488 -0
- data/src/admin_panel/doc/app/Analytics/Url.html +484 -0
- data/src/admin_panel/doc/app/Analytics/UrlBreakup.html +537 -0
- data/src/admin_panel/doc/app/App.html +489 -0
- data/src/admin_panel/doc/app/AppException.html +710 -0
- data/src/admin_panel/doc/app/AppTimeSample.html +620 -0
- data/src/admin_panel/doc/app/ApplicationController.html +239 -0
- data/src/admin_panel/doc/app/ApplicationHelper.html +296 -0
- data/src/admin_panel/doc/app/ApplicationSpecification.html +876 -0
- data/src/admin_panel/doc/app/ApplicationSpecificationController.html +552 -0
- data/src/admin_panel/doc/app/ApplicationSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/Control.html +431 -0
- data/src/admin_panel/doc/app/ExceptionDetail.html +227 -0
- data/src/admin_panel/doc/app/ExceptionsController.html +754 -0
- data/src/admin_panel/doc/app/ExceptionsHelper.html +219 -0
- data/src/admin_panel/doc/app/GraphController.html +1101 -0
- data/src/admin_panel/doc/app/GraphHelper.html +285 -0
- data/src/admin_panel/doc/app/Headers.html +549 -0
- data/src/admin_panel/doc/app/HeadersController.html +507 -0
- data/src/admin_panel/doc/app/HeadersHelper.html +219 -0
- data/src/admin_panel/doc/app/MailSpecification.html +685 -0
- data/src/admin_panel/doc/app/MailSpecificationController.html +541 -0
- data/src/admin_panel/doc/app/MailSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/Mailer.html +589 -0
- data/src/admin_panel/doc/app/Object.html +240 -0
- data/src/admin_panel/doc/app/PseudoModel.html +354 -0
- data/src/admin_panel/doc/app/ResourceUsage.html +656 -0
- data/src/admin_panel/doc/app/SCGI.html +674 -0
- data/src/admin_panel/doc/app/ServerSpecification.html +479 -0
- data/src/admin_panel/doc/app/ServerSpecificationController.html +500 -0
- data/src/admin_panel/doc/app/ServerSpecificationHelper.html +219 -0
- data/src/admin_panel/doc/app/SignalHelper.html +287 -0
- data/src/admin_panel/doc/app/UrlBreakupTimeSample.html +287 -0
- data/src/admin_panel/doc/app/UrlTimeSample.html +986 -0
- data/src/admin_panel/doc/app/User.html +290 -0
- data/src/admin_panel/doc/app/YAMLConfig.html +247 -0
- data/src/admin_panel/doc/app/YAMLWriter.html +284 -0
- data/src/admin_panel/doc/app/app/controllers/admin_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/application_controller_rb.html +54 -0
- data/src/admin_panel/doc/app/app/controllers/application_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/exceptions_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/graph_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/headers_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/mail_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/controllers/server_specification_controller_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/admin_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/application_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/application_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/exceptions_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/graph_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/headers_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/mail_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/helpers/server_specification_helper_rb.html +52 -0
- data/src/admin_panel/doc/app/app/mailers/mailer_rb.html +56 -0
- data/src/admin_panel/doc/app/app/models/app_exception_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/app_rb.html +54 -0
- data/src/admin_panel/doc/app/app/models/app_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/application_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/exception_detail_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/headers_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/mail_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/pseudo_model_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/resource_usage_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/server_specification_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/url_breakup_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/url_time_sample_rb.html +52 -0
- data/src/admin_panel/doc/app/app/models/user_rb.html +52 -0
- data/src/admin_panel/doc/app/created.rid +42 -1
- data/src/admin_panel/doc/app/doc/README_FOR_APP.html +172 -0
- data/src/admin_panel/doc/app/images/brick.png +0 -0
- data/src/admin_panel/doc/app/images/brick_link.png +0 -0
- data/src/admin_panel/doc/app/images/bug.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_black.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_toggle_minus.png +0 -0
- data/src/admin_panel/doc/app/images/bullet_toggle_plus.png +0 -0
- data/src/admin_panel/doc/app/images/date.png +0 -0
- data/src/admin_panel/doc/app/images/find.png +0 -0
- data/src/admin_panel/doc/app/images/loadingAnimation.gif +0 -0
- data/src/admin_panel/doc/app/images/macFFBgHack.png +0 -0
- data/src/admin_panel/doc/app/images/package.png +0 -0
- data/src/admin_panel/doc/app/images/page_green.png +0 -0
- data/src/admin_panel/doc/app/images/page_white_text.png +0 -0
- data/src/admin_panel/doc/app/images/page_white_width.png +0 -0
- data/src/admin_panel/doc/app/images/plugin.png +0 -0
- data/src/admin_panel/doc/app/images/ruby.png +0 -0
- data/src/admin_panel/doc/app/images/tag_green.png +0 -0
- data/src/admin_panel/doc/app/images/wrench.png +0 -0
- data/src/admin_panel/doc/app/images/wrench_orange.png +0 -0
- data/src/admin_panel/doc/app/images/zoom.png +0 -0
- data/src/admin_panel/doc/app/index.html +564 -20
- data/src/admin_panel/doc/app/js/darkfish.js +116 -0
- data/src/admin_panel/doc/app/js/jquery.js +32 -0
- data/src/admin_panel/doc/app/js/quicksearch.js +114 -0
- data/src/admin_panel/doc/app/js/thickbox-compressed.js +10 -0
- data/src/admin_panel/doc/app/lib/asset_tag_helper_ext_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/control_rb.html +58 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/database_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/resource_usage_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/throughput_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_breakup_analytics_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/helper_rb.html +52 -0
- data/src/admin_panel/doc/app/lib/scgi_rb.html +54 -0
- data/src/admin_panel/doc/app/lib/yaml_writer_rb.html +52 -0
- data/src/admin_panel/doc/app/rdoc.css +763 -0
- data/src/admin_panel/lib/helper.rb +6 -2
- data/src/admin_panel/public/stylesheets/other/login.css +8 -4
- data/src/admin_panel/public/stylesheets/other/style.css +21 -17
- data/src/admin_panel/script/rails +6 -0
- data/src/admin_panel/test/test_helper.rb +2 -2
- data/src/admin_panel/vendor/plugins/calendar_date_select/History.txt +281 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/MIT-LICENSE +20 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/Manifest.txt +42 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/README.txt +17 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/Rakefile +37 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/VERSION +1 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +95 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/init.rb +1 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +376 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/format_iso_date_test.html +52 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/prototype.js +4184 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/test.css +40 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +46 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unittest.js +564 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +33 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +122 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +237 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +29 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/blank_iframe.html +2 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +459 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +35 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_danish.js +31 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +27 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +32 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +29 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +24 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ar.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/cs.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/da.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/es.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/hu.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/it.js +9 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ja.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/nl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +10 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sl.js +11 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sv.js +9 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +130 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +135 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/green.css +142 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +128 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +135 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +133 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +189 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/includes_helper_spec.rb +46 -0
- data/src/admin_panel/vendor/plugins/calendar_date_select/spec/spec_helper.rb +26 -0
- data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/install.rb +2 -2
- data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/uninstall.rb +2 -2
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/README.markdown +13 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/init.rb +1 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +432 -0
- data/src/admin_panel/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
- data/src/helper/wr_config.c +1 -1
- data/src/ruby_lib/analyzer/message_analyzer.rb +1 -0
- data/src/ruby_lib/analyzer/webroar_analyzer.rb +2 -2
- data/src/ruby_lib/profiler/message_dispatcher.rb +1 -1
- data/src/ruby_lib/ruby_interface/version.rb +2 -2
- data/src/ruby_lib/webroar_app_loader.rb +1 -1
- data/tasks/gem.rake +5 -7
- data/tasks/test.rake +1 -0
- data/test/spec/analytics_spec.rb +25 -24
- data/test/spec/test_app/README +142 -129
- data/test/spec/test_app/Rakefile +2 -5
- data/test/spec/test_app/app/controllers/application_controller.rb +3 -8
- data/test/spec/test_app/app/controllers/test_controller.rb +3 -3
- data/test/spec/test_app/app/controllers/users_controller.rb +8 -8
- data/test/spec/test_app/app/helpers/application_helper.rb +2 -1
- data/test/spec/test_app/app/helpers/test_helper.rb +2 -0
- data/test/spec/test_app/app/helpers/users_helper.rb +2 -0
- data/test/spec/test_app/app/models/user.rb +2 -0
- data/test/spec/test_app/app/views/layouts/{users.html.erb → application.html.erb} +6 -9
- data/test/spec/test_app/app/views/test/post_data.html.erb +2 -2
- data/test/spec/test_app/app/views/test/upload_file.html.erb +1 -1
- data/test/spec/test_app/{db/migrate/20090602102438_create_users.rb → app/views/users/_form.html.erb} +22 -11
- data/test/spec/test_app/app/views/users/edit.html.erb +19 -28
- data/test/spec/test_app/app/views/users/index.html.erb +23 -19
- data/test/spec/test_app/app/views/users/new.html.erb +19 -28
- data/test/spec/test_app/app/views/users/show.html.erb +21 -18
- data/test/spec/test_app/config/application.rb +45 -0
- data/test/spec/test_app/config/boot.rb +4 -112
- data/test/spec/test_app/config/database.yml +1 -1
- data/test/spec/test_app/config/environment.rb +4 -41
- data/test/spec/test_app/config/environments/development.rb +22 -13
- data/test/spec/test_app/config/environments/production.rb +41 -20
- data/test/spec/test_app/config/environments/test.rb +35 -28
- data/test/spec/test_app/config/initializers/backtrace_silencers.rb +2 -2
- data/test/spec/test_app/config/initializers/inflections.rb +1 -1
- data/test/spec/test_app/config/initializers/secret_token.rb +7 -0
- data/test/spec/test_app/config/initializers/session_store.rb +3 -10
- data/test/spec/test_app/config/locales/en.yml +5 -0
- data/test/spec/test_app/config/routes.rb +37 -22
- data/test/spec/test_app/db/migrate/20110906113329_create_users.rb +13 -0
- data/test/spec/test_app/db/seeds.rb +7 -0
- data/test/spec/test_app/public/404.html +15 -19
- data/test/spec/test_app/public/422.html +15 -19
- data/test/spec/test_app/public/500.html +14 -18
- data/test/spec/test_app/public/index.html +41 -77
- data/test/spec/test_app/public/javascripts/controls.js +5 -3
- data/test/spec/test_app/public/javascripts/dragdrop.js +7 -6
- data/test/spec/test_app/public/javascripts/effects.js +8 -13
- data/test/spec/test_app/public/javascripts/prototype.js +3381 -1700
- data/test/spec/test_app/public/javascripts/rails.js +191 -0
- data/test/spec/test_app/public/stylesheets/scaffold.css +15 -13
- data/test/spec/test_app/script/rails +6 -0
- metadata +340 -163
- data/src/admin_panel/Gemfile.lock +0 -79
- data/src/admin_panel/doc/app/classes/ActionView.html +0 -111
- data/src/admin_panel/doc/app/classes/ActionView/Helpers.html +0 -111
- data/src/admin_panel/doc/app/classes/ActionView/Helpers/AssetTagHelper.html +0 -149
- data/src/admin_panel/doc/app/classes/AdminController.html +0 -628
- data/src/admin_panel/doc/app/classes/AdminHelper.html +0 -482
- data/src/admin_panel/doc/app/classes/Analytics.html +0 -138
- data/src/admin_panel/doc/app/classes/Analytics/Database.html +0 -245
- data/src/admin_panel/doc/app/classes/Analytics/ResourceUsage.html +0 -478
- data/src/admin_panel/doc/app/classes/Analytics/Throughput.html +0 -316
- data/src/admin_panel/doc/app/classes/Analytics/Url.html +0 -314
- data/src/admin_panel/doc/app/classes/Analytics/UrlBreakup.html +0 -372
- data/src/admin_panel/doc/app/classes/App.html +0 -298
- data/src/admin_panel/doc/app/classes/AppException.html +0 -330
- data/src/admin_panel/doc/app/classes/AppTimeSample.html +0 -427
- data/src/admin_panel/doc/app/classes/ApplicationController.html +0 -118
- data/src/admin_panel/doc/app/classes/ApplicationHelper.html +0 -172
- data/src/admin_panel/doc/app/classes/ApplicationSpecification.html +0 -641
- data/src/admin_panel/doc/app/classes/ApplicationSpecificationController.html +0 -354
- data/src/admin_panel/doc/app/classes/Control.html +0 -273
- data/src/admin_panel/doc/app/classes/ExceptionsController.html +0 -612
- data/src/admin_panel/doc/app/classes/ExceptionsHelper.html +0 -105
- data/src/admin_panel/doc/app/classes/GraphController.html +0 -804
- data/src/admin_panel/doc/app/classes/GraphHelper.html +0 -164
- data/src/admin_panel/doc/app/classes/MailSpecification.html +0 -357
- data/src/admin_panel/doc/app/classes/MailSpecificationController.html +0 -304
- data/src/admin_panel/doc/app/classes/PseudoModel.html +0 -206
- data/src/admin_panel/doc/app/classes/ResourceUsage.html +0 -425
- data/src/admin_panel/doc/app/classes/SCGI.html +0 -406
- data/src/admin_panel/doc/app/classes/ServerSpecification.html +0 -325
- data/src/admin_panel/doc/app/classes/ServerSpecificationController.html +0 -273
- data/src/admin_panel/doc/app/classes/UrlBreakupTimeSample.html +0 -169
- data/src/admin_panel/doc/app/classes/UrlTimeSample.html +0 -708
- data/src/admin_panel/doc/app/classes/User.html +0 -165
- data/src/admin_panel/doc/app/classes/YAMLWriter.html +0 -159
- data/src/admin_panel/doc/app/files/app/controllers/admin_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/application_controller_rb.html +0 -108
- data/src/admin_panel/doc/app/files/app/controllers/application_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/exceptions_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/graph_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/mail_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/controllers/server_specification_controller_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/admin_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/application_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/exceptions_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/helpers/graph_helper_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/app_exception_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/app_rb.html +0 -108
- data/src/admin_panel/doc/app/files/app/models/app_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/application_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/mail_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/pseudo_model_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/resource_usage_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/server_specification_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/url_breakup_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/url_time_sample_rb.html +0 -101
- data/src/admin_panel/doc/app/files/app/models/user_rb.html +0 -101
- data/src/admin_panel/doc/app/files/doc/README_FOR_APP.html +0 -109
- data/src/admin_panel/doc/app/files/lib/asset_tag_helper_ext_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/control_rb.html +0 -110
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/database_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/resource_usage_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/throughput_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_breakup_analytics_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/scgi_rb.html +0 -101
- data/src/admin_panel/doc/app/files/lib/yaml_writer_rb.html +0 -101
- data/src/admin_panel/doc/app/fr_class_index.html +0 -60
- data/src/admin_panel/doc/app/fr_file_index.html +0 -58
- data/src/admin_panel/doc/app/fr_method_index.html +0 -206
- data/src/admin_panel/doc/app/rdoc-style.css +0 -208
- data/src/admin_panel/public/dispatch.cgi +0 -10
- data/src/admin_panel/public/dispatch.fcgi +0 -24
- data/src/admin_panel/public/dispatch.rb +0 -10
- data/src/admin_panel/script/about +0 -4
- data/src/admin_panel/script/console +0 -3
- data/src/admin_panel/script/dbconsole +0 -3
- data/src/admin_panel/script/destroy +0 -3
- data/src/admin_panel/script/generate +0 -3
- data/src/admin_panel/script/performance/benchmarker +0 -3
- data/src/admin_panel/script/performance/profiler +0 -3
- data/src/admin_panel/script/performance/request +0 -3
- data/src/admin_panel/script/plugin +0 -3
- data/src/admin_panel/script/process/inspector +0 -3
- data/src/admin_panel/script/process/reaper +0 -3
- data/src/admin_panel/script/process/spawner +0 -3
- data/src/admin_panel/script/runner +0 -3
- data/src/admin_panel/script/server +0 -3
- data/test/spec/test_app/config/initializers/new_rails_defaults.rb +0 -19
- data/test/spec/test_app/script/about +0 -4
- data/test/spec/test_app/script/console +0 -3
- data/test/spec/test_app/script/dbconsole +0 -3
- data/test/spec/test_app/script/destroy +0 -3
- data/test/spec/test_app/script/generate +0 -3
- data/test/spec/test_app/script/performance/benchmarker +0 -3
- data/test/spec/test_app/script/performance/profiler +0 -3
- data/test/spec/test_app/script/plugin +0 -3
- data/test/spec/test_app/script/runner +0 -3
- data/test/spec/test_app/script/server +0 -3
- data/test/spec/test_app/vendor/.placeholder +0 -0
|
@@ -1,425 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!DOCTYPE html
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
-
<head>
|
|
8
|
-
<title>Class: ResourceUsage</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
-
<script type="text/javascript">
|
|
13
|
-
// <![CDATA[
|
|
14
|
-
|
|
15
|
-
function popupCode( url ) {
|
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function toggleCode( id ) {
|
|
20
|
-
if ( document.getElementById )
|
|
21
|
-
elem = document.getElementById( id );
|
|
22
|
-
else if ( document.all )
|
|
23
|
-
elem = eval( "document.all." + id );
|
|
24
|
-
else
|
|
25
|
-
return false;
|
|
26
|
-
|
|
27
|
-
elemStyle = elem.style;
|
|
28
|
-
|
|
29
|
-
if ( elemStyle.display != "block" ) {
|
|
30
|
-
elemStyle.display = "block"
|
|
31
|
-
} else {
|
|
32
|
-
elemStyle.display = "none"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
-
|
|
41
|
-
// ]]>
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<div id="classHeader">
|
|
50
|
-
<table class="header-table">
|
|
51
|
-
<tr class="top-aligned-row">
|
|
52
|
-
<td><strong>Class</strong></td>
|
|
53
|
-
<td class="class-name-in-header">ResourceUsage</td>
|
|
54
|
-
</tr>
|
|
55
|
-
<tr class="top-aligned-row">
|
|
56
|
-
<td><strong>In:</strong></td>
|
|
57
|
-
<td>
|
|
58
|
-
<a href="../files/app/models/resource_usage_rb.html">
|
|
59
|
-
app/models/resource_usage.rb
|
|
60
|
-
</a>
|
|
61
|
-
<br />
|
|
62
|
-
</td>
|
|
63
|
-
</tr>
|
|
64
|
-
|
|
65
|
-
<tr class="top-aligned-row">
|
|
66
|
-
<td><strong>Parent:</strong></td>
|
|
67
|
-
<td>
|
|
68
|
-
ActiveRecord::Base
|
|
69
|
-
</td>
|
|
70
|
-
</tr>
|
|
71
|
-
</table>
|
|
72
|
-
</div>
|
|
73
|
-
<!-- banner header -->
|
|
74
|
-
|
|
75
|
-
<div id="bodyContent">
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<div id="contextContent">
|
|
80
|
-
|
|
81
|
-
<div id="description">
|
|
82
|
-
<p>
|
|
83
|
-
This is the model class <a href="ResourceUsage.html">ResourceUsage</a>
|
|
84
|
-
related to the resource_usages table in the database.
|
|
85
|
-
</p>
|
|
86
|
-
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
<div id="method-list">
|
|
93
|
-
<h3 class="section-bar">Methods</h3>
|
|
94
|
-
|
|
95
|
-
<div class="name-list">
|
|
96
|
-
<a href="#M000036">fill_gaps!</a>
|
|
97
|
-
<a href="#M000034">get_application_data</a>
|
|
98
|
-
<a href="#M000032">get_latest_for_apps</a>
|
|
99
|
-
<a href="#M000031">get_latest_for_server</a>
|
|
100
|
-
<a href="#M000035">get_max_and_slab</a>
|
|
101
|
-
<a href="#M000033">get_server_resource_usage</a>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
|
|
105
|
-
</div>
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
<!-- if includes -->
|
|
109
|
-
|
|
110
|
-
<div id="section">
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<!-- if method_list -->
|
|
120
|
-
<div id="methods">
|
|
121
|
-
<h3 class="section-bar">Public Class methods</h3>
|
|
122
|
-
|
|
123
|
-
<div id="method-M000036" class="method-detail">
|
|
124
|
-
<a name="M000036"></a>
|
|
125
|
-
|
|
126
|
-
<div class="method-heading">
|
|
127
|
-
<a href="#M000036" class="method-signature">
|
|
128
|
-
<span class="method-name">fill_gaps!</span><span class="method-args">(array)</span>
|
|
129
|
-
</a>
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<div class="method-description">
|
|
133
|
-
<p>
|
|
134
|
-
Due to technical reasons, e.g. sleep(60) , thread can remain in sleep state
|
|
135
|
-
for more than 60 seconds, in this case it may not get sample for that
|
|
136
|
-
minute. With this method filling any such gaps(consecutive one gap at max)
|
|
137
|
-
by predicting usage from around values. Parameters : array(Array) of
|
|
138
|
-
integer or float Find out the elements having 0 or 0.0 as value, normalize
|
|
139
|
-
it value according to previous/next values.
|
|
140
|
-
</p>
|
|
141
|
-
<p><a class="source-toggle" href="#"
|
|
142
|
-
onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
|
|
143
|
-
<div class="method-source-code" id="M000036-source">
|
|
144
|
-
<pre>
|
|
145
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 156</span>
|
|
146
|
-
156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fill_gaps!</span>(<span class="ruby-identifier">array</span>)
|
|
147
|
-
157: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span> <span class="ruby-comment cmt"># proceed only if array is not empty</span>
|
|
148
|
-
158: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-comment cmt"># if first element is zero, predict value from next two values.</span>
|
|
149
|
-
159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">2</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">nil?</span>
|
|
150
|
-
160: <span class="ruby-identifier">array</span>[<span class="ruby-value">0</span>] = (<span class="ruby-identifier">array</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">2</span>]) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
|
|
151
|
-
161: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if array.length > 2</span>
|
|
152
|
-
162: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if array[0].to_i == 0</span>
|
|
153
|
-
163:
|
|
154
|
-
164: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-comment cmt">#if last element is zero, predict value from previous two values.</span>
|
|
155
|
-
165: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">2</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">-2</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">-3</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-value">-2</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-value">-3</span>].<span class="ruby-identifier">nil?</span>
|
|
156
|
-
166: <span class="ruby-identifier">array</span>[<span class="ruby-value">-1</span>] = (<span class="ruby-identifier">array</span>[<span class="ruby-value">-2</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">array</span>[<span class="ruby-value">-3</span>]) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
|
|
157
|
-
167: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if array.length > 2</span>
|
|
158
|
-
168: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if array[-1].to_i == 0</span>
|
|
159
|
-
169:
|
|
160
|
-
170: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">array</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span> <span class="ruby-comment cmt"># checking for interminant values</span>
|
|
161
|
-
171: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span><span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>].<span class="ruby-identifier">nil?</span>
|
|
162
|
-
172: <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span>] = (<span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">array</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>]) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
|
|
163
|
-
173: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if</span>
|
|
164
|
-
174: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># for</span>
|
|
165
|
-
175: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if array.length > 0</span>
|
|
166
|
-
176: <span class="ruby-keyword kw">end</span>
|
|
167
|
-
</pre>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
|
|
172
|
-
<div id="method-M000034" class="method-detail">
|
|
173
|
-
<a name="M000034"></a>
|
|
174
|
-
|
|
175
|
-
<div class="method-heading">
|
|
176
|
-
<a href="#M000034" class="method-signature">
|
|
177
|
-
<span class="method-name">get_application_data</span><span class="method-args">(app_id, start_time, end_time, type)</span>
|
|
178
|
-
</a>
|
|
179
|
-
</div>
|
|
180
|
-
|
|
181
|
-
<div class="method-description">
|
|
182
|
-
<p>
|
|
183
|
-
This method Returns the Resource Usage data for a particular application.
|
|
184
|
-
This data is used to plot the graph for cpu usage and memory usage for that
|
|
185
|
-
application. CPU usage is in percentage and the physical memory usage is
|
|
186
|
-
MBs.
|
|
187
|
-
</p>
|
|
188
|
-
<p><a class="source-toggle" href="#"
|
|
189
|
-
onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
|
|
190
|
-
<div class="method-source-code" id="M000034-source">
|
|
191
|
-
<pre>
|
|
192
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 101</span>
|
|
193
|
-
101: <span class="ruby-keyword kw">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>)
|
|
194
|
-
102: <span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
|
|
195
|
-
103: <span class="ruby-identifier">interval</span> = <span class="ruby-value">0</span>
|
|
196
|
-
104: <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>
|
|
197
|
-
105: <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>)
|
|
198
|
-
106: <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>)
|
|
199
|
-
107: <span class="ruby-identifier">resource_usages</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'sum(cpu_usage) as cpu_usage, sum(memory_usage) as memory_usage, count(*) as count, wall_time'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">'app_id = ? and wall_time >= ? and wall_time < ?'</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'wall_time'</span>)
|
|
200
|
-
108: <span class="ruby-identifier">resource_usages</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource_usage</span><span class="ruby-operator">|</span>
|
|
201
|
-
109: <span class="ruby-identifier">current_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(<span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">month</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">day</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">hour</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">min</span>, <span class="ruby-value str">'0'</span>)
|
|
202
|
-
110: <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>
|
|
203
|
-
111: <span class="ruby-identifier">count</span> = <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">count</span>
|
|
204
|
-
112: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"cpu"</span>
|
|
205
|
-
113: <span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">cpu_usage</span>
|
|
206
|
-
114: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"memory"</span>
|
|
207
|
-
115: <span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">memory_usage</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-value">1024</span>
|
|
208
|
-
116: <span class="ruby-keyword kw">end</span>
|
|
209
|
-
117: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">total_data</span>
|
|
210
|
-
118: <span class="ruby-identifier">max</span> = <span class="ruby-identifier">total_data</span>.<span class="ruby-identifier">to_i</span>
|
|
211
|
-
119: <span class="ruby-keyword kw">end</span>
|
|
212
|
-
120: <span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">total_data</span>
|
|
213
|
-
121: <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-value str">"%H:%M"</span>)
|
|
214
|
-
122: <span class="ruby-keyword kw">end</span>
|
|
215
|
-
123:
|
|
216
|
-
124: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">interval</span>
|
|
217
|
-
125: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">nil?</span>
|
|
218
|
-
126: <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-operator">*</span><span class="ruby-value">60</span>).<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%H:%M"</span>)
|
|
219
|
-
127: <span class="ruby-keyword kw">end</span>
|
|
220
|
-
128: <span class="ruby-keyword kw">end</span>
|
|
221
|
-
129:
|
|
222
|
-
130: <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>)
|
|
223
|
-
131: <span class="ruby-identifier">fill_gaps!</span>(<span class="ruby-identifier">final_data</span>)
|
|
224
|
-
132: <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>
|
|
225
|
-
133: <span class="ruby-keyword kw">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>
|
|
226
|
-
134: <span class="ruby-keyword kw">end</span>
|
|
227
|
-
</pre>
|
|
228
|
-
</div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
|
|
232
|
-
<div id="method-M000032" class="method-detail">
|
|
233
|
-
<a name="M000032"></a>
|
|
234
|
-
|
|
235
|
-
<div class="method-heading">
|
|
236
|
-
<a href="#M000032" class="method-signature">
|
|
237
|
-
<span class="method-name">get_latest_for_apps</span><span class="method-args">()</span>
|
|
238
|
-
</a>
|
|
239
|
-
</div>
|
|
240
|
-
|
|
241
|
-
<div class="method-description">
|
|
242
|
-
<p>
|
|
243
|
-
This method is used to get the latest state of the application i.e. its cpu
|
|
244
|
-
usage and physical memory usage.
|
|
245
|
-
</p>
|
|
246
|
-
<pre>
|
|
247
|
-
Returns hash with application name as key and 2 element array as value. In 2 element, first element is cpu usage, 2nd is memory usage in kb
|
|
248
|
-
</pre>
|
|
249
|
-
<p><a class="source-toggle" href="#"
|
|
250
|
-
onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
|
|
251
|
-
<div class="method-source-code" id="M000032-source">
|
|
252
|
-
<pre>
|
|
253
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 41</span>
|
|
254
|
-
41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_latest_for_apps</span>
|
|
255
|
-
42: <span class="ruby-identifier">t1</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
|
256
|
-
43: <span class="ruby-identifier">interval</span> = <span class="ruby-value">60</span> <span class="ruby-comment cmt"># in seconds</span>
|
|
257
|
-
44: <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">t1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">interval</span>
|
|
258
|
-
45: <span class="ruby-identifier">result_set</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"app_id, sum(cpu_usage) as tot_cpu, sum(memory_usage) as tot_memory"</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">"wall_time <= ? and wall_time >= ?"</span>,<span class="ruby-identifier">t1</span>,<span class="ruby-identifier">t2</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'app_id'</span>)
|
|
259
|
-
46:
|
|
260
|
-
47: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result_set</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
261
|
-
48: {}
|
|
262
|
-
49: <span class="ruby-keyword kw">else</span>
|
|
263
|
-
50: <span class="ruby-identifier">apps</span> = <span class="ruby-constant">App</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"id, name"</span>)
|
|
264
|
-
51: <span class="ruby-identifier">app_hash</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
265
|
-
52: <span class="ruby-identifier">apps</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">app</span><span class="ruby-operator">|</span>
|
|
266
|
-
53: <span class="ruby-identifier">app_hash</span>[<span class="ruby-identifier">app</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">app</span>.<span class="ruby-identifier">name</span>
|
|
267
|
-
54: <span class="ruby-keyword kw">end</span>
|
|
268
|
-
55: <span class="ruby-identifier">result_hash</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
269
|
-
56: <span class="ruby-identifier">result_set</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">result</span><span class="ruby-operator">|</span>
|
|
270
|
-
57: <span class="ruby-identifier">result_hash</span>[<span class="ruby-identifier">app_hash</span>[<span class="ruby-identifier">result</span>.<span class="ruby-identifier">app_id</span>]] = [<span class="ruby-identifier">result</span>.<span class="ruby-identifier">tot_cpu</span>.<span class="ruby-identifier">to_f</span>, <span class="ruby-identifier">result</span>.<span class="ruby-identifier">tot_memory</span>.<span class="ruby-identifier">to_i</span>]
|
|
271
|
-
58: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># do |result|</span>
|
|
272
|
-
59: <span class="ruby-identifier">result_hash</span>
|
|
273
|
-
60: <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># if</span>
|
|
274
|
-
61: <span class="ruby-keyword kw">end</span>
|
|
275
|
-
</pre>
|
|
276
|
-
</div>
|
|
277
|
-
</div>
|
|
278
|
-
</div>
|
|
279
|
-
|
|
280
|
-
<div id="method-M000031" class="method-detail">
|
|
281
|
-
<a name="M000031"></a>
|
|
282
|
-
|
|
283
|
-
<div class="method-heading">
|
|
284
|
-
<a href="#M000031" class="method-signature">
|
|
285
|
-
<span class="method-name">get_latest_for_server</span><span class="method-args">()</span>
|
|
286
|
-
</a>
|
|
287
|
-
</div>
|
|
288
|
-
|
|
289
|
-
<div class="method-description">
|
|
290
|
-
<p>
|
|
291
|
-
This method is used to get the latest state of the server i.e. its cpu
|
|
292
|
-
usage and physical memory usage.
|
|
293
|
-
</p>
|
|
294
|
-
<pre>
|
|
295
|
-
Returns array wtih 2 element, first element is cpu usage, 2nd is memory usage in kb
|
|
296
|
-
</pre>
|
|
297
|
-
<p><a class="source-toggle" href="#"
|
|
298
|
-
onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
|
|
299
|
-
<div class="method-source-code" id="M000031-source">
|
|
300
|
-
<pre>
|
|
301
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 26</span>
|
|
302
|
-
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_latest_for_server</span>
|
|
303
|
-
27: <span class="ruby-identifier">t1</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
|
304
|
-
28: <span class="ruby-identifier">interval</span> = <span class="ruby-value">60</span> <span class="ruby-comment cmt"># in seconds</span>
|
|
305
|
-
29: <span class="ruby-identifier">t2</span> = <span class="ruby-identifier">t1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">interval</span>
|
|
306
|
-
30: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:first</span>, <span class="ruby-identifier">:select</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"sum(cpu_usage) as tot_cpu, sum(memory_usage) as tot_memory"</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">"wall_time <= ? and wall_time >= ?"</span>,<span class="ruby-identifier">t1</span>,<span class="ruby-identifier">t2</span>])
|
|
307
|
-
31: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">result</span>
|
|
308
|
-
32: <span class="ruby-identifier">res</span> = [<span class="ruby-value">0</span><span class="ruby-value">.0</span>, <span class="ruby-value">0</span>]
|
|
309
|
-
33: <span class="ruby-keyword kw">else</span>
|
|
310
|
-
34: <span class="ruby-identifier">res</span> = [<span class="ruby-identifier">result</span>.<span class="ruby-identifier">tot_cpu</span>.<span class="ruby-identifier">to_f</span>, <span class="ruby-identifier">result</span>.<span class="ruby-identifier">tot_memory</span>.<span class="ruby-identifier">to_i</span>]
|
|
311
|
-
35: <span class="ruby-keyword kw">end</span>
|
|
312
|
-
36: <span class="ruby-identifier">res</span>
|
|
313
|
-
37: <span class="ruby-keyword kw">end</span>
|
|
314
|
-
</pre>
|
|
315
|
-
</div>
|
|
316
|
-
</div>
|
|
317
|
-
</div>
|
|
318
|
-
|
|
319
|
-
<div id="method-M000035" class="method-detail">
|
|
320
|
-
<a name="M000035"></a>
|
|
321
|
-
|
|
322
|
-
<div class="method-heading">
|
|
323
|
-
<a href="#M000035" class="method-signature">
|
|
324
|
-
<span class="method-name">get_max_and_slab</span><span class="method-args">(max)</span>
|
|
325
|
-
</a>
|
|
326
|
-
</div>
|
|
327
|
-
|
|
328
|
-
<div class="method-description">
|
|
329
|
-
<p>
|
|
330
|
-
This method gives the maximum value for y axis and the value by which the y
|
|
331
|
-
axis is to be partitioned.
|
|
332
|
-
</p>
|
|
333
|
-
<p><a class="source-toggle" href="#"
|
|
334
|
-
onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
|
|
335
|
-
<div class="method-source-code" id="M000035-source">
|
|
336
|
-
<pre>
|
|
337
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 137</span>
|
|
338
|
-
137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_max_and_slab</span>(<span class="ruby-identifier">max</span>)
|
|
339
|
-
138: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
340
|
-
139: <span class="ruby-identifier">max</span> = <span class="ruby-value">1</span>
|
|
341
|
-
140: <span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
342
|
-
141: <span class="ruby-keyword kw">else</span>
|
|
343
|
-
142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator">></span> <span class="ruby-value">8</span>
|
|
344
|
-
143: <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>
|
|
345
|
-
144: <span class="ruby-keyword kw">else</span>
|
|
346
|
-
145: <span class="ruby-identifier">slab</span> = <span class="ruby-value">1</span>
|
|
347
|
-
146: <span class="ruby-keyword kw">end</span>
|
|
348
|
-
147: <span class="ruby-keyword kw">end</span>
|
|
349
|
-
148: <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>
|
|
350
|
-
149: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">max</span>, <span class="ruby-identifier">slab</span>
|
|
351
|
-
150: <span class="ruby-keyword kw">end</span>
|
|
352
|
-
</pre>
|
|
353
|
-
</div>
|
|
354
|
-
</div>
|
|
355
|
-
</div>
|
|
356
|
-
|
|
357
|
-
<div id="method-M000033" class="method-detail">
|
|
358
|
-
<a name="M000033"></a>
|
|
359
|
-
|
|
360
|
-
<div class="method-heading">
|
|
361
|
-
<a href="#M000033" class="method-signature">
|
|
362
|
-
<span class="method-name">get_server_resource_usage</span><span class="method-args">(start_time, end_time, type)</span>
|
|
363
|
-
</a>
|
|
364
|
-
</div>
|
|
365
|
-
|
|
366
|
-
<div class="method-description">
|
|
367
|
-
<p>
|
|
368
|
-
This method Returns the Resource Usage data for the server. This data is
|
|
369
|
-
used to plot the graph for cpu usage and memory usage of the server. CPU
|
|
370
|
-
usage is in percentage and the physical memory usage is MBs.
|
|
371
|
-
</p>
|
|
372
|
-
<p><a class="source-toggle" href="#"
|
|
373
|
-
onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
|
|
374
|
-
<div class="method-source-code" id="M000033-source">
|
|
375
|
-
<pre>
|
|
376
|
-
<span class="ruby-comment cmt"># File app/models/resource_usage.rb, line 65</span>
|
|
377
|
-
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_server_resource_usage</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">type</span>)
|
|
378
|
-
66: <span class="ruby-identifier">max</span> = <span class="ruby-value">0</span>
|
|
379
|
-
67: <span class="ruby-identifier">interval</span> = <span class="ruby-value">0</span>
|
|
380
|
-
68: <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>
|
|
381
|
-
69: <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>)
|
|
382
|
-
70: <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>)
|
|
383
|
-
71: <span class="ruby-identifier">resource_usages</span> = <span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:select=</span><span class="ruby-operator">></span><span class="ruby-value str">'wall_time, sum(cpu_usage) as cpu_usage, sum(memory_usage) as memory_usage'</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [<span class="ruby-value str">"wall_time >= ? and wall_time < ?"</span>, <span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>], <span class="ruby-identifier">:group</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'wall_time'</span>)
|
|
384
|
-
72: <span class="ruby-identifier">resource_usages</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource_usage</span><span class="ruby-operator">|</span>
|
|
385
|
-
73: <span class="ruby-identifier">current_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(<span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">month</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">day</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">hour</span>, <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">wall_time</span>.<span class="ruby-identifier">min</span>, <span class="ruby-value str">'0'</span>)
|
|
386
|
-
74: <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>
|
|
387
|
-
75: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"CPU"</span>
|
|
388
|
-
76: <span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">cpu_usage</span>
|
|
389
|
-
77: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"Memory"</span>
|
|
390
|
-
78: <span class="ruby-identifier">total_data</span> = <span class="ruby-identifier">resource_usage</span>.<span class="ruby-identifier">memory_usage</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-value">1024</span>
|
|
391
|
-
79: <span class="ruby-keyword kw">end</span>
|
|
392
|
-
80: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">total_data</span>
|
|
393
|
-
81: <span class="ruby-identifier">max</span> = <span class="ruby-identifier">total_data</span>.<span class="ruby-identifier">to_i</span>
|
|
394
|
-
82: <span class="ruby-keyword kw">end</span>
|
|
395
|
-
83: <span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">total_data</span>
|
|
396
|
-
84: <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-value str">"%H:%M"</span>)
|
|
397
|
-
85: <span class="ruby-keyword kw">end</span>
|
|
398
|
-
86: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">i</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">interval</span>
|
|
399
|
-
87: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">final_data</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">nil?</span>
|
|
400
|
-
88: <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-operator">*</span><span class="ruby-value">60</span>).<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%H:%M"</span>)
|
|
401
|
-
89: <span class="ruby-keyword kw">end</span>
|
|
402
|
-
90: <span class="ruby-keyword kw">end</span>
|
|
403
|
-
91: <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>)
|
|
404
|
-
92: <span class="ruby-identifier">fill_gaps!</span>(<span class="ruby-identifier">final_data</span>)
|
|
405
|
-
93: <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>
|
|
406
|
-
94: <span class="ruby-keyword kw">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>
|
|
407
|
-
95: <span class="ruby-keyword kw">end</span>
|
|
408
|
-
</pre>
|
|
409
|
-
</div>
|
|
410
|
-
</div>
|
|
411
|
-
</div>
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
</div>
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
</div>
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
<div id="validator-badges">
|
|
421
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
422
|
-
</div>
|
|
423
|
-
|
|
424
|
-
</body>
|
|
425
|
-
</html>
|
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!DOCTYPE html
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
6
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
-
<head>
|
|
8
|
-
<title>Class: SCGI</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
-
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
-
<script type="text/javascript">
|
|
13
|
-
// <![CDATA[
|
|
14
|
-
|
|
15
|
-
function popupCode( url ) {
|
|
16
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function toggleCode( id ) {
|
|
20
|
-
if ( document.getElementById )
|
|
21
|
-
elem = document.getElementById( id );
|
|
22
|
-
else if ( document.all )
|
|
23
|
-
elem = eval( "document.all." + id );
|
|
24
|
-
else
|
|
25
|
-
return false;
|
|
26
|
-
|
|
27
|
-
elemStyle = elem.style;
|
|
28
|
-
|
|
29
|
-
if ( elemStyle.display != "block" ) {
|
|
30
|
-
elemStyle.display = "block"
|
|
31
|
-
} else {
|
|
32
|
-
elemStyle.display = "none"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
-
|
|
41
|
-
// ]]>
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<div id="classHeader">
|
|
50
|
-
<table class="header-table">
|
|
51
|
-
<tr class="top-aligned-row">
|
|
52
|
-
<td><strong>Class</strong></td>
|
|
53
|
-
<td class="class-name-in-header">SCGI</td>
|
|
54
|
-
</tr>
|
|
55
|
-
<tr class="top-aligned-row">
|
|
56
|
-
<td><strong>In:</strong></td>
|
|
57
|
-
<td>
|
|
58
|
-
<a href="../files/lib/scgi_rb.html">
|
|
59
|
-
lib/scgi.rb
|
|
60
|
-
</a>
|
|
61
|
-
<br />
|
|
62
|
-
</td>
|
|
63
|
-
</tr>
|
|
64
|
-
|
|
65
|
-
<tr class="top-aligned-row">
|
|
66
|
-
<td><strong>Parent:</strong></td>
|
|
67
|
-
<td>
|
|
68
|
-
Object
|
|
69
|
-
</td>
|
|
70
|
-
</tr>
|
|
71
|
-
</table>
|
|
72
|
-
</div>
|
|
73
|
-
<!-- banner header -->
|
|
74
|
-
|
|
75
|
-
<div id="bodyContent">
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<div id="contextContent">
|
|
80
|
-
|
|
81
|
-
<div id="description">
|
|
82
|
-
<p>
|
|
83
|
-
This class contructs and <a href="SCGI.html#M000100">parse</a> the <a
|
|
84
|
-
href="SCGI.html">SCGI</a> <a href="SCGI.html#M000093">request</a>.
|
|
85
|
-
</p>
|
|
86
|
-
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
<div id="method-list">
|
|
93
|
-
<h3 class="section-bar">Methods</h3>
|
|
94
|
-
|
|
95
|
-
<div class="name-list">
|
|
96
|
-
<a href="#M000094">body</a>
|
|
97
|
-
<a href="#M000096">body_add</a>
|
|
98
|
-
<a href="#M000098">build</a>
|
|
99
|
-
<a href="#M000097">header</a>
|
|
100
|
-
<a href="#M000095">header_add</a>
|
|
101
|
-
<a href="#M000092">new</a>
|
|
102
|
-
<a href="#M000100">parse</a>
|
|
103
|
-
<a href="#M000099">print</a>
|
|
104
|
-
<a href="#M000093">request</a>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
</div>
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<!-- if includes -->
|
|
112
|
-
|
|
113
|
-
<div id="section">
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<!-- if method_list -->
|
|
123
|
-
<div id="methods">
|
|
124
|
-
<h3 class="section-bar">Public Class methods</h3>
|
|
125
|
-
|
|
126
|
-
<div id="method-M000092" class="method-detail">
|
|
127
|
-
<a name="M000092"></a>
|
|
128
|
-
|
|
129
|
-
<div class="method-heading">
|
|
130
|
-
<a href="#M000092" class="method-signature">
|
|
131
|
-
<span class="method-name">new</span><span class="method-args">()</span>
|
|
132
|
-
</a>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
<div class="method-description">
|
|
136
|
-
<p>
|
|
137
|
-
This is the constructor function for <a href="SCGI.html">SCGI</a> class.
|
|
138
|
-
</p>
|
|
139
|
-
<p><a class="source-toggle" href="#"
|
|
140
|
-
onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
|
|
141
|
-
<div class="method-source-code" id="M000092-source">
|
|
142
|
-
<pre>
|
|
143
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 28</span>
|
|
144
|
-
28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
145
|
-
29: <span class="ruby-ivar">@hash</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
146
|
-
30: <span class="ruby-keyword kw">end</span>
|
|
147
|
-
</pre>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
</div>
|
|
151
|
-
|
|
152
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
|
153
|
-
|
|
154
|
-
<div id="method-M000094" class="method-detail">
|
|
155
|
-
<a name="M000094"></a>
|
|
156
|
-
|
|
157
|
-
<div class="method-heading">
|
|
158
|
-
<a href="#M000094" class="method-signature">
|
|
159
|
-
<span class="method-name">body</span><span class="method-args">()</span>
|
|
160
|
-
</a>
|
|
161
|
-
</div>
|
|
162
|
-
|
|
163
|
-
<div class="method-description">
|
|
164
|
-
<p>
|
|
165
|
-
Getter setter for <a href="SCGI.html#M000094">body</a> in <a
|
|
166
|
-
href="SCGI.html">SCGI</a> class.
|
|
167
|
-
</p>
|
|
168
|
-
<p><a class="source-toggle" href="#"
|
|
169
|
-
onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
|
|
170
|
-
<div class="method-source-code" id="M000094-source">
|
|
171
|
-
<pre>
|
|
172
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 38</span>
|
|
173
|
-
38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">body</span>
|
|
174
|
-
39: <span class="ruby-ivar">@body</span>
|
|
175
|
-
40: <span class="ruby-keyword kw">end</span>
|
|
176
|
-
</pre>
|
|
177
|
-
</div>
|
|
178
|
-
</div>
|
|
179
|
-
</div>
|
|
180
|
-
|
|
181
|
-
<div id="method-M000096" class="method-detail">
|
|
182
|
-
<a name="M000096"></a>
|
|
183
|
-
|
|
184
|
-
<div class="method-heading">
|
|
185
|
-
<a href="#M000096" class="method-signature">
|
|
186
|
-
<span class="method-name">body_add</span><span class="method-args">(body)</span>
|
|
187
|
-
</a>
|
|
188
|
-
</div>
|
|
189
|
-
|
|
190
|
-
<div class="method-description">
|
|
191
|
-
<p>
|
|
192
|
-
Adds <a href="SCGI.html">SCGI</a> <a href="SCGI.html#M000093">request</a>
|
|
193
|
-
<a href="SCGI.html#M000094">body</a>.
|
|
194
|
-
</p>
|
|
195
|
-
<p><a class="source-toggle" href="#"
|
|
196
|
-
onclick="toggleCode('M000096-source');return false;">[Source]</a></p>
|
|
197
|
-
<div class="method-source-code" id="M000096-source">
|
|
198
|
-
<pre>
|
|
199
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 48</span>
|
|
200
|
-
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">body_add</span>(<span class="ruby-identifier">body</span>)
|
|
201
|
-
49: <span class="ruby-ivar">@body</span> = <span class="ruby-identifier">body</span>
|
|
202
|
-
50: <span class="ruby-keyword kw">end</span>
|
|
203
|
-
</pre>
|
|
204
|
-
</div>
|
|
205
|
-
</div>
|
|
206
|
-
</div>
|
|
207
|
-
|
|
208
|
-
<div id="method-M000098" class="method-detail">
|
|
209
|
-
<a name="M000098"></a>
|
|
210
|
-
|
|
211
|
-
<div class="method-heading">
|
|
212
|
-
<a href="#M000098" class="method-signature">
|
|
213
|
-
<span class="method-name">build</span><span class="method-args">()</span>
|
|
214
|
-
</a>
|
|
215
|
-
</div>
|
|
216
|
-
|
|
217
|
-
<div class="method-description">
|
|
218
|
-
<p>
|
|
219
|
-
Construct <a href="SCGI.html">SCGI</a> <a
|
|
220
|
-
href="SCGI.html#M000093">request</a>.
|
|
221
|
-
</p>
|
|
222
|
-
<p><a class="source-toggle" href="#"
|
|
223
|
-
onclick="toggleCode('M000098-source');return false;">[Source]</a></p>
|
|
224
|
-
<div class="method-source-code" id="M000098-source">
|
|
225
|
-
<pre>
|
|
226
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 58</span>
|
|
227
|
-
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build</span>
|
|
228
|
-
59: <span class="ruby-keyword kw">if</span>(<span class="ruby-ivar">@body</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>)
|
|
229
|
-
60: <span class="ruby-ivar">@request</span> = <span class="ruby-value str">"CONTENT_LENGTH\0"</span><span class="ruby-operator">+</span><span class="ruby-value str">"0"</span><span class="ruby-operator">+</span><span class="ruby-value str">"\0"</span>
|
|
230
|
-
61: <span class="ruby-keyword kw">else</span>
|
|
231
|
-
62: <span class="ruby-ivar">@request</span> = <span class="ruby-node">"CONTENT_LENGTH\0#{body.length}\0"</span>
|
|
232
|
-
63: <span class="ruby-keyword kw">end</span>
|
|
233
|
-
64: <span class="ruby-ivar">@request</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"SCGI\0"</span><span class="ruby-operator">+</span><span class="ruby-value str">"0"</span> <span class="ruby-operator">+</span><span class="ruby-value str">"\0"</span>
|
|
234
|
-
65: <span class="ruby-ivar">@hash</span>.<span class="ruby-identifier">each_key</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
|
235
|
-
66: <span class="ruby-ivar">@request</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{key}\0#{@hash[key]}\0"</span>
|
|
236
|
-
67: }
|
|
237
|
-
68: <span class="ruby-ivar">@request</span> = <span class="ruby-node">"#{@request.length}:#{@request}"</span>
|
|
238
|
-
69: <span class="ruby-ivar">@request</span> <span class="ruby-operator">+=</span> <span class="ruby-node">",#{@body}"</span>
|
|
239
|
-
70: <span class="ruby-keyword kw">end</span>
|
|
240
|
-
</pre>
|
|
241
|
-
</div>
|
|
242
|
-
</div>
|
|
243
|
-
</div>
|
|
244
|
-
|
|
245
|
-
<div id="method-M000097" class="method-detail">
|
|
246
|
-
<a name="M000097"></a>
|
|
247
|
-
|
|
248
|
-
<div class="method-heading">
|
|
249
|
-
<a href="#M000097" class="method-signature">
|
|
250
|
-
<span class="method-name">header</span><span class="method-args">(key)</span>
|
|
251
|
-
</a>
|
|
252
|
-
</div>
|
|
253
|
-
|
|
254
|
-
<div class="method-description">
|
|
255
|
-
<p>
|
|
256
|
-
Getter method for receiving <a href="SCGI.html">SCGI</a> headers.
|
|
257
|
-
</p>
|
|
258
|
-
<p><a class="source-toggle" href="#"
|
|
259
|
-
onclick="toggleCode('M000097-source');return false;">[Source]</a></p>
|
|
260
|
-
<div class="method-source-code" id="M000097-source">
|
|
261
|
-
<pre>
|
|
262
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 53</span>
|
|
263
|
-
53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header</span>(<span class="ruby-identifier">key</span>)
|
|
264
|
-
54: <span class="ruby-ivar">@hash</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">upcase</span>]
|
|
265
|
-
55: <span class="ruby-keyword kw">end</span>
|
|
266
|
-
</pre>
|
|
267
|
-
</div>
|
|
268
|
-
</div>
|
|
269
|
-
</div>
|
|
270
|
-
|
|
271
|
-
<div id="method-M000095" class="method-detail">
|
|
272
|
-
<a name="M000095"></a>
|
|
273
|
-
|
|
274
|
-
<div class="method-heading">
|
|
275
|
-
<a href="#M000095" class="method-signature">
|
|
276
|
-
<span class="method-name">header_add</span><span class="method-args">(key, value)</span>
|
|
277
|
-
</a>
|
|
278
|
-
</div>
|
|
279
|
-
|
|
280
|
-
<div class="method-description">
|
|
281
|
-
<p>
|
|
282
|
-
This method is used to add the headers.
|
|
283
|
-
</p>
|
|
284
|
-
<p><a class="source-toggle" href="#"
|
|
285
|
-
onclick="toggleCode('M000095-source');return false;">[Source]</a></p>
|
|
286
|
-
<div class="method-source-code" id="M000095-source">
|
|
287
|
-
<pre>
|
|
288
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 43</span>
|
|
289
|
-
43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">header_add</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>)
|
|
290
|
-
44: <span class="ruby-ivar">@hash</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">upcase</span>] = <span class="ruby-identifier">value</span>
|
|
291
|
-
45: <span class="ruby-keyword kw">end</span>
|
|
292
|
-
</pre>
|
|
293
|
-
</div>
|
|
294
|
-
</div>
|
|
295
|
-
</div>
|
|
296
|
-
|
|
297
|
-
<div id="method-M000100" class="method-detail">
|
|
298
|
-
<a name="M000100"></a>
|
|
299
|
-
|
|
300
|
-
<div class="method-heading">
|
|
301
|
-
<a href="#M000100" class="method-signature">
|
|
302
|
-
<span class="method-name">parse</span><span class="method-args">(req)</span>
|
|
303
|
-
</a>
|
|
304
|
-
</div>
|
|
305
|
-
|
|
306
|
-
<div class="method-description">
|
|
307
|
-
<p>
|
|
308
|
-
Parse the string and <a href="SCGI.html#M000098">build</a> <a
|
|
309
|
-
href="SCGI.html">SCGI</a> <a href="SCGI.html#M000093">request</a>.
|
|
310
|
-
</p>
|
|
311
|
-
<p><a class="source-toggle" href="#"
|
|
312
|
-
onclick="toggleCode('M000100-source');return false;">[Source]</a></p>
|
|
313
|
-
<div class="method-source-code" id="M000100-source">
|
|
314
|
-
<pre>
|
|
315
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 82</span>
|
|
316
|
-
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">req</span>)
|
|
317
|
-
83: <span class="ruby-identifier">arr</span> = <span class="ruby-identifier">req</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">":"</span>)
|
|
318
|
-
84: <span class="ruby-identifier">key</span> = <span class="ruby-value str">""</span>
|
|
319
|
-
85: <span class="ruby-identifier">len</span> = <span class="ruby-identifier">arr</span>[<span class="ruby-value">0</span>] <span class="ruby-comment cmt">#TODO if len.to_i == 0 then error</span>
|
|
320
|
-
86: <span class="ruby-identifier">arr</span> = <span class="ruby-identifier">arr</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\0"</span>, <span class="ruby-identifier">len</span>.<span class="ruby-identifier">to_i</span>)
|
|
321
|
-
87: <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">each_index</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
322
|
-
88: <span class="ruby-keyword kw">if</span>(<span class="ruby-identifier">i</span> <span class="ruby-operator">%</span> <span class="ruby-value">2</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
|
|
323
|
-
89: <span class="ruby-identifier">key</span> = <span class="ruby-identifier">arr</span>[<span class="ruby-identifier">i</span>]
|
|
324
|
-
90: <span class="ruby-keyword kw">else</span>
|
|
325
|
-
91: <span class="ruby-identifier">header_add</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">arr</span>[<span class="ruby-identifier">i</span>])
|
|
326
|
-
92: <span class="ruby-keyword kw">end</span>
|
|
327
|
-
93: }
|
|
328
|
-
94: <span class="ruby-identifier">arr</span> = <span class="ruby-identifier">arr</span>[<span class="ruby-value">-1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">","</span>)
|
|
329
|
-
95: <span class="ruby-identifier">body_add</span>(<span class="ruby-identifier">arr</span>[<span class="ruby-value">-1</span>])
|
|
330
|
-
96: <span class="ruby-keyword kw">end</span>
|
|
331
|
-
</pre>
|
|
332
|
-
</div>
|
|
333
|
-
</div>
|
|
334
|
-
</div>
|
|
335
|
-
|
|
336
|
-
<div id="method-M000099" class="method-detail">
|
|
337
|
-
<a name="M000099"></a>
|
|
338
|
-
|
|
339
|
-
<div class="method-heading">
|
|
340
|
-
<a href="#M000099" class="method-signature">
|
|
341
|
-
<span class="method-name">print</span><span class="method-args">()</span>
|
|
342
|
-
</a>
|
|
343
|
-
</div>
|
|
344
|
-
|
|
345
|
-
<div class="method-description">
|
|
346
|
-
<p>
|
|
347
|
-
Display <a href="SCGI.html">SCGI</a> <a
|
|
348
|
-
href="SCGI.html#M000093">request</a>.
|
|
349
|
-
</p>
|
|
350
|
-
<p><a class="source-toggle" href="#"
|
|
351
|
-
onclick="toggleCode('M000099-source');return false;">[Source]</a></p>
|
|
352
|
-
<div class="method-source-code" id="M000099-source">
|
|
353
|
-
<pre>
|
|
354
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 73</span>
|
|
355
|
-
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">print</span>
|
|
356
|
-
74: <span class="ruby-ivar">@hash</span>.<span class="ruby-identifier">each_key</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
|
357
|
-
75: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{key}:#{@hash[key]}"</span>
|
|
358
|
-
76: }
|
|
359
|
-
77: <span class="ruby-identifier">puts</span> <span class="ruby-value str">","</span>
|
|
360
|
-
78: <span class="ruby-identifier">puts</span> <span class="ruby-ivar">@body</span>
|
|
361
|
-
79: <span class="ruby-keyword kw">end</span>
|
|
362
|
-
</pre>
|
|
363
|
-
</div>
|
|
364
|
-
</div>
|
|
365
|
-
</div>
|
|
366
|
-
|
|
367
|
-
<div id="method-M000093" class="method-detail">
|
|
368
|
-
<a name="M000093"></a>
|
|
369
|
-
|
|
370
|
-
<div class="method-heading">
|
|
371
|
-
<a href="#M000093" class="method-signature">
|
|
372
|
-
<span class="method-name">request</span><span class="method-args">()</span>
|
|
373
|
-
</a>
|
|
374
|
-
</div>
|
|
375
|
-
|
|
376
|
-
<div class="method-description">
|
|
377
|
-
<p>
|
|
378
|
-
Getter setter for <a href="SCGI.html#M000093">request</a> in <a
|
|
379
|
-
href="SCGI.html">SCGI</a> class.
|
|
380
|
-
</p>
|
|
381
|
-
<p><a class="source-toggle" href="#"
|
|
382
|
-
onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
|
|
383
|
-
<div class="method-source-code" id="M000093-source">
|
|
384
|
-
<pre>
|
|
385
|
-
<span class="ruby-comment cmt"># File lib/scgi.rb, line 33</span>
|
|
386
|
-
33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">request</span>
|
|
387
|
-
34: <span class="ruby-ivar">@request</span>
|
|
388
|
-
35: <span class="ruby-keyword kw">end</span>
|
|
389
|
-
</pre>
|
|
390
|
-
</div>
|
|
391
|
-
</div>
|
|
392
|
-
</div>
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
</div>
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
</div>
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
<div id="validator-badges">
|
|
402
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
403
|
-
</div>
|
|
404
|
-
|
|
405
|
-
</body>
|
|
406
|
-
</html>
|