Welcome, guest | Sign In | My Account | Store | Cart
# 
# Set PMI Request metrics on.
#
#####################################################################
# Patrick Finnegan 21/10/2005.  V1.
#####################################################################
#####################################################################
# Get current PMI details.
####################################################################
proc getPMI
{ } {

   puts
"\n getPMI \n "

   
global AdminConfig

   
set PMIRequestMetricsI [ $AdminConfig list PMIRequestMetrics ]

   
# get current PMI settings.

   
set msg "Current PMI Settings are:\n"

   
set enable      [ $AdminConfig showAttribute $PMIRequestMetricsI enable     ]
   
set enableARM   [ $AdminConfig showAttribute $PMIRequestMetricsI enableARM  ]
   
set traceLevel  [ $AdminConfig showAttribute $PMIRequestMetricsI traceLevel ]
   
set filtersList [ split [ $AdminConfig showAttribute $PMIRequestMetricsI filters ] ]
   
   puts
[ format "%-5s %s"  " " $msg  ]
       
   puts
[ format "%-10s %-20s %-40s"  " " "PMI Enabled:" $enable      ]
   puts
[ format "%-10s %-20s %-40s"  " " enableARM      $enableARM   ]
   puts
[ format "%-10s %-20s %-40s"  " " traceLevel     $traceLevel  ]

   
# filter list is not properly quoted
   
# strip trailing bracket off last element.
   
   
set lastElement [ string trim [ lindex $filtersList end  ] \} ]
   
set filtersList [ lreplace $filtersList end end $lastElement ]

   
foreach i $filtersList {

     
#puts [ format "\n%-15s %-20s %-40s"  " " "filter is" $i ]

     
set type         [ $AdminConfig showAttribute $i type         ]
     
set enableF      [ $AdminConfig showAttribute $i enable       ]
     
set filterValues [ split [ $AdminConfig showAttribute $i filterValues ] ]

      puts  
[ format "\n%-10s %-20s %-40s"  " "  "Filter Type"    $type    ]
      puts  
[ format "%-10s %-20s %-40s"    " "  "Filter Setting" $enableF ]

      puts  
[ format "%-15s %-20s"    " "  "Filter Details" ]

     
# filterValues list is not properly quoted
     
# strip trailing bracket off last element.

     
set lastElement  [ string trim [ lindex $filterValues end ] \} ]
     
     
set filterValues [ lreplace $filterValues end end $lastElement ]

     
foreach i $filterValues {

         
set value   [ $AdminConfig showAttribute $i value  ]
         
set enableV [ $AdminConfig showAttribute $i enable ]

         puts
[ format "%-20s %-10s %-10s" " "    value   $value   ]
         puts
[ format "%-20s %-10s %-10s"   " "  enable  $enableV ]

     
}

   
}

}
####################################################################
# Set New PMI Parms.
# Switch on PMI and add new URIs to URI list.
####################################################################
proc setPMI
{ uriList } {

   puts
"\n setPMI \n "

   
global AdminConfig

   
# modify request metrics.

   
set PMIRequestMetricsI [ $AdminConfig list PMIRequestMetrics ]

   
set enable      [ list enable     true   ]
   
set enableARM   [ list enableARM  false  ]
   
set traceLevel  [ list traceLevel HOPS   ]

   
set attrs       [ list $enable $enableARM $traceLevel ]

   puts
"\n Modify PMIRequestMetrics with attributes $attrs \n"
   $AdminConfig modify $PMIRequestMetricsI $attrs

   
# modify URI filter

   
set filtersList [ split [ $AdminConfig showAttribute $PMIRequestMetricsI filters ] ]
   
   
# filter list is not properly quoted
   
# strip trailing bracket off last element.
   
   
set lastElement [ string trim [ lindex $filtersList end  ] \} ]
   
set filtersList [ lreplace $filtersList end end $lastElement ]

   
#get uri filter id.

   
foreach filterId $filtersList {

     
set type [ $AdminConfig showAttribute $filterId type ]
 
     
if { [ string match $type "URI" ] == 1 } {

         
#enable URI filter

         
set enable [ list enable true ]

         
set attrs  [ list $enable     ]

          puts
"\n Modify PMIRMFilter URI with $attrs \n"
          $AdminConfig modify $filterId $attrs

         
#set new filter values

         
set filterValues [ split [ $AdminConfig showAttribute $filterId filterValues ] ]

         
# filter value list is not properly quoted
         
# strip trailing bracket.

         
set lastElement  [ string trim [ lindex $filterValues end ] \} ]
         
         
set filterValues [ lreplace $filterValues end end $lastElement ]

         
# check whether any of the new URIs already exist in the filter value list
         
# if so delete from the update list.

         
foreach i $filterValues {

             
set value [ $AdminConfig showAttribute $i value  ]

             
catch { lsearch -glob $uriList $value } r

             
if { $r == -1 } {

                 
set continue true

             
} else {

                 
set uriList [ lreplace $uriList $r $r ]

             
}

         
}

         
foreach i $uriList {

             
set value  [ list value $i    ]
             
set enable [ list enable true ]

             
set attrList [ list $value $enable ]

             puts
"\n Create PMIRMFilterValue with attributes $attrList \n"
             $AdminConfig create
PMIRMFilterValue $filterId $attrList

         
}
             
     
}

   
}

}
####################################################################
# Main Control.
####################################################################

# Assume one cell, one deployment manager node and one application node.

set cellId [ lindex [ $AdminConfig list Cell ] 0 ]
set nodes  [ $AdminConfig list Node ]

# delete the manager node from the list.

set manIndex   [ lsearch -glob $nodes *Manager* ]
set nodeId     [ lindex [ lreplace $nodes $manIndex $manIndex ] 0 ]

# get name attribute for cell and application node

set cellName [ $AdminConfig showAttribute $cellId name ]
set nodeName [ $AdminConfig showAttribute $nodeId name ]

# set URI list.

lappend uriList
/contextRoot1
lappend uriList
/contextRoot2
lappend uriList
/contextroot3
lappend uriList
/contextroot4
lappend uriList
/contextroot5

####################################################################
# setPMIOn  
####################################################################

if { [ catch { getPMI } r ] == 0 } {

     
if { [ catch { setPMI $uriList } r ] == 0 } {

        puts
"\n************************************"
        puts
"Performance monitoring set successfully"
        puts
"************************************\n"

        puts
"\n###### Admin Config Save ######\n"
        $AdminConfig save

     
} else {

        puts
"\n************************************"
        puts
"\nFailed to apply Performance Monitoring settings\n"
        puts $r
        puts
"************************************\n"

     
}

} else {
        puts
"\n************************************"
        puts
"\nFailed to apply Performance Monitoring settings\n"
        puts $r
        puts
"************************************\n"
}

History