From blair at akamai.com Fri Mar 10 18:44:23 2000 From: blair at akamai.com (Blair Zajac) Date: Fri, 10 Mar 2000 18:44:23 -0800 Subject: [Orca-announce] Orca 0.26 released Message-ID: <38C9B307.B5327F82@akamai.com> Hello, I've just finished the 0.26 version of Orca. This has a lot of work put in it, including notable performance enhancements and some major code restructuring to make it easier to understand and edit. You can get it from http://www.gps.caltech.edu/~blair/orca/ Here's the change list from the previous release. Blair 1) Due to some changes at onelist.com, the name of this mailing must change. The -help at the end of orca-help is being reserved for the mailing list named "orca". As such, I'm renaming this list to orca-users at onelist.com. 2) Major speedup in starting Orca when many different source files exist and the first line of the file is used to tell Orca what columns of data there are. Now Orca caches this information in the state file so that the source data files do no have to be opened everytime Orca starts up. This has a significant speed improvement when the file is compressed, since a separate process is normally spawned to read the file. 3) Reduce the number of size of the open file descriptor cache to 100 open file descriptors since the change in 2) reduces the need for as many open file descriptors. 4) A new configuration file parameter named filename_compare was added that let's Orca determine when it can flush data from loaded source files. This prevents Orca from loading in all of the data and then flushing it to the disk when the amount of new data is large. See the Orca documentation for more information. 5) Allow Orca to work with RRDtool versions newer than 1.0.7. 6) Save Orca's state more often so that if something happens to the Orca process, it does not have to reload all the data from the source data files it previously read. 7) Have Orca print the current memory usage and CPU time more often. This attempts to use the proper ps command for the operating system Orca was configured on. 8) Take all of the modules in the monolithic orca script and move them into their own files. This improves readability and maintainability. 9) Require the latest versions of Data::Dumper (2.101), Digest::MD5 (2.09), Math::IntervalSearch (1.05), RRDs (1.0.13), and Storable (0.6.9). 10) Use arrays instead of hashes as the internal structure for many objects. This should speed access to object members and make their memory footprint smaller. 11) Use a new integer file identifier (FID) instead of the filename to refer to in internal objects. There is now a global array keyed by the FID that gives the name and a hash keyed by filename that returns the FID. The FID is used where the filename previously was used. This reduces Orca's memory usage by 10%, since only one copy of a long filename is needed. These following changes are what's new in orcallator.se 1.23 and the orcallator.cfg file since version 1.20 which was included with Orca 0.25. All of the changes below are taken advantage of in the included orcallator.cfg and start_orcallator files. 12) Include code to record and plot the NFS v2 and v3 server statistics. The new statistics are: nfss_calls, the number of NFS calls to the NFS server, nfss_bad, the number of bad NFS calls per second, and v{2,3}{reads,writes}, which are nfss_calls broken down into NFS version 2 and NFS version 3 calls. The sum of v{2,3}{reads,writes} will be less than nfss_calls as the other types of NFS calls, such as getattr and lookup, are not included. Contributed by Paul Haldane . This code is enabled by the standard -DWATCH_OS or individually by -DWATCH_NFS_SERVER. The define -DWATCH_NFS has been supperseded by -DWATCH_NFS_CLIENT, but to keep backwards compatibility, -DWATCH_NFS_CLIENT will be defined if -DWATCH_NFS is defined. 13) When orcallator was running on a system with DiskSuite, the same physical disk was listed multiple times when it appeared in the same metadevice. The solution to the problem is not to build the c0t0d0 name but use the long disk name provided by the long_name string. Patch contributed by Paul Haldane . 14) Prevent core dumps on extremely long access log lines.