-
Notifications
You must be signed in to change notification settings - Fork 9
/
ChangeLog
331 lines (257 loc) · 12.1 KB
/
ChangeLog
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
ApacheTop ChangeLog
v0.23.2 (15th February, 2023)
* switch to PCRE2, --with-pcre2=<path>
* fix for c++17 (@thesamesam)
* fix a potential seagfault, if regex is not valid
* if regex is not valid, treat the input as literal string
v0.19.7 (20th July, 2019)
* attempt to find ncurses via pkg-config first (@Polynomial-C)
* add .editorconfig for consistent coding style
v0.18.4 (12th April, 2018)
* fix for clang6 (@gonzalo)
* add better build instructions to INSTALL
* add option (-v) to show version
* fix minor mem leak (8 bytes per apachetop invocation)
v0.17.4 (25th April, 2017)
* create config.nice when running ./configure
* fix error: extra qualification on member (when using adns)
* fix compiler warnings
* fix a potential buffer overflow
v0.15.6 (10th June, 2015)
* allow other time/date formats in Apache log
* use sys/param.h for MAXPATHLEN
* fix deprecated auto tools macros
* fix compiler warnings
* use silent compile rules
* updated man page
* change version to 0.YY.M of new release
v0.12.6 (27th October, 2005)
* fixed security issue which described at CVE-2005-2660
v0.12.5 (27th November, 2004)
20041126
* Threading is no longer used. Everything now runs in a single thread.
* change src/Makefile.am to install apachetop into bin, not sbin
* add NetBSD compatibility hack for kqueue; their opaque datafield
is an intptr_t (why?)
20040915
* add attron back into configure.ac - not sure when that got removed
* change timeout delay between log checks to a constant 1/10th of a second
* get rid of all threading code. It was never really necessary; only ever
implemented because the main-loop delay was too long. Now it runs at
least 10 times a second.
20040725
* incorporate gcc 3.4 building compatibility patch
from Pascal Terjan <[email protected]>
v0.12 (21st May, 2004)
* Add FAM support; event notification for Linux etc.
* Add adns support; ApacheTop can now resolve your IPs into Hosts.
Please give me feedback on this; it's not very widely tested.
You'll need to use the cmdline switch -r to enable it.
* Add return code breakdown for each item. Press 'n' while running.
* Header now converts to GB/MB/KB/Bytes where appropriate.
* TAKE NOTE! Commandline option changes:
-r for refresh delay has changed to -d
-r has been re-assigned to enable resolving of hosts/ips.
20040508
* finish up adns resolving; now host and/or ip are displayed as best
as possible; if one is not available it is displayed as ... while
being resolved.
* TAKE NOTE!
commandline option -r has changed to -d
-r has been reassigned to enable resolving of hosts/ips
20040505
* use kqueue and fam facilities for passing opaque user data back when
an event occurs, allowing the removal of the ift struct (which sucked)
20040504
* add runtime option key 'n' to toggle number columns between hits/bytes
and return code breakdowns for each item.
* expand sorting options so it's possible to sort by return codes as well
as hits/bytes. Pressing 's' brings up a different menu if you're viewing
return code breakdown.
20040416
* add return code breakdown for each item in the top-list
20040308
* improve header to display GB/MB/KB/Bytes in all appropriate fields
20040303
* add adns support to resolve IPs into Hosts; if HostnameLookups is Off in
your httpd.conf, ApacheTop will now look up IPs for you. Created
--with-adns, like pcre/fam.
20040301
* remove --enable-pcre; have configure always check for it and just warn if
it can't be found. Specify --with-pcre to point it at the right place.
* call realpath() on supplied filenames for sanity
* add File Alteration Module (FAM) monitoring code (for Linux/IRIX mostly)
Use --with-fam to point it at the right place, like pcre.
v0.11 (25th February, 2004)
20040224
* acknowledge & as starting a query string as well as ?
20040219
* clean up configure.ac, remove unused function checks
* add --with-libraries and --with-includes to ./configure to provide
hints about where to look other than standard places
20040218
* add --enable-pcre and --with-pcre=<path> to ./configure; providing
these enables regular expression filtering
* add new filters submenu (press f)
* add --with-logfile=<file> to ./configure; now you can override the
default log position without editing the source
20040216
* inline hashing functions for greater efficiency
* replace localtime & strftime calls with a bit of maths in display_header()
20040204
* add largefile checks into configure.ac
20040119
* change nanosleep to usleep; I think this makes more sense..
Solaris 2.6 doesn't have nanosleep, and it seems overkill
* change configure.ac check for wattr_on to attron (fix Solaris compile issue)
v0.10 (14th January, 2004)
20040104
* remove old useless configure.ac stuff
* fix crash bug when ApacheTop has nothing to display
v0.9 (22nd December, 2003)
20031222
* don't call endwin() in a signal handler; set a flag and get the main
loop to do it. Fixes intermittent segfault when Ctrl-C'ing to exit.
* change instances of mvprintw() to mvaddstr() where printf features
were unused anyway; should give curses an easier time.
* add runtime help display; press s or ?
20031221
* rework runtime options to make use of "submenus"
* add facility for removing detailed-display sections (remove Referrers
from a URL detailed display etc); press t during runtime for submenu
* move sort runtime keys into their own submenu; press s for this
20031218
* revamp pthreads detection in configure.ac. It works now, I swear.
20031212
* code cleanups in display.cc
* new display mode; press Right-Arrow to show statistics specific to the
currently highlighted item. If you are highlighting a URL, host and
referrer statistics for that URL will be shown. Press Left-Arrow to exit
this display mode.
v0.8.1 (28th November, 2003)
20031128
* fix for running ApacheTop with no parameters
v0.8 (18th November, 2003)
20031115
* we now reopen an input file if the inode changes; this catches deletes
and renames. ApacheTop will wait for the file to be recreated and reopen.
20031113
* remove mod_log_spread code; I'm not happy with including this since I
have no idea how it works, no idea how the new filecode breaks it, and
I haven't had chance to test it. This will be re-introduced when I can
test it
* remove option -t; all logs are assumed to be common or combined format
* adapt internally to facilitate reading from more than one log at once
20031102
* add more kqueue flags to watch for file deletion/renaming
20031027
* fiddle with configure.ac so it doesn't require autoconf 2.57
20031014
* added check for stdarg.h to configure.ac; fixes Solaris build issue
* fix configure.ac check for pthread library
v0.7 (14th October, 2003)
20031008
* add thread for monitoring keypresses; if pthreads can be used, this will
make ApacheTop feel more responsive. Fall back on old behaviour if not.
20031006
* simplify log-fetching routine; no need to lseek() around the file;
we just wait (or kqueue) then attempt to read().
20031005
* wrap header includes in #if/#endif; we should now build on ancient
standards-breaking systems which don't have some headers.
* efficiency tweaks to hashing functions and hash class
* use the return value of ohtbl->insert where possible; saves a call to
lookup and thus another hash in some cases, which cuts down on CPU time.
v0.6 (5th October, 2003)
20031004
* change from select() to nanosleep() for sleeping. Not only is this a more
suitable function, it also stops ApacheTop on Linux eating all the CPU,
since select() was zero'ing a structure after it's first call. doh.
* start distributing with autoconf. Disregard previous build instructions;
you now do the more conventional cd apachetop-X.X/ && ./configure && make
* add kqueue() support for checking the logfile for updates; autoconf
enables this automatically if your architecture supports it.
20031003
* drop qsort() in favour of shellsort() in display.cc; this has the
advantage of knowing the data it's sorting, thus doesn't have to call a
comparison sub-function millions of times. This should lower ApacheTop's
CPU usage a lot.
* add mod_log_spread support via a patch from Theo Schlossnagle; I haven't
been able to test this yet.
v0.5 (2nd October, 2003)
20031002
* make the timed circle store slightly more information than requested, so
that we're guaranteed to have the requested number of seconds.
20031001
* add option -r to specify refresh delay interval in seconds.
* add runtime key 'p' to pause/unpause the updating display. Stats are
still collected, but the screen is temporarily frozen.
20030930
* experimental try-to-stop-it-crashing changes; a few cases of possible
memory trashing were fixed in hash and map classes.
* fill in dummy "Unknown" value for referrer if a common log is used.
(fixes crash if user switches to REFERRERs when there aren't any)
* change default refresh delay to 5 seconds.
v0.4 (29th September, 2003)
20030929
* add a new display mode; REFERRERs.
Press 'd' to cycle through URLs, IPs, and now REFERRERs.
* add option -p to preserve http:// (or whatever protocol) at start of
referrer string. By default it is cut out to save space onscreen.
20030928
* remove -lreadline and associated code; hence dropping support for
altering delay frequency during runtime. This improves portability,
notably to Solaris. Intending to replace readline with own code.
* -L changed to -l; no real reason to use uppercase, not sure why I did.
20030927
* add -s option to keep a given number of URL path segments only. For
example, -s 2 converts "/images/media/small/x.jpg" into "/images/media/"
This is rather experimental, so I'd appreciate feedback.
* remove floating points from table information when the numbers get big
enough; so we can display bigger numbers in the same table space.
* internally record referrers from log if they're available.
* add a visual marker (* just to left of URL/IP), movable by Up/Dn to stats
table; will be used to provide more information on the selected item.
This doesn't yet do anything further, however.
v0.3 (26th September, 2003)
20030926
* add framework for reading more logformats; combined & atop (not done yet)
* add -L option to lowercase all URLs for display (means /FOO and /foo are
considered the same and accumulate the same hits/bytes counters)
* add -q option to keep querystrings on URLs (default is to remove)
* rejigged -h and -t options to be -H and -T; logtype now uses -t
20030925
* simplify circle functions by passing structs around, not lots of
individual ints; cuts down on memory copying too (= faster).
* display bytecount in header in MB when appropriate.
* adapt to resizes of the term; display more results if we can, and use
more of the term's width if there's an excess.
20030924
* log.[cc|h] added; Log parsing class. Obsoletes logsplit() in apachetop.cc.
Currently only has common logformat parser, but is easily extendable to do
combined (and planning on a custom format)
* don't display NaN when there's no stats; display zeroes.
v0.2 (24th September, 2003)
20030923
* timed_circle.cc operational improvements to return more accurate
information about what's really going on with idle-ish servers.
* only allow one of -t and -h args to be specified.
20030922
* timed_circle.cc fixes for potentially overrunning arrays, with the help
of Purify on Solaris. This should fix the segmentation faults a few people
have been randomly seeing.
v0.1 (22nd September, 2003)
20030922
* README (some brief docs) and CHANGES added :)
* display restructured a little; better use made of floating points
20030921
* circle.[cc|h] moved to hits_circle.*; circle.h added as a virtual class.
In English, this means you can choose which circle mode to use at startup
time; one limited by time or one by hits.
20030920
* timed_circle.cc added; provide detailed statistics for server requests in
the last $x seconds. The alternative is circle.cc, which similarly
remembers the last $x requests, regardless of age.
v0.0 (19th September, 2003)
20030919
* initial freshmeat release