1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
|
http-analyze 2.4 - A log analyzer for web servers
=================================================
--------------------------------------------------------------------------
Changes in version 2.4pl3 / November, 3rd 1999
--------------------------------------------------------------------------
Bug fixes:
o Added code to link to the GIF versions of the graph icons
if no PNG version is available.
o Fixed a bug in the sorting routines.
--------------------------------------------------------------------------
Changes in version 2.4pl2 / November, 2nd 1999
--------------------------------------------------------------------------
Enhancements:
o Added messages 187 and 188, corrected GD license terms.
--------------------------------------------------------------------------
Changes in version 2.4pl1 / November, 1st 1999
--------------------------------------------------------------------------
IMPORTANT CHANGE:
o From version 2.4 on http-analyze now uses the latest version of
the GD library, which - due to patent issues with Unisys - now
produces PNG images instead of GIF images.
o During installation, your old http-analyze directory will be
saved and the new buttons will be installed right in place.
It is very important to copy the GIF buttons back to the
HA_LIBDIR/btn directory if (and only if) you use symlinks
for the buttons in the HTML pages of the statistics report.
Otherwise the GIF images in HA_LIBDIR are not needed anymore.
o To get new PNG registration images for the freeware version,
please re-register through our web site. Our robot then sends
back the new registration images to the email address given in
the registration form.
o To get new PNG registration images for the commercial version,
please visit the knowledge base as described in the update
description we did sent to all customers.
--------------------------------------------------------------------------
Changes in version 2.3pl4 / October, 30th 1999
--------------------------------------------------------------------------
Bug fixes:
o Fixed a bug in function isHiddenItem which breaks lookup of
URLs when the base URL is added as hidden item automatically.
--------------------------------------------------------------------------
Changes in version 2.3pl3 / October, 28th 1999
--------------------------------------------------------------------------
Enhancements, new features:
o Introduced collection of URLs under their base directory when
option "-k" is given (will become default in 2.4). This also
fixes the bug with "Noise" not appearing in the URL list when
no HideURLs were defined.
o Changed the "unknown" request method into "extension-method"
according to new RFC2616 standard. Removed "BROWSE", added
"CONNECT" as known request methods.
o Now detects disorder of logfile entries more strictly. The Top
hours, Top minutes, and Top seconds lists may not be accurate
if disorder is detected during a day. Entries are ignored
completely if disorder is detected during the change of days.
o Added a fourth parameter (in brackets [/Text/]) to HideURL to
allow to specify the target of an item in hypertext links.
o Added message catalogs and several files for English, German,
French, Italian, Brazilian Portugese and Russian (incomplete).
Bug fixes:
o Modified handling of message catalogs (catopen needs a second
parameter now for old semantics of opening message catalogs).
o Corrected localized message number 84 (enoacc, was 82).
o Fixed broken links in overviews if more hidden items with same
description were defined.
o Fixed non-working IgnURL directive.
--------------------------------------------------------------------------
Changes in version 2.3pl2 / June, 10th 1999
--------------------------------------------------------------------------
Enhancements, new features:
o Speed improvements: http-analyze runs significantly faster
on many platforms due to an increased I/O buffer size.
o The analyzer now can create an up-to-date configuration file
automatically. Use the option `-i sample.cfg' to create a
sample config file. Specify the name of the old config file
with `-c' to have http-analyze create a new one (`-i') by
copying all old settings and adding the new ones.
o Introduced multi-national language support using message
catalogs according to X/Open and SVR4. See the directive
`Language' in the config file and the `-L' option. Note
that different languages require separate installation of
the corresponding message catalogs. See the instructions
in the file `INSTALL' for more information.
o New configuration directives allow definition of the items
to be displayed in the various tables and lists. See the
directive `TblFormat' in the config file.
o All files and buttons are now installed only once in a central
directory (HA_LIBDIR, usually /usr/local/lib/http-analyze)
during installation of the software. If http-analyze then is
run the first time and it detects missing buttons or older
buttons in the specified statistics output directory, it will
copy all required buttons into this directory automatically.
To only install buttons, use the option `-B'.
o Using the configuration directive 'BtnSymlink', http-analyze
can be instructed to use symbolic links into HA_LIBDIR instead
of copying the files into each output directory. This can help
to save disk space on installations with a large number of
virtual servers.
o The size of the I/O buffer for reading the logfile now can be
defined via the command line option `-b bufsize'. Previously,
http-analyze did use the value of the `st_blksize' member of
the file's stat(2) structure for the size of the I/O buffer.
Solaris and Linux report a very small number for `st_blksize'
(4 / 8 KB), while http-analyze performs best with values as
big as 64 KB for regular disk files and 16 KB for pipes.
o The number of subdomains for a "second-top-level" domain now
can be configured, so that hostnames like `host.company.co.uk'
will get mapped to `company.co.uk' instead to just `co.uk'.
See the directive `ShowDomain' and the option `-Z'.
o Added some new HTTP/1.1 response codes, which have been
introduced by W3C since previous version of http-analyze.
o Added support for case-insensitive URL matching for MS IIS.
Note that this violates the standard. See the option `-M' and
the directive `MSIISMode'.
o Made the code more robust:
- Check for zero size images resulting from running out
of disk space temporarily while http-analyze is running.
- Check for dis-order of date and for situations in which
http-analyze has been told to skip each and any logfile
entry (such as setting DocRoot to something by accident).
- Try to better detect overflows in the chronological order
of the logfile entries such as running into the next month
when analyzing the previous month due to a few entries
recorded just before the logfile has been rotated.
- Added snprintf() function to prevent possible buffer
overflow attacks when formatting strings in memory.
o Changed directory layout for source and binary distribution of
http-analyze. See the file FILELIST for a list of all files.
Source files, manpages, message catalogs etc. are now grouped
together in separate subdirectories to simplify handling.
Added a top-level "Makefile" and made the "makeinstall"
script for the binary distribution more robust.
Bug fixes:
o Fixed a nasty bug in the readLine() function which occasionally
caused http-analyze to dump core on logfile entries which were
exact `best_io_size' bytes in size on systems where `st_blksize'
is considerably smaller than 16KB.
o Fixed a bug in the native message catalog implementation which
caused escape sequences to be taken literally. Cleaned the
language specification for native MNLS by using an own HA_LANG
environment variable for passing the language.
o Fixed a bug in the Pageview mechanism which prevented certain
URLs from being checked against a pageview suffix.
o Fixed a bug which caused a core dump in the VRML part if less
than 7 hits were recorded for a whole week.
o Fixed a bug in the 'getopt' replacement function which caused
http-analyze to not recognize '-' for stdin.
o Fixed a bug with the NavWinSize directive.
o Fixed a bug which caused headers (legend) in the overviews to
disappear.
o Fixed some minor bugs, typos and unclear error messages.
--------------------------------------------------------------------------
Changes in version 2.2 / September, 14th 1998
--------------------------------------------------------------------------
Enhancements, new features:
o Changed version numbering to Version.Release.Patchlevel for
the official versions and Version.Release.Customer.Patchlevel
for customized branches. Version and Release are the major
version number (for example 2.2), while Patchlevel (if any)
is the string `pl' followed by a number, which is increased
by one for every patch.
o Changed handling of document title in order to prepare for
upcoming multi-national language versions. ReportTitle is
now output literal as the title of every HTML output page.
If unset, the title defaults to
Access Statistics for ServerName
like in the previous versions. If undefined, ServerName
defaults to the hostname of the local system. Despite to the
previous version, if a ReportTitle is defined, the ServerName
now is not concatenated to it anymore. However, even if it
isn't used anymore in ReportTitle, you should set ServerName
to something meaningful (for example `www.mycompany.com').
o Changed `VirtualNames' directive to automatically include both,
the 'http' and 'https' protocol specifiers in self-referrer URLs
unless one of those protocol specifiers is explicitely given in
a `VirtualNames' directive (requested by Michael Dickey). The
name of the local host (derived from ServerURL or ServerName)
is automatically added as a VirtualName, but only with the 'http'
protocol specifier, if none is given explicitely in ServerURL.
(Note that ServerURL may be an URL, while ServerName should not.)
o Changed the PageView mechanism to be able to define certain
prefixes (directories) in addition to suffixes (file types).
This allows to count dynamic HTML pages created by CGI scripts
as Pageviews, if the CGI scripts are located in one or more
separate directories. This is needed, because CGI scripts
do not necessarily have a file type suffix.
o Added option `-q' and configuration directive `StripCGI',
which control whether CGI arguments in URLs are left intact
or stripped away from the URL (default). Retaining the
arguments will display more details for dynamic HTML pages
produced by CGI scripts if they use the GET method to pass
arguments. If the POST method is used instead, no argument
list is logged by the server.
o Added option `-g', which allows to create the conventional
(1.9e style-) interface without the separate JavaScript-
enabled navigation window (requested by Chris Fryburger).
o Added configuration directives, which allow to define the
style (fonts and sizes) of the statistics report.
o Added environment variables HA_CONFIG and HA_LIBDIR, which
allow to specify alternate pathnames for the hard-wired
defaults, so that the software can be installed permanently
without root permissions. If used with the source distribution,
make sure to install the required files at the correct place,
which means you have to change the LOCALLIB macro in the
Makefile before doing a "make install". If used with the
binary distribution, the "makeinstall" script will auto-
matically use the correct directory defined in HA_LIBDIR.
o Added code to recognize virtual hosts by looking at the
virtual hostname, which is sometimes logged in the second
(normally unused) field of a logfile entry. If the value of
DocRoot doesn't start with a slash (or a exclamation point
followed by a slash), it is used as the name of a virtual
server which is compared against the second field of the
logfile entry. The entry then is processed further only
if both names match.
o Now performs stricter checking of the `PrivateDir' setting,
which must contain a pathname relative to the OutputDir and
may not contain any slashes.
o Now displays a message if all logfile entries have been skipped
due to some restriction defined in the configuration file or by
using command line options to ignore certain URLs/sites.
o Now performs stricter checking on the timestamp of a logfile
entry, since we learned of another case of a Netscape Enterprise
server, which did log accesses between 24:00 and 25:01. This lead
me to the conclusion, that Netscape Software works correctly even
if the server is accessed by users out of some paralle universe.
o Now tests for MSIE 4.x in addition to the test for Netscape
Navigator 3.x in the JavaScript to enable image switching in
the frames-based interface.
o Tested http-analyze for compliance with the gd library 1.3.
This update is needed in preparation of a multi-national
language version, since gd1.3 supports ISO 8859 character
sets in string functions.
o Tested all output files for HTML 3.2 compliance (with Netscape
extensions) using weblint.
o Tested all C source files for ANSI compliance using lint.
For further information about compiling the software, see
the file INSTALL included in the source distribution.
o Tested http-analyze for Year 2000 compliance. For further
information, see our Year 2000 Compliance Statement at:
http://www.netstore.de/Supply/http-analyze/year2000.html
Bug fixes:
o Fixed a bug in conversion of the history file from version 1.9e
which caused the analyzer to dump core on certain platforms.
If this bug appears during upgrade from 1.9e to 2.01, use the
"cvt_files" script from this distribution.
o Fixed a bug where self-referrer URLs inadvertedly showed up
in the list of referrer URLs, cluttering up those lists.
o Fixed a bug where comparison of self-referrer URLs was
case-sensitive.
o Fixed and revised non-working '-a' option and AuthReq directive
(skip autheticated requests). Save authuser only if response
was Code 200 or 304 for servers which log the name even for
unauthorized accesses.
o Fixed non-working '-t' option to specify dimensions of lists.
o Fixed parseDate function, which inadvertedly did interpret
year 00 as the current year, not the year 2000.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 15 / April, 2nd 1998
--------------------------------------------------------------------------
Bug fixes:
o Fixed a bug introduced in pl14 where Country list disappeared.
o Fixed a bug with relative pathname for executing http-analyze
in ha-setup in the branding function.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 14 / March, 31th 1998
--------------------------------------------------------------------------
Enhancements:
o Added counters for HTTP/1.1 request methods other than GET and
POST which cause no document to be transmitted by the server.
Those requests are now separated from the file/pageview/session
accounting, although it is still accounted for in the hits count.
o Added support for Windows NT/Netware by Andre Schild: Changed the
names max/avg into max_day/avg_day to avoid name clashes. Added
macro ISFULLPATH to test for full pathnames on different platforms.
Use faked uname(2) entries for determining platform/OS. Andre also
contributed a manual in PDF format for Windows users.
o Added a bug reporting form which fills in the required
registration information automatically if the software
has been branded. NOTE: This requires usernames and
passwords for access to our support site at
http://support.netstore.de/
(http://www.netstore.de/support/ for older browsers)
which are sent to you in a following private email soon.
o Added links to the main pages in the two navigation windows.
o Added missing link to the short statistics in the frames UI.
o Added new TLD CD for Democratic Republic of Congo (former Zaire).
The old TLD ZR should still remain present for a transition period.
Bug fixes:
o Fixed bug where links to previous months were created, although
there was no record for this month in the history.
o Fixed a bug where links were insereted for empty files although
the number of total hits for items/URLs, sites/domains,
agents/agent types, referrer hosts/referrer URLs was zero.
Now, no empty files are created if no hits have been detected
in the appropriate category.
o Check for zero denominator in PERCENT macro to avoid FPE DIVZERO
exception when counters for totals remain zero as can happen with
the new HTTP/1.1 server responses. This caused a core-dump on
certain platforms.
o Fixed a bug with not strict-ANSI compatible handling of varargs
parameter list in function dfpr().
o Fixed a bug where empty lines were seen as binary garbagge.
o Fixed a bug in the NavWin configuration setting.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 13 / March, 8th 1998
--------------------------------------------------------------------------
Bug fix:
o Fixed bug in new code for determining version number.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 12 / March, 8th 1998
--------------------------------------------------------------------------
Enhancements:
o Now determines the version number automatically.
o Cosmetic changes to keep gcc on Solaris 2.5 happy (warning-free).
Bug fix:
o Fixed wrong data object type in debugging message.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 11 / March, 6th 1998
--------------------------------------------------------------------------
Bug fixes:
o The 'totals' page now is created everytime, not only when
option -f (create a frames UI) was given.
o A bug has been fixed which caused the analyzer to dump core
on certain platforms if no frames UI was specified.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 10 / March, 2nd 1998
--------------------------------------------------------------------------
Bug fix:
o The link to the 3D model on the summary page in the statistics
summary didn't work when JavaScript was enabled.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 9 / February, 24th 1998
--------------------------------------------------------------------------
Enhancements:
o The user name and password is now removed in referrer URLs.
o The new option '-O virtnames,...' allows to set virtual names
as with the VirtualNames directive on the command line.
o The analyzer now tries to detect and to skip binary data.
Bug fix:
o The option '-R docroot' did not work correctly.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 8 / February, 9th 1998
--------------------------------------------------------------------------
Enhancements:
o The directives in the configuration files have been changed
sligthly to avoid mis-interpretations. This seemed to be
necessary because some people did get confused about the
meaning of certain directives. For example, they casually
used "DocRoot" to specify the place for the statistics report
instead of "HTMLDir" therefore overwriting their hompage with
the statistics report, so this particular directive now has
been renamed "OutputDir". Of course, the directive names from
previous versions of http-analyze are also still valid.
o The conventional (non-frames) interface navigation has been
simplified. The idea is that if you have enabled JavaScript
in your browser anyway, there will be a small navigation panel
which contains all links to the reports and updates the main
window (instead of popping up a new one). If you have disabled
JavaScript, all reports are displayed in the same window except
for the detailed lists, which in every case (JavaScript disabled
or enabled) are still displayed in a separate window to minimize
loading time when following links in the overview reports.
o The analyzer now has a pageview rating which is enabled by
default. All files ending with a particular suffix are rated
as text files. The suffix ".html" is pre-defined already.
You can add more pageview suffixes with the PageView directive
in the configuration file. You can suppress pageviews with the
"Pageviews" suppress option (-s or "Suppress" directive). If
disabled, the analyzer displays 304's (Not Modified) instead.
The pageview feature requires an additional field in the
history file. http-analyze will automatically convert an
older history file into the new format.
o The duration, after which accesses from the same host are
counted as "Sessions", is now configurable between 0 seconds
and 31 days. If for example, the time-window is set to one
hour, all accesses from the same host are counted only once
until this hosts accesses your server again at least one hour
after the first access. In previous releases, the time window
was a hardcoded default of one day.
o The handling of top-level domains (TLDs) has been enhanced.
First, the code now handles TLDs up to 6 characters in length
(not counting the dot). The TLD file now contains all valid
TLDs, not only the ISO two-letter codes. This has been changed
to cover the new CORE domains (.firm, .info, .shop, .arts,
.web, .rec, .nom) which will become active in March 1998.
Second, the country table now is looked up for using a binary
search thus greatly reducing the number of steps to find a
given country. (The table of "virtual" countries made up with
the AddDomain directive still uses a linear search.)
o The average load now includes a bar chart of the average hits
per weekday, a bar chart of the avergae hits for the last
week, and a table with the top 5 days in addition to the
hits per hour chart and top N hours, minutes, and seconds.
o The response codes supported by http-analyze have been
changed to fully support the HTTP/1.1 standard (RFC2068).
o Added new directives NavWinSize and VirtualNames, see the
online manual (included as pre-formatted ASCII text and
PostScript booklet) for more information.
Bug fixes:
o A bug has been fixed where http-analyze would core-dump when
collecting referrer URLs.
o A bug has been fixed where the hits for the previous day
were accumulated over the invocations of the analyzer in
the short statistics report.
o A bug in cntrycode.c where the code for countries from the TLD
file was not computed correctly has been fixed.
o The ha-setup utility did not copy all required files. It now
asks for the LIBDIR so it will install all required files
instead of the buttons only.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 7 / January, 24th 1998
--------------------------------------------------------------------------
Enhancements:
o Added 3DWinSize directive to configuration file to allow
for definition of the 3D window.
Bug fixes:
o Now prints an error message if registration ID couldn't
be saved in the registration ID file if -r was given.
o Fixed bug which caused Netscape Navigator 3.X to show
only two buttons in the frames-based UI.
o Fixed bug which caused the analyzer to crash when no
custom logos where defined in the registered version.
o Fixed bug in JavaScript (frames-based UI) where the year
button did select the wrong statisitics subdirectory for
the last 12 months report and the yearly 3D model.
--------------------------------------------------------------------------
Changes in 2.01 patchlevel 2-6 / January, 17th 1998
--------------------------------------------------------------------------
New features:
o The manpage has been updated.
o Tailoring http-analyze to your Corporate Identity:
Customers which registered for a commercial service license
now can add their logo to the reports and suppress the
Copyright note (except for the main page).
o Now handles user-agent and referrer URL:
The logfile format is automatically determined by looking at
the first 100 logfile entries. If you analyze mixed logfiles,
the analyzer uses the format detected in the first file.
o Improved "conventional" (non-frames) interface:
Some of our customers did request splitting up the output files
to make them smaller. We now have three levels of detail for the
list of URLs, sites, agents, and referrer URLs. Please see the
description about the window management in the manpage if you
are confused by the windows popping up the first time you look
at the new reports. As far as possible, the output format is
compatible to not only 2.0beta, but also to 1.9e.
o Better consistency in reports, suppressing "noise":
The reports now are structured equally into a Top Ten
list, an overview and a detailed list. There is one
such report for filenames, sites, user-agents and
referrer URLs. The Top N URLs, sites, agents, and
referrer URLs now have a pie chart each. A "noise level"
parameter has been introduced to suppress detailed reports
for all files, sites, agents, and referrer URLs below a
certain hit rate. This way, the size of the detailed reports
will be reduced by a significant amount.
o Sites are now listed under their second-level domain, which
is determined automatically. Similar, the algorithm to determine
the browser type and the referrer hostname has been enhanced again.
o The AddAgent/AddRefer directives in the configuration file has
been renamed to HideAgent/HideRefer for consistency with the
other directives. The old directives are also recognized.
o The HideRefer directive has a mechanism to extract keywords
from CGI parameters. With an appropriate setup in the
configuration file (see the sample.conf file), the keywords
used in search engines are now extracted in the list of
referrer URLs.
o All tables are now built using dynamic memory allocation.
There are no limits for those tables other than the total
virtual memory of your system.
o Lookups for the URLs, sites, agents, and referrer URLs
are done using a binary search algorithm rather than a
linear search to speed up those lookups.
Bug fixes:
o A bug which caused core-dumps on 486 platforms due
to byte-wise alignment has been fixed.
o A bug with signed comparison of unsigned types in
isHidden* functions has been fixed.
o Comparison of referrer URLs and browser types now is
case-insensitive.
o A bug which did cause the graphs going crazy on sites
with huge amount of data sent ( >100,000,000 KBytes)
has been fixed.
--------------------------------------------------------------------------
Changes in 2.01beta (patchlevel 1)
--------------------------------------------------------------------------
This is a completely rewritten version of http-analyze. There are
lot of new data structures, many enhancements, bug fixes, etc.
The most important new features are:
- Optional frames-based interface
Allows for easy navigation and faster load time
of the full statistics report.
- Optional VRML model
Integrated 3Dstats functionality generates a 3D model of the
statistics summary (requires a VRML plug-in such as CosmoPlayer
for Netscape/MSIE from SGI, available for IRIX and Windows).
- Improved handling of logfile and history
Recognizes Extended and Combined Logfile Format, generates
user-agent and referrer statistics. Allows specification
of start and end date of a period. Allows use of history to
skip logfile entries which have been processed already now
also in full statistics ("monthly") mode.
- Support for (software) virtual servers
Restricts statistics for given document root. Certain
URLs and/or sites now can be ignored (slows http-analyze
down by a considerable amount).
- New directory structure
Separate locations for global files, which now may be
shared between periods, and yearly summaries for WWW,
FTP and RealMedia access statistics.
- Improved handling of cmdline interface
Made options more consistent, allow more than only one logfile.
-m is now default if neither -d nor -m is given.
-3 creates a VRML model if the code is compiled in.
-a ignores requests which required authentication.
-e allows to skip previous periods already processed
-I igndate and -E expdate allow to skip for certain periods.
-f creates a Frames-based user interface.
-V prints version and platform information.
-F format defines the format of the logfile (auto/clf/dlf/elf)
-P prolog creates a VRML model for a whole year.
-R docroot allows you to restrict analysis to this DocRoot.
-T TLD uses TLD for the two-letter ISO Top-Level-Domains.
-U srvurl defines the suffix for hot links in the URL lists.
-s <opt> allows to switch off parts of the statistics.
-N <num> allows to define the size of the Top Ten lists.
--------------------------------------------------------------------------
Changes in 1.9e
--------------------------------------------------------------------------
Bug fixes:
o Fixed a bug which caused the size of documents to be added
to the total amount of data transferred for HEAD requests.
But why the hell do servers fill in the `reqsize' field in
logfile entries if actually no data has been transferred?!?
o Removed the colors for text in table headings due to popular
demand. If you use older navigators, which do not support
background colors in table cells, you will again see black
colored text on white background (as it happened to be in
older versions of ha).
New features:
o Added provisions to skip the first line in the logfile which
is used by Netscape's new server generation to determine the
format which should be used for log entries. To enable this
functionality, define the macro NS_FASTTRACK in the Makefile.
--------------------------------------------------------------------------
Changes in 1.9d
--------------------------------------------------------------------------
New features:
o Added a new entry "DefaultMode" in the configuration file
to allow specification of the default operation mode of
http-analyze (daily/monthly mode).
o Now prints a detailed list for hidden items in the "Transfers
by files" summary.
o Added code for time measuring which can be activated by
compiling http-analyze with the macro TIME_STATS defined.
The undocumented option `-y' turns on time measurement.
Bug fixes:
o Fixed bugs in sort_by_item() and c_chart(), which caused
http-analyze to dump core sometimes.
o Now prints a warning if a third parameter is missing in
an HideSys/HideURL entry in the configuration file instead
of just dumping core :-)
o Fixed a bug in addCountry() which caused .int and .nato being
accounted for as unresolved sites. The function now uses
separate counters for unresolved and unknown hostnames.
o Raised size of input buffer to 10KB (again) to process even
huge logfile entries like CGI scripts with thousands of
parameters.
o Now trailing slashes are not removed from URLs anymore. Since
an incomplete URL causes a Code 302 (Redirect) response sent
by the server, it does not get saved in the urltab. Therefore
we do not need to take care for URLs without trailing slashes.
--------------------------------------------------------------------------
Changes in 1.9c
--------------------------------------------------------------------------
New features:
o Added key colors to the header cells of the tables.
Bug fixes:
o Fixed a bug in the calculation of totals on last 12 month page
(again). Fixed a bug where the graph on the same page always
started at origin 0,0 regardless of the results for previous
summary periods.
o Changed the image functions to reserve a fix amount of space
for the padding between the upper border of the image and the
graphs and bars (4 pixels).
--------------------------------------------------------------------------
Changes in 1.9b
--------------------------------------------------------------------------
Bug fixes:
o Now computes the correct totals in the last 12 month page,
which got corrupted when code to smooth out the graph on
the same page had been added.
o Fixed a bug which caused core dumps on some platforms due
to invalid text addresses.
--------------------------------------------------------------------------
Changes in version 1.9
--------------------------------------------------------------------------
New features:
o Added code for computation of average/max hits per day/hour.
o Moved the list of countries from the list by Client domain into
the monthly statistics page. Added a pie chart for the 12 top
countries accessing the server.
o Added code for accounting of user agents. See the note below.
o The URLs in the top 30 URL list are now hot links, except
for hidden items.
o The macro PR_ROW has been splitted into independent macros to
not exceed the ANSI C limit for a compilation unit anymore.
o Now ignores noise resulting from entries of the next month's
period caused by rotating the logfiles at 00:00 on the first
day of a new month.
New options:
o The number of sites and URLs in the top lists now can be
changed with an option (-N) or an entry in the config file.
o The detailed lists of sites/URLs can now be created in a
separate, private directory. You can deny access for the
public by turning on authorization for this private directory.
A private directory may be specified with the option `-p' or
an entry in the config file.
Speed enhancements mostly:
o Removed all calls to functions in time-critical sections
to gain maximum speed on RISC-based platforms. Added re-
placements of more general, but slower stdlib functions.
o To avoid redundant function calls, values which are
computed already are now remembered. This avoids a lot
of calls to strlen(3) and consorts.
o Completely rewrote the logfile parsing algorithm to avoid
strcmp(3), strtol(3) and friends (special thanks to
<Lars-Owe.Ivarsson@its.uu.se> for his suggestions to optimize
the parser algorithm and the code he provided as an example).
Bug fixes:
o Fixed a bug which caused the list of countries to
disappear when analyzing more than one month at once.
o Fixed a bug in the calculation of total unique URLs.
Items are now hidden after the computation of unique
URLs and therefore each hidden item will now be
accounted for separately. Thus, the number of unique
URLs does not decrease with an increasing number of
hidden items anymore. On the other hand, you can't
comprise URLs under another URL anymore (this was an
undocumented feature).
o Fixed a bug in the calculation for the total hits of
unresolved hosts. Instead of the number of total hits,
http-analyze did summarize the unique number of sites
for all unresolved hostnames.
o Fixed a bug in the calculation of total kilobytes saved
by cache. Previously, the amount of data saved by caches
wasn't computed correctly for hidden items.
o Fixed a bug where images (.gif, .jpg etc.) have not been
added into the list of hidden items by default as intended.
Images are now hidden by default under the item "[All images]".
The `[' prevents the display in the top 30 URL list. You can
turn off this feature with the new option `-x' (cmd line only).
o Fixed a bug where homepages like "/some_dir/index.html"
have been reduced to "/some_dir/" and didn't therefore
merge with their equivalent "/some_dir".
o Fixed a lot of minor bugs, added many explicit type casts
to make lint shut up and all compiler warnings go away.
--------------------------------------------------------------------------
Changes in 1.8 (first official release)
--------------------------------------------------------------------------
o http-analyze now correctly obeys the -H homepage option.
o The -D option has gone, since it doesn't make much sense
to ignore logfile entries which are already ignored because
http-analyze keeps track of the recent history.
o Fixed a bug in the code which caused creation of the small
icons with a wrong aspect ratio.
o Fixed a bug in the conversion of hex codes in URLs which
caused repetition of last few characters in URL lists.
o Creates a monthly summary for a new month after the data
for the first day has been collected. Previously, http-analyze
did create a monthly summary not before the 4th of a new month.
o http-analyze now conforms fully to the System V command line
syntax rules (see intro(1)). The name of the logfile now may
be specified as an optional argument (without -i). If no name
is given, http-analyze reads stdin. If a default name is
defined in the configuration file, a `-' may be used to
ignore the default name and process the standard input.
--------------------------------------------------------------------------
Version 1.7 was the first alpha version which had been released to testers
outside RENT-A-GURU(TM). I think that there is no need to list the history
of releases prior to this.
--------------------------------------------------------------------------
|