5 =head1 NAME $RCSfile: systemdetails.cgi,v $
15 Andrew DeFaria <Andrew@ClearSCM.com>
23 Mon Oct 25 11:10:47 PDT 2008
27 $Date: 2011/01/28 21:31:25 $
33 Usage systemdetails.cgi: [-u|sage] [-ve|rbose] [-d|ebug]
38 -u|sage: Displays usage
40 -d|ebug: Output debug messages
42 -s|ystem <systemname>: Name of system to display details for
46 This script displays the details for the given system
55 use CGI qw (:standard :cgi-lib *table start_Tr end_Tr);
56 use CGI::Carp 'fatalsToBrowser';
58 use lib "$FindBin::Bin/lib", "$FindBin::Bin/../lib";
62 use Clearcase::Server;
66 my $VERSION = '$Revision: 1.22 $';
67 ($VERSION) = ($VERSION =~ /\$Revision: (.*) /);
69 my $name = param ('system');
71 my $subtitle = 'System Details';
75 sub DisplayTable ($) {
78 my $unknown = font {-class => 'unknown'}, 'Unknown';
81 my $systemName = setField ($server->name);
82 my $ccVer = setField ($server->ccVer);
83 my $osVer = setField ($server->osVer);
84 my $hardware = setField ($server->hardware);
85 my $licenseHost = setField ($server->licenseHost);
86 my $registryHost = setField ($server->registryHost);
87 my $registryRegion = setField ($server->registryRegion);
88 my $mvfsBlocksPerDirectory = setField ($server->mvfsBlocksPerDirectory);
89 my $mvfsCleartextMnodes = setField ($server->mvfsCleartextMnodes);
90 my $mvfsDirectoryNames = setField ($server->mvfsDirectoryNames);
91 my $mvfsFileNames = setField ($server->mvfsFileNames);
92 my $mvfsFreeMnodes = setField ($server->mvfsFreeMnodes);
93 my $mvfsInitialMnodeTableSize = setField ($server->mvfsInitialMnodeTableSize);
94 my $mvfsMinCleartextMnodes = setField ($server->mvgsMinCleartextMnodes);
95 my $mvfsMinFreeMnodes = setField ($server->mvfsMinFreeMnodes);
96 my $mvfsNamesNotFound = setField ($server->mvfsNamesNotFound);
97 my $mvfsRPCHandles = setField ($server->mvfsRPCHandles);
98 my $interopRegion = setField ($server->interopRegion);
99 my $scalingFactor = setField ($server->scalingFactor);
100 my $cleartextIdleLifetime = setField ($server->cleartextIdleLifetime);
101 my $vobHashTableSize = setField ($server->vobHashTableSize);
102 my $cleartextHashTableSize = setField ($server->cleartextHashTableSize);
103 my $dncHashTableSize = setField ($server->dncHashTableSize);
104 my $threadHashTableSize = setField ($server->threadHashTableSize);
105 my $processHashTableSize = setField ($server->processHashTableSize);
107 display h2 {class => 'center'}, 'Clearcase Information';
109 display start_table {cellspacing => 1, class => 'main'};
112 display th {class => 'label'}, 'Name:';
113 display td {class => 'data', colspan => 4}, $systemName;
114 display th {class => 'label'}, 'Registry Host:';
115 display td {class => 'data', colspan => 4},
116 a {href => "systemdetails.cgi?server=$registryHost"}, $registryHost;
120 display th {class => 'label'}, 'Registry Region:';
121 display td {class => 'data', -colspan => 4}, $registryRegion;
122 display th {class => 'label'}, 'License Host:';
123 display td {class => 'data', colspan => 4},
124 a {-href => "systemdetails.cgi?server=$licenseHost"}, $licenseHost;
128 display th {class => 'label'}, 'Clearcase Version:';
129 display td {class => 'data', colspan => 4}, $ccVer;
130 display th {class => 'label'}, 'OS Version:';
131 display td {class => 'data', colspan => 4}, $osVer;
135 display th {class => 'label'}, 'Interop Region:';
136 display td {class => 'dataRight'}, $interopRegion;
137 display th {class => 'label'}, 'Scaling Factor:';
138 display td {class => 'dataRight'}, $scalingFactor;
139 display th {class => 'label'}, 'Clrtxt Idle Lifetime:';
140 display td {class => 'dataRight'}, $cleartextIdleLifetime;
141 display th {class => 'label'}, 'VOB Hash:';
142 display td {class => 'dataRight', -colspan => 3}, $vobHashTableSize;
146 display th {class => 'label'}, 'Clrtxt Hash:';
147 display td {class => 'dataRight'}, $cleartextHashTableSize;
148 display th {class => 'label'}, 'DNC Hash:';
149 display td {class => 'dataRight'}, $dncHashTableSize;
150 display th {class => 'label'}, 'Thread Hash:';
151 display td {class => 'dataRight'}, $threadHashTableSize;
152 display th {class => 'label'}, 'Process Hash:';
153 display td {class => 'dataRight', colspan => 3}, $processHashTableSize;
157 display th {class => 'labelCentered', -colspan => 10}, 'MVFS Parameters';
161 display th {class => 'label'}, 'Blocks/Dir:';
162 display td {class => 'dataRight'}, $mvfsBlocksPerDirectory;
163 display th {class => 'label'}, 'Clrtxt Mnodes:';
164 display td {class => 'dataRight'}, $mvfsCleartextMnodes;
165 display th {class => 'label'}, 'DirNames:';
166 display td {class => 'dataRight'}, $mvfsDirectoryNames;
167 display th {class => 'label'}, 'FileNames:';
168 display td {class => 'dataRight'}, $mvfsFileNames;
169 display th {class => 'label'}, 'Free Mnodes:';
170 display td {class => 'dataRight'}, $mvfsFreeMnodes;
174 display th {class => 'label'}, 'Init Mnodes:';
175 display td {class => 'dataRight'}, $mvfsInitialMnodeTableSize;
176 display th {class => 'label'}, 'Min Clrtxt Mnodes:';
177 display td {class => 'dataRight'}, $mvfsMinCleartextMnodes;
178 display th {class => 'label'}, 'Min Free Mnodes:';
179 display td {class => 'dataRight'}, $mvfsMinFreeMnodes;
180 display th {class => 'label'}, 'Names Not Found:';
181 display td {class => 'dataRight'}, $mvfsNamesNotFound;
182 display th {class => 'label'}, 'RPC Handles:';
183 display td {class => 'dataRight'}, $mvfsRPCHandles;
193 usage => sub { Usage },
194 verbose => sub { set_verbose },
195 debug => sub { set_debug },
196 'server=s' => \$name,
197 ) or Usage 'Invalid parameter';
200 verbose "$FindBin::Script v$VERSION";
202 my $title = $subtitle;
203 $title .= $name ? ": $name" : '';
205 $clearadm = Clearadm->new;
207 $subtitle = h1 {class => 'center'}, 'System Details: ' . ucfirst $name;
212 display 'System is required';
216 display h1 {class => 'center'}, $subtitle;
220 #my $server = new Clearcase::Server ($name);
222 #DisplayTable $server;
228 =head1 CONFIGURATION AND ENVIRONMENT
230 DEBUG: If set then $debug is set to this level.
232 VERBOSE: If set then $verbose is set to this level.
234 TRACE: If set then $trace is set to this level.
242 L<CGI::Carp|CGI::Carp>
246 L<Getopt::Long|Getopt::Long>
248 =head2 ClearSCM Perl Modules
263 <a href="http://clearscm.com/php/scm_man.php?file=clearadm/lib/Clearadm.pm">Clearadm</a><br>
264 <a href="http://clearscm.com/php/scm_man.php?file=clearadm/lib/ClearadmWeb.pm">ClearadmWeb</a><br>
265 <a href="http://clearscm.com/php/scm_man.php?file=lib/Clearcase/Server.pm">Clearcase::Server</a><br>
266 <a href="http://clearscm.com/php/scm_man.php?file=lib/Display.pm">Display</a><br>
267 <a href="http://clearscm.com/php/scm_man.php?file=lib/Utils.pm">Utils</a><br>
272 =head1 BUGS AND LIMITATIONS
274 There are no known bugs in this script
276 Please report problems to Andrew DeFaria <Andrew@ClearSCM.com>.
278 =head1 LICENSE AND COPYRIGHT
280 Copyright (c) 2010, ClearSCM, Inc. All rights reserved.