You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2018/05/10 08:58:54 UTC
[trafficserver] branch master updated: Removes the traffic_shell.pl
script
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new d201e25 Removes the traffic_shell.pl script
d201e25 is described below
commit d201e25867ed7bd2994499de22aa80d99fac9859
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Thu May 3 16:07:15 2018 -0600
Removes the traffic_shell.pl script
---
tools/traffic_shell.pl | 730 -------------------------------------------------
1 file changed, 730 deletions(-)
diff --git a/tools/traffic_shell.pl b/tools/traffic_shell.pl
deleted file mode 100755
index 1c31357..0000000
--- a/tools/traffic_shell.pl
+++ /dev/null
@@ -1,730 +0,0 @@
-#!/usr/bin/perl
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-use warnings;
-use strict;
-
-use Apache::TS;
-use Apache::TS::AdminClient;
-
-# Global mgmt API connection...
-my $CLI = Apache::TS::AdminClient->new() || die "Can't connect to the mgmt port";
-my $ETC_PATH = Apache::TS::PREFIX . '/' . $CLI->get_config("proxy.config.config_dir");
-
-# Helper functions around reading other configs
-sub print_config {
- my $file = shift;
-
- open(FILE, "<${ETC_PATH}/$file") || die "Can't open $file";
- print <FILE>;
- close(FILE);
-}
-sub param_die {
- my ($param, $cmd) = @_;
- die "Unknown argument `${param}' to ${cmd}";
-}
-
-
-# Some helper functions around common metrics
-sub get_on_off {
- my $stat = shift;
- return int($CLI->get_stat($stat)) > 0 ? "on" : "off";
-}
-sub get_string {
- my $stat = shift;
- return $CLI->get_stat($stat);
-}
-sub get_int {
- my $stat = shift;
- return int($CLI->get_stat($stat));
-}
-sub get_float {
- my $stat = shift;
- return sprintf("%.6f", $CLI->get_stat($stat));
-}
-sub get_pcnt {
- my $stat = shift;
- return sprintf("%.6f", $CLI->get_stat($stat) * 100);
-}
-sub get_with_si {
- my $stat = shift;
- my $si = shift;
- my $val = int($CLI->get_stat($stat));
- my $multi = 1;
-
- $multi = 1024*1024*1024 if $si eq "G";
- $multi = 1024*1024 if $si eq "M";
- $multi = 1024 if $si eq "K";
-
- return int($val / $multi);
-}
-sub get_switch {
- my $stat = shift;
- my $switch = shift;
- my $val = $CLI->get_stat($stat);
-
- return $switch->{$val} if exists($switch->{$val});
- return $switch->{"default"};
-}
-
-
-# Command: show:alarms
-#
-sub show_alarms {
- print "Not implemented, use 'traffic_ctl' instead\n";
-}
-
-
-# Command: show:cache
-#
-sub show_cache {
- my $param = shift || "";
-
- if ($param eq "") {
- my $http_cache = get_on_off("proxy.config.http.cache.http");
- my $max_obj = get_int("proxy.config.cache.max_doc_size");
- my $min_life = get_int("proxy.config.http.cache.heuristic_min_lifetime");
- my $max_life = get_int("proxy.config.http.cache.heuristic_max_lifetime");
- my $dynamic_urls = get_on_off("proxy.config.http.cache.cache_urls_that_look_dynamic");
- my $alternates = get_on_off("proxy.config.http.cache.enable_default_vary_headers");
- my $vary_def_text = get_string("proxy.config.http.cache.vary_default_text");
- my $vary_def_image = get_string("proxy.config.http.cache.vary_default_images");
- my $vary_def_other = get_string("proxy.config.http.cache.vary_default_other");
-
- my $when_reval = get_switch("proxy.config.http.cache.when_to_revalidate", {
- "0" => "When The Object Has Expired",
- "1" => "When The Object Has No Expiry Date",
- "2" => "Always",
- "3" => "Never",
- "default" => "unknown" });
-
- my $reqd_headers = get_switch("proxy.config.http.cache.required_headers", {
- "0" => "Nothing",
- "1" => "A Last Modified Time",
- "2" => "An Explicit Lifetime",
- "default" => "unknown" });
-
- my $cookies = get_switch("proxy.config.http.cache.cache_responses_to_cookies", {
- "0" => "No Content-types",
- "1" => "All Content-types",
- "2" => "Only Image-content Types",
- "3" => "Content Types which are not Text",
- "4" => "Content Types which are not Text with some exceptions\n",
- "default" => "" });
-
- print <<__EOL;
-HTTP Caching --------------------------- $http_cache
-Maximum HTTP Object Size ----------- NONE
-Freshness
- Verify Freshness By Checking --------- $when_reval
- Minimum Information to be Cacheable -- $reqd_headers
- If Object has no Expiration Date:
- Leave it in Cache for at least ----- $min_life s
- but no more than ------------------- $max_life s
-Variable Content
- Cache Responses to URLs that contain
- "?",";","cgi" or end in ".asp" ----- $dynamic_urls
- Alternates Enabled ------------------- $alternates
- Vary on HTTP Header Fields:
- Text ------------------------------- $vary_def_text
- Images ----------------------------- $vary_def_image
- Other ------------------------------ $vary_def_other
- Cache responses to requests containing cookies for:
- $cookies
-__EOL
- } elsif ($param eq "rules") {
- print "cache.config rules\n";
- print "-------------------\n";
- print_config("cache.config");
- } elsif ($param eq "storage") {
- print "storage.config rules\n";
- print "--------------------\n";
- print_config("storage.config");
- } else {
- param_die($param, "show:cache");
- }
-}
-
-
-# Command: show:cache-stats
-#
-sub show_cache_stats {
- my $bytes_used = get_with_si("proxy.process.cache.bytes_used", "G");
- my $bytes_total = get_with_si("proxy.process.cache.bytes_total", "G");
-
- my $ram_cache_total_bytes = get_int("proxy.process.cache.ram_cache.total_bytes");
- my $ram_cache_bytes_used = get_int("proxy.process.cache.ram_cache.bytes_used");
- my $ram_cache_hits = get_int("proxy.process.cache.ram_cache.hits");
- my $ram_cache_misses = get_int("proxy.process.cache.ram_cache.misses");
- my $lookup_active = get_int("proxy.process.cache.lookup.active");
- my $lookup_success = get_int("proxy.process.cache.lookup.success");
- my $lookup_failure = get_int("proxy.process.cache.lookup.failure");
- my $read_active = get_int("proxy.process.cache.read.active");
- my $read_success = get_int("proxy.process.cache.read.success");
- my $read_failure = get_int("proxy.process.cache.read.failure");
- my $write_active = get_int("proxy.process.cache.write.active");
- my $write_success = get_int("proxy.process.cache.write.success");
- my $write_failure = get_int("proxy.process.cache.write.failure");
- my $update_active = get_int("proxy.process.cache.update.active");
- my $update_success = get_int("proxy.process.cache.update.success");
- my $update_failure = get_int("proxy.process.cache.update.failure");
- my $remove_active = get_int("proxy.process.cache.remove.active");
- my $remove_success = get_int("proxy.process.cache.remove.success");
- my $remove_failure = get_int("proxy.process.cache.remove.failure");
-
- print <<__EOL
-Bytes Used --- $bytes_used GB
-Cache Size --- $bytes_used GB
---RAM Cache--
-Total Bytes -- $ram_cache_total_bytes
-Bytes Used --- $ram_cache_bytes_used
-Hits --------- $ram_cache_hits
-Misses ------- $ram_cache_misses
---Lookups--
-In Progress -- $lookup_active
-Hits --------- $lookup_success
-Misses ------- $lookup_failure
---Reads--
-In Progress -- $read_active
-Hits --------- $read_success
-Misses ------- $read_failure
---Writes--
-In Progress -- $write_active
-Hits --------- $write_success
-Misses ------- $write_failure
---Updates--
-In Progress -- $update_active
-Hits --------- $update_success
-Misses ------- $update_failure
---Removes--
-In Progress -- $remove_active
-Hits --------- $remove_success
-Misses ------- $remove_failure
-__EOL
-}
-
-
-# Command: show:dns-resolver
-#
-sub show_dns_resolver {
- my $dns_search_default_domains = get_on_off("proxy.config.dns.search_default_domains");
-
- print <<__EOF
-Local Domain Expansion -- $dns_search_default_domains
-__EOF
-}
-
-
-# Command: show:dns-stats
-#
-sub show_dns_stats {
- my $lookups_per_second = get_float("proxy.node.dns.lookups_per_second");
-
- print <<__EOF
-DNS Lookups Per Second -- $lookups_per_second
-__EOF
-}
-
-
-# Command: show:hostdb
-#
-sub show_hostdb {
- my $lookup_timeout = get_int("proxy.config.hostdb.lookup_timeout");
- my $timeout = get_int("proxy.config.hostdb.timeout");
- my $verify_after = get_int("proxy.config.hostdb.verify_after");
- my $fail_timeout = get_int("proxy.config.hostdb.fail.timeout");
- my $re_dns_on_reload = get_on_off("proxy.config.hostdb.re_dns_on_reload");
- my $dns_lookup_timeout = get_int("proxy.config.dns.lookup_timeout");
- my $dns_retries = get_int("proxy.config.dns.retries");
- print <<__EOF
-Lookup Timeout ----------- $lookup_timeout s
-Foreground Timeout ------- $timeout s
-Background Timeout ------- $verify_after s
-Invalid Host Timeout ----- $fail_timeout s
-Re-DNS on Reload --------- $re_dns_on_reload
-Resolve Attempt Timeout -- $dns_lookup_timeout s
-Number of retries -------- $dns_retries
-__EOF
-}
-
-
-# Command: show:hostdb-stats
-#
-sub show_hostdb_stats {
- my $hit_ratio = get_float("proxy.node.hostdb.hit_ratio");
- my $lookups_per_second = get_float("proxy.node.dns.lookups_per_second");
-
- print <<__EOF
-Host Database hit Rate -- $hit_ratio % *
-DNS Lookups Per Second -- $lookups_per_second
-
-* Value reprensents 10 second average.
-__EOF
-}
-
-
-# Command: show:http
-#
-sub show_http {
- my $http_enabled = get_on_off("proxy.config.http.cache.http");
- my $http_server = get_string("proxy.config.http.server_ports");
- my $keepalive_timeout_in = get_int("proxy.config.http.keep_alive_no_activity_timeout_in");
- my $keepalive_timeout_out = get_int("proxy.config.http.keep_alive_no_activity_timeout_out");
- my $inactivity_timeout_in = get_int("proxy.config.http.transaction_no_activity_timeout_in");
- my $inactivity_timeout_out = get_int("proxy.config.http.transaction_no_activity_timeout_out");
- my $activity_timeout_in = get_int("proxy.config.http.transaction_active_timeout_in");
- my $activity_timeout_out = get_int("proxy.config.http.transaction_active_timeout_out");
- my $max_alts = get_int("proxy.config.cache.limits.http.max_alts");
- my $remove_from = get_int("proxy.config.http.anonymize_remove_from");
- my $remove_referer = get_int("proxy.config.http.anonymize_remove_referer");
- my $remove_user_agent = get_int("proxy.config.http.anonymize_remove_user_agent");
- my $remove_cookie = get_int("proxy.config.http.anonymize_remove_cookie");
- my $other_header_list = get_string("proxy.config.http.anonymize_other_header_list");
- my $insert_client_ip = get_int("proxy.config.http.insert_client_ip");
- my $remove_client_ip = get_int("proxy.config.http.anonymize_remove_client_ip");
- my $global_user_agent = get_string("proxy.config.http.global_user_agent_header");
-
- # A bunch of strings here are optional...
- my $optional = "";
-
- if ($remove_from || $remove_referer || $remove_user_agent || $remove_cookie) {
- $optional = "Remove the following common headers -- \n";
- $optional .= "From\n" if $remove_from;
- $optional .= "Referer\n" if $remove_referer;
- $optional .= "User-Agent\n" if $remove_user_agent;
- $optional .= "Cookie\n" if $remove_cookie;
- }
-
- if ($other_header_list ne "NULL") {
- $optional .= "Remove additional headers ----- $other_header_list\n";
- }
-
- if ($insert_client_ip) {
- $optional .= "Insert Client IP Address into Header\n";
- }
-
- if ($remove_client_ip) {
- $optional .= "Remove Client IP Address from Header\n";
- }
-
- if ($global_user_agent ne "NULL") {
- $optional .= "Set User-Agent header to $global_user_agent\n";
- }
-
-
- print <<__EOF
-HTTP Caching ------------------ $http_enabled
-HTTP Server Port(s) ----------- $http_server
-Keep-Alive Timeout Inbound ---- $keepalive_timeout_in s
-Keep-Alive Timeout Outbound --- $keepalive_timeout_out s
-Inactivity Timeout Inbound ---- $inactivity_timeout_in s
-Inactivity Timeout Outbound --- $inactivity_timeout_out s
-Activity Timeout Inbound ------ $activity_timeout_in s
-Activity Timeout Outbound ----- $activity_timeout_out s
-Maximum Number of Alternates -- $max_alts
-${optional}
-__EOF
-}
-
-
-# Command: show:http-stats
-#
-sub show_http_stats {
- my $user_agent_response_document_total_size = get_with_si("proxy.process.http.user_agent_response_document_total_size", "M");
- my $user_agent_response_header_total_size = get_with_si("proxy.process.http.user_agent_response_header_total_size", "M");
- my $current_client_connections = get_int("proxy.process.http.current_client_connections");
- my $current_client_transactions = get_int("proxy.process.http.current_client_transactions");
- my $origin_server_response_document_total_size = get_with_si("proxy.process.http.origin_server_response_document_total_size", "M");
- my $origin_server_response_header_total_size = get_with_si("proxy.process.http.origin_server_response_header_total_size", "M");
- my $current_server_connections = get_int("proxy.process.http.current_server_connections");
- my $current_server_transactions = get_int("proxy.process.http.current_server_transactions");
-
- print <<__EOF
-Total Document Bytes ----- $user_agent_response_document_total_size MB
-Total Header Bytes ------- $user_agent_response_header_total_size MB
-Total Connections -------- $current_client_connections
-Transactins In Progress -- $current_client_transactions
---Server--
-Total Document Bytes ----- $origin_server_response_document_total_size MB
-Total Header Bytes ------- $origin_server_response_header_total_size MB
-Total Connections -------- $current_server_connections
-Transactins In Progress -- $current_server_transactions
-__EOF
-}
-
-
-# Command: show:http-trans-stats
-#
-sub show_http_trans_stats {
- my $frac_avg_10s_hit_fresh = get_pcnt("proxy.node.http.transaction_frac_avg_10s.hit_fresh");
- my $frac_avg_10s_hit_revalidated = get_pcnt("proxy.node.http.transaction_frac_avg_10s.hit_revalidated");
- my $frac_avg_10s_miss_cold = get_pcnt("proxy.node.http.transaction_frac_avg_10s.miss_cold");
- my $frac_avg_10s_miss_not_cachable = get_pcnt("proxy.node.http.transaction_frac_avg_10s.miss_not_cacheable");
- my $frac_avg_10s_miss_changed = get_pcnt("proxy.node.http.transaction_frac_avg_10s.miss_changed");
- my $frac_avg_10s_miss_client_no_cache = get_pcnt("proxy.node.http.transaction_frac_avg_10s.miss_client_no_cache");
- my $frac_avg_10s_errors_connect_failed = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.connect_failed");
- my $frac_avg_10s_errors_other = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.other");
- my $frac_avg_10s_errors_aborts = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.aborts");
- my $frac_avg_10s_errors_possible_aborts = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.possible_aborts");
- my $frac_avg_10s_errors_early_hangups = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.early_hangups");
- my $frac_avg_10s_errors_empty_hangups = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.empty_hangups");
- my $frac_avg_10s_errors_pre_accept_hangups = get_pcnt("proxy.node.http.transaction_frac_avg_10s.errors.pre_accept_hangups");
- my $frac_avg_10s_other_unclassified = get_pcnt("proxy.node.http.transaction_frac_avg_10s.other.unclassified");
-
- my $msec_avg_10s_hit_fresh = get_int("proxy.node.http.transaction_msec_avg_10s.hit_fresh");
- my $msec_avg_10s_hit_revalidated = get_int("proxy.node.http.transaction_msec_avg_10s.hit_revalidated");
- my $msec_avg_10s_miss_cold = get_int("proxy.node.http.transaction_msec_avg_10s.miss_cold");
- my $msec_avg_10s_miss_not_cachable = get_int("proxy.node.http.transaction_msec_avg_10s.miss_not_cacheable");
- my $msec_avg_10s_miss_changed = get_int("proxy.node.http.transaction_msec_avg_10s.miss_changed");
- my $msec_avg_10s_miss_client_no_cache = get_int("proxy.node.http.transaction_msec_avg_10s.miss_client_no_cache");
- my $msec_avg_10s_errors_connect_failed = get_int("proxy.node.http.transaction_msec_avg_10s.errors.connect_failed");
- my $msec_avg_10s_errors_other = get_int("proxy.node.http.transaction_msec_avg_10s.errors.other");
- my $msec_avg_10s_errors_aborts = get_int("proxy.node.http.transaction_msec_avg_10s.errors.aborts");
- my $msec_avg_10s_errors_possible_aborts = get_int("proxy.node.http.transaction_msec_avg_10s.errors.possible_aborts");
- my $msec_avg_10s_errors_early_hangups = get_int("proxy.node.http.transaction_msec_avg_10s.errors.early_hangups");
- my $msec_avg_10s_errors_empty_hangups = get_int("proxy.node.http.transaction_msec_avg_10s.errors.empty_hangups");
- my $msec_avg_10s_errors_pre_accept_hangups = get_int("proxy.node.http.transaction_msec_avg_10s.errors.pre_accept_hangups");
- my $msec_avg_10s_other_unclassified = get_int("proxy.node.http.transaction_msec_avg_10s.other.unclassified");
-
- print <<__EOF
-HTTP Transaction Frequency and Speeds
-Transaction Type Frequency Speed(ms)
---Hits--
-Fresh ----------------------- $frac_avg_10s_hit_fresh % $msec_avg_10s_hit_fresh
-Stale Revalidated ----------- $frac_avg_10s_hit_revalidated % $msec_avg_10s_hit_revalidated
---Misses--
-Now Cached ------------------ $frac_avg_10s_miss_cold % $msec_avg_10s_miss_cold
-Server No Cache ------------- $frac_avg_10s_miss_not_cachable % $msec_avg_10s_miss_not_cachable
-Stale Reloaded -------------- $frac_avg_10s_miss_changed % $msec_avg_10s_miss_changed
-Client No Cache ------------- $frac_avg_10s_miss_client_no_cache % $msec_avg_10s_miss_client_no_cache
---Errors--
-Connection Failures --------- $frac_avg_10s_errors_connect_failed % $msec_avg_10s_errors_connect_failed
-Other Errors ---------------- $frac_avg_10s_errors_other % $msec_avg_10s_errors_other
---Aborted Transactions--
-Client Aborts --------------- $frac_avg_10s_errors_aborts % $msec_avg_10s_errors_aborts
-Questionable Client Aborts -- $frac_avg_10s_errors_possible_aborts % $msec_avg_10s_errors_possible_aborts
-Partial Request Hangups ----- $frac_avg_10s_errors_early_hangups % $msec_avg_10s_errors_early_hangups
-Pre-Request Hangups --------- $frac_avg_10s_errors_empty_hangups % $msec_avg_10s_errors_empty_hangups
-Pre-Connect Hangups --------- $frac_avg_10s_errors_pre_accept_hangups % $msec_avg_10s_errors_pre_accept_hangups
---Other Transactions--
-Unclassified ---------------- $frac_avg_10s_other_unclassified % $msec_avg_10s_other_unclassified
-__EOF
-}
-
-
-# Command: show:logging
-#
-sub show_logging {
- my $logging_enabled = get_switch("proxy.config.log.logging_enabled", {
- "0" => "no logging",
- "1" => "errors only",
- "2" => "transactions only",
- "3" => "errors and transactions",
- "default" => "invalid mode"});
-
- my $log_space = get_int("proxy.config.log.max_space_mb_for_logs");
- my $headroom_space = get_int("proxy.config.log.max_space_mb_headroom");
-
- my $collation_mode = get_on_off("proxy.local.log.collation_mode");
- my $collation_host = get_string("proxy.config.log.collation_host");
- my $collation_port = get_int("proxy.config.log.collation_port");
- my $collation_secret = get_string("proxy.config.log.collation_secret");
- my $host_tag = get_on_off("proxy.config.log.collation_host_tagged");
- my $preproc_threads = get_on_off("proxy.config.log.collation_preproc_threads");
- my $orphan_space = get_int("proxy.config.log.max_space_mb_for_orphan_logs");
-
- my $rolling = get_on_off("proxy.config.log.rolling_enabled");
- my $roll_offset_hr = get_int("proxy.config.log.rolling_offset_hr");
- my $roll_interval = get_int("proxy.config.log.rolling_interval_sec");
- my $auto_delete = get_on_off("proxy.config.log.auto_delete_rolled_files");
-
- print <<__EOF
-Logging Mode ----------------------------- $logging_enabled
-
-Management
- Log Space Limit ------------------------ $log_space MB
- Log Space Headroom --------------------- $headroom_space MB
-
-Log Collation ---------------------------- $collation_mode
- Host ----------------------------------- $collation_host
- Port ----------------------------------- $collation_port
- Secret --------------------------------- $collation_secret
- Host Tagged ---------------------------- $host_tag
- Preproc Threads ------------------------ $preproc_threads
- Space Limit for Orphan Files ----------- $orphan_space MB
-
-Rolling ---------------------------------- $rolling
- Roll Offset Hour ----------------------- $roll_offset_hr
- Roll Interval -------------------------- $roll_interval s
- Auto-delete rolled files (low space) --- $auto_delete
-__EOF
-}
-
-
-# Command: show:logging-stats
-#
-sub show_logging_stats {
- my $log_file_open = get_int("proxy.process.log.log_files_open");
- my $log_files_space_used = get_int("proxy.process.log.log_files_space_used");
- my $event_log_access = get_int("proxy.process.log.event_log_access");
- my $event_log_access_skip = get_int("proxy.process.log.event_log_access_skip");
- my $event_log_error = get_int("proxy.process.log.event_log_error");
-
- print <<__EOF
-Current Open Log Files ----------- $log_file_open
-Space Used For Log Files --------- $log_files_space_used
-Number of Access Events Logged --- $event_log_access
-Number of Access Events Skipped -- $event_log_access_skip
-Number of Error Events Logged ---- $event_log_error
-__EOF
-}
-
-
-# Command: show:parent
-#
-sub show_parent {
- my $param = shift || "";
-
- if ($param eq "") {
- my $parent_enabled = get_on_off("proxy.config.http.parent_proxy_routing_enable");
- my $parent_cache = get_string("proxy.config.http.parent_proxies");
-
- print <<__EOF
-Parent Caching -- $parent_enabled
-Parent Cache ---- $parent_cache
-__EOF
- } elsif ($param eq "rules") {
- print "parent.config rules\n";
- print "-------------------\n";
- print_config("parent.config");
- } else {
- param_die($param, "show:parent");
- }
-}
-
-
-# Command: show:proxy
-#
-sub show_proxy {
- my $name = get_string("proxy.config.proxy_name");
- print "Name -- ", $name, "\n";
-}
-
-
-# Command: show:proxy-stats
-#
-sub show_proxy_stats {
- my $cache_hit_ratio = get_pcnt("proxy.node.cache_hit_ratio");
- my $cache_hit_mem_ratio = get_pcnt("proxy.node.cache_hit_mem_ratio");
- my $bandwidth_hit_ratio = get_pcnt("proxy.node.bandwidth_hit_ratio");
- my $percent_free = get_pcnt("proxy.node.cache.percent_free");
-
- my $current_server_connection = get_int("proxy.node.current_server_connections");
- my $current_client_connection = get_int("proxy.node.current_client_connections");
- my $current_cache_connection = get_int("proxy.node.current_cache_connections");
-
- my $client_throughput_out = get_float("proxy.node.client_throughput_out");
- my $xacts_per_second = get_float("proxy.node.user_agent_xacts_per_second");
-
- print <<__EOF
-Document Hit Rate -------- $cache_hit_ratio % *
-Ram cache Hit Rate ------- $cache_hit_mem_ratio % *
-Bandwidth Saving --------- $bandwidth_hit_ratio % *
-Cache Percent Free ------- $percent_free %
-Open Server Connections -- $current_server_connection
-Open Client Connections -- $current_client_connection
-Open Cache Connections --- $current_cache_connection
-Client Throughput -------- $client_throughput_out MBit/Sec
-Transaction Per Second --- $xacts_per_second
-
-* Value represents 10 second average.
-__EOF
-}
-
-
-# Command: show:remap
-#
-sub show_remap {
- print "remap.config rules\n";
- print "-------------------\n";
- print_config("remap.config");
-}
-
-
-# Command: show:security
-#
-sub show_security {
- print "Traffic Server Access\n";
- print "-------------------\n";
- print_config("ip_allow.config");
-}
-
-
-# Command: show:socks
-#
-sub show_socks {
- my $param = shift || "";
-
- if ($param eq "") {
- my $socks_enabled = get_on_off("proxy.config.socks.socks_needed");
- my $version = get_int("proxy.config.socks.socks_version");
- my $default_servers = get_string("proxy.config.socks.default_servers");
- my $accept_enabled = get_on_off("proxy.config.socks.accept_enabled");
- my $accept_port = get_int("proxy.config.socks.accept_port");
-
- print <<__EOF
-SOCKS -------------------- $socks_enabled
-SOCKS Version ------------ $version
-SOCKS Default Servers ---- $default_servers
-SOCKS Accept Enabled ----- $accept_enabled
-SOCKS Accept Port -------- $accept_port
-__EOF
- } elsif ($param eq "rules") {
- print "socks.config rules\n";
- print "------------------\n";
- print_config("socks.config");
- } else {
- param_die($param, "show:socks");
- }
-}
-
-
-# Command: show:ssl
-#
-sub show_ssl {
- my $connect_ports = get_string("proxy.config.http.connect_ports");
- print "Restrict CONNECT connections to Ports -- ", $connect_ports, "\n";
-}
-
-
-# Command: show:status
-#
-sub show_status {
- print "Not implemented, use 'traffic_ctl server status' instead\n";
-}
-
-
-# Command: show:version
-#
-sub show_version {
- my $ts_version = get_string("proxy.process.version.server.short");
- my $tm_version = get_string("proxy.node.version.manager.short");
-
- print <<__EOF
-traffic_server version --- $ts_version
-traffic_manager version -- $tm_version
-__EOF
-}
-
-
-# Command: show:virtual-ip
-#
-sub show_virtual_ip {
- print <<__EOF
-Not supported
-__EOF
-}
-
-# Basic help function
-sub help {
- print <<__EOF
-Usage: traffic_shell <command> [argument]
-
- show:cache [rules | storage]
- show:cache-stats
- show:dns-resolver
- show:dns-stats
- show:hostdb
- show:hostdb-stats
- show:http
- show:http-stats
- show:http-trans-stats
- show:logging
- show:logging-stats
- show:parent [rules]
- show:proxy
- show:proxy-stats
- show:remap
- show:scheduled-update [rules]
- show:security
- show:socks [rules]
- show:ssl
- show:status
- show:version
- show:virtual-ip
- help
-__EOF
-}
-
-
-#
-# Dispatcher / command line
-#
-my %COMMANDS = ( "show:alarms", \&show_alarms,
- "show:cache", \&show_cache,
- "show:cache-stats", \&show_cache_stats,
- "show:dns-resolver", \&show_dns_resolver,
- "show:dns-stats", \&show_dns_stats,
- "show:hostdb", \&show_hostdb,
- "show:hostdb-stats", \&show_hostdb_stats,
- "show:http", \&show_http,
- "show:http-stats", \&show_http_stats,
- "show:http-trans-stats", \&show_http_trans_stats,
- "show:logging", \&show_logging,
- "show:logging-stats", \&show_logging_stats,
- "show:parent", \&show_parent,
- "show:proxy", \&show_proxy,
- "show:proxy-stats", \&show_proxy_stats,
- "show:remap", \&show_remap,
- "show:scheduled-update", \&show_scheduled_update,
- "show:security", \&show_security,
- "show:socks", \&show_socks,
- "show:ssl", \&show_ssl,
- "show:status", \&show_status,
- "show:version", \&show_version,
- "show:virtual-ip", \&show_virtual_ip,
- "help", \&help,
- "show", \&help);
-
-if ($#ARGV >= 0) {
- my $cmd = shift;
-
- die "Not valid command: $cmd" unless exists($COMMANDS{$cmd});
- my $func = $COMMANDS{$cmd};
-
- $func->(@ARGV);
-} else {
- use Term::ReadLine;
- my $term = Term::ReadLine->new('Apache Traffic Server');
-
- my $prompt = "trafficserver> ";
- my $OUT = $term->OUT || \*STDOUT;
-
- while (defined ($_ = $term->readline($prompt))) {
- chomp;
- my ($cmd, @args) = split;
-
- if (exists($COMMANDS{$cmd})) {
- my $func = $COMMANDS{$cmd};
- $func->(@args);
- print "\n";
- } else {
- print "invalid command name \"$cmd\"\n";
- }
- $term->addhistory($_) if /\S/;
- }
-}
--
To stop receiving notification emails like this one, please contact
zwoop@apache.org.