Wisdom on the use and operation of condor_stats, based on e-mail by Alan De Smet during December 2003 and January 2004. *: condor_stats requires that the collector that you're querying have KEEP_POOL_HISTORY turned on. + *: The first field in the output from resourcequery is a percentage through the requested data set. Thus the first entry will have a value close to 0.0, while the last will be close to 100.0. + *: If you want time stamps (instead of percentage of data sets), use "-orgformat" which will present the timestamps in seconds since the Unix epoch. The fields are: Timestamp in seconds, machine name, ":", idle time in seconds, load, and the machine state encoded as a number. The machine state coding is: + 1:: unclaimed 1:: matched 1:: claimed @@ -15,8 +18,11 @@ 1:: backfill *:Note that the machine state coding is replicated in several locations. In addition to adding a new machine state in src/ condor_includes/ condor_state.h, the new machine state must also be added to the Collector View server in src/condor_collector.V6/view_server.h, src/condor_collector.V6/view_server.C; and to condor_stats in src/condor_tools/stats.C. + *: The -to and -from options measure time from the start of the date. So "-from 11 30 2003 -to 12 1 2003" will show data for the 30th of November. + *: Actually generating the results is done in the collector code, not in condor_stats. In most cases whatever condor_collector sends back is dumped directly to the output. The only exception is -resourcequery but not -orgformat, in that one case the the output is tweaked (to convert machine states from numbers to strings). condor_collector.V6/view_server.C is where most of the logic is. + *: The "=CondorView= server" shell scripts that generate the HTML pages on the View Server pages were re-written in C a long time ago by a student hourly. I think the source is here: /p/condor/workspaces/jepsen/src_java/condor/condorview/viewNT @@ -25,25 +31,25 @@ *: "Query type" consisists of one of the following options: -resourcelist, -resourcequery, -resgrouplist, -resgroupquery, -userlist, -userquery, -usergrouplist, -usergroupquery, -ckptlist, -ckptquery. *:: You must have one query type specified. *:: You can specify only one query type. If multiple queries are specified, only the last one takes effect. (In the future it is likely that condor_stats will exit with an error in this case.) + *: The non-"list" options require another argument specifying the query. There doesn't appear to be a way to default to the local machine or the current user. The argument is the exact second field in the record. See the -orgformat notes below, or this summary. The examples below are confirmed to work on our pool (which is why I chose them) -{code} - -userquery email_address/submit_machine - Example: adesmet@cs.wisc.edu/puffin.cs.wisc.edu - - -resourcequery hostname - Example: p22.cs.wisc.edu - - -resgroupquery Architecture/Operating System or "Total" - Example: INTEL/LINUX - Example: Total - - -usergroupquery email_address or "Total" - Example: adesmet@cs.wisc.edu - Example: Total - - -ckptquery hostname - Example: toucan.cs.wisc.edu -{endcode} + +*::-userquery email_address/submit_machine +*:::Example: adesmet@cs.wisc.edu/puffin.cs.wisc.edu + +*::-resourcequery hostname +*:::Example: p22.cs.wisc.edu + +*::-resgroupquery Architecture/Operating System or "Total" +*:::Example: INTEL/LINUX +*:::Example: Total + +*::-usergroupquery email_address or "Total" +*:::Example: adesmet@cs.wisc.edu +*:::Example: Total + +*::-ckptquery hostname +*:::Example: toucan.cs.wisc.edu *: Things that will cause condor_stats to abort with the usage message: *:: Failure to specify a query type. @@ -51,6 +57,7 @@ *:: A start date prior to the Unix epoch (Midnight UTC, Jan 1, 1970). This would typically be set with -from *:: A finish date in that is in the future. This would typically be set with -to *:: A finish date before the start date. + *: All queries have a time range. If not specified, the end time defaults to "now", the start time defaults to 1 day (86,400 seconds) ago. Thus, "-lastday" is effectively the default time range. *:: You can only specify the start time once. Similarlly with the end time. If multiple times are specified, only the last one takes effect. -to sets the start time. -from sets the end time. The following set both start and end time: lastday, lastweek, lastmonth, lasthours.