Perhaps this is more of a feature request than anything, and a sanity
check to make sure it's not already implemented...

   I want to enable users to have custom analog config files, and in fact
have a spiffy script to allow this. However, if they are capable of
modding the report format, it's possible for them to produce reports that
are just too long to be allowed. HOSTFLOOR 0R for instance would be quite
sizeable for a busy site, and a 4MB html report isn't fun. :)

   So, I've made my script limit the options they are allowed to choose
from- and thus allow 0R for the DOMAIN floor (its length is limited by the
number of entries in the <domains>.tab) but not for the potentially very
long reports like HOST, or REQUEST.

   Well, obviously this situation isn't ideal- heavy use sites need
different options available than lighter ones, and I hate to restrict
other customers because I can not trust a couple "big" users to not
request these types of huge reports. (and then never read them- heh)

   What would be ideal is an expansion of the ROWS commands (like WEEKROWS
and FULLHOURROWS) A new set like REQUESTROWS, HOSTROWS, DIRROWS, etc. -
this would enable me to let the user request whatever stupifyingly long
report they wanted, but still prevent the disk space crunch from a month's
worth of huge reports piled up.

   It's not immediately obvious to me (looking at the source code) if this
would be something easy to add or not, but it's been a couple years since
I've done much in C, but here is what I think is relevant in output.c
(my line numbers may be different since I've already hacked a little)

246    if (rows == 0)
247      rows = INT_MAX;
...
278      if (rowsdone < rows) {
...
290        rowsdone++;

   Looks like it's just a matter of getting rows to be defined at the
start, which should just mean a couple extra #defines in the headers, no?
For instance, in anlghea2.h adding "#define HOSTROWS (1000)" (and not
allowing users the options to mod that config!)

   On the other hand, I could probably make this work for *all* reports by
changing things in output.c - I don't want to change INT_MAX because of
the other things it affects, but I suppose I could change that to ROWS_MAX
and appropriately define it, no?

   Ideally, <x>ROWS is something I'd like to be able to add to
mandatory.cnf instead of a source hack, but I can live with anything. It
doesn't look that hard to do. I'm just not confident enough about my
knowledge of the overall structure of analog to know this won't hurt me in
some other way, that I might miss until it's too late, or if maybe there
is already a better way. Anyone have thoughts on this? A better way?

-=Jim=- 

P.S. I know this question is a little different than the usual fare...
     hopefully it won't upset too many people.


------------------------------------------------------------------------
This is the analog-help mailing list. To unsubscribe from this
mailing list, send mail to [EMAIL PROTECTED]
with "unsubscribe" in the main BODY OF THE MESSAGE.
List archived at http://www.mail-archive.com/[email protected]/
------------------------------------------------------------------------

Reply via email to