###############################################################################
##################   CONFIGURATION FILE FOR CALAMARIS V3   ####################
###############################################################################
#
# Configuration file for calamaris V3.x
#
# This configuration file follows the perl syntax. To define variables, just
# do it as you are used to do it.
#    $var = value;
#    undef($var); # same as $var = 0;
#
# To run calamaris with a configuration file, use:
#    cat access.log | ./calamaris --config-file calamaris.conf
#
# All command line arguments overwrites the configuration file items.
#
# Most of the configration items can be configured by commandline
# arguments. Try
#   ./calamaris --help
#
# Other commandline arguments:
#   -L or --dump-loop:	Loop (dumps the generated internal loop to STDERR for
#                       debugging.)
#
#   -C or --copyright	copyright (prints the copyright)
#   -h or --help	help	(prints out this message)
#   -V or --version	Version (prints version-info)
#
# On each section, you find a small description, the command line argument if
# available, an example output (to give you an idea of this section), the
# default value and how to use in this configuration file.
#
###############################################################################
#
# IMPORTANT:
# (*) These options break the privacy of your users. Please read the README
# on this.
#
# Some items have to be configured in this configuration file, because no
# command line options are available. Otherwise default values are taken!
#
###############################################################################


###############################################################################
#############################   REPORT SECTION   ##############################
###############################################################################

###############################################################################
#
# show 'n' Top-level and 'n' second-level destinations,
# -1 = unlimited
#
# command line argument: -d n | --domain-report n
#
# Example output:
#
#    Request-destinations by toplevel-domain
#    destination                              request      %    Byte       %   hit-%
#    --------------------------------------- --------- ------ -------- ------ ------
#    *.de                                       360753  51.58 4576770K  47.41  22.48
#    *.com                                      202536  28.96 4684139K  48.52  18.88
#
#    Request-destinations by 2nd-level-domain
#    destination                              request      %    Byte       %   hit-%
#    --------------------------------------- --------- ------ -------- ------ ------
#    *.plaxo.com                                    36  10.00    84835   8.00   0.80
#    *.ebay.com                                     20   7.40    44735   5.50   1.10
#
#
# Default:
#   undef($domain_report); # (no top- and second-level destinations are
#					 reported)
#
# Usage:
#   $domain_report = n;
#

$domain_report = 2;

###############################################################################
#
# limit the display of lines to those with a minimum of requests.
#
# command line argument: --domain-report-limit n
#
# Default :
#   undef($domain_report_limit); # no limit.
#
# Usage:
#   $domain_report_limit = n;

undef($domain_report_limit);


###############################################################################
#
# change all 2nd-level-reports to N-level-reports. 'n' can be
# any number from 2 up. -1 means full report.
# This is only useful, if $domain_report is set (see above).
#
# command line argument: -N n | --domain-report-n-level n
#
#
# Default:
#   undef($domain_report_n_level); # (reporting of second-level destinations)
#
# Usage:
#   $domain_report_n_level = n; # (reporting of n-level destinations)

$domain_report_n_level = -1;

###############################################################################
#
# Error code distribution
#
# command line argument: --errorcode-distribution-report
#
# Example output:
#
#    TCP Response code distribution
#    status-code                          request      %    Byte       %
#    ----------------------------------- --------- ------ -------- ------
#    000 (Used mostly with UDP traffic)     727633   2.93 3625190K   1.97
#    100 (Continue)                              4   0.00      687   0.00
#    200 (OK)                             20145830  81.19  171223M  95.12
#
#
# Default:
#   undef($errorcode_distribution_report); # (no reporting)
#
# Usage:
#   $errorcode_distribution_report = [0|1];

$errorcode_distribution_report = 1;

###############################################################################
#
# Object freshness report
# Here you can find information about the freshness of objects in your cache.
#
# Calamaris looks for freshness tags like 'TCP_HIT', 'TCP_REFRESH_MISS', ...
# and make statistics on it. With this information you can optimize the
# caching behaviour of your cache depending on the objects content type.
# E.g. squid admins could use this information to configure the
#  refresh_pattern.
#
# Default:
#   undef($object_freshness_report); # (no reporting)
#
# Usage:
#   $object_freshness_report = [0|1];

undef($object_freshness_report); 

# Here you have to define the 'TRANSACTION HEADER' for your cache software!
#
# Note:  the variable $refresh_tags is not used at the moment
# Usage: the hash keys have to be one of this (see --input-format):
#        squid, squid-old, nc, elff, its or nse
#        Please adjust the 'TRANSACTION HEADER' according your cache manual.
#
# $xxx_tags{'hash keys'} = [( 'TRANSACTION HEADER 1',
#                             'TRANSACTION HEADER 2',
#                             'TRANSACTION HEADER 3' ... )];
#
# $fresh_tags:   all fresh hits
# $stale_tags:   all stale misses
# $refresh_tags: not used at the moment
# $mod_tags:     hits which have been modified after an IMS
# $unmod_tags:   hits which have not been modified after an IMS
#
# Explanation:
# all hits    = $fresh_tags + $stale_tags
# $stale_tags = $mod_tags + $unmod_tags
#
# The following list is not complete (as you can see) and may be incorrect.
# If there is a need of improvement please notify.

#Tags for squid
$fresh_tags{'squid'}   = [( 'TCP_HIT', 'TCP_MEM_HIT', 'TCP_IMS_HIT', 'TCP_IMS_MISS' )];
$stale_tags{'squid'}   = [( 'TCP_REFRESH_HIT', 'TCP_REFRESH_MISS', 'TCP_REF_FAIL_HIT' )];
$refresh_tags{'squid'} = [( 'TCP_CLIENT_REFRESH' )];
$mod_tags{'squid'}     = [( 'TCP_REFRESH_MISS' )];
$unmod_tags{'squid'}   = [( 'TCP_REFRESH_HIT' )];

#Tags for squid-old
$fresh_tags{'squid-old'}   = [( 'TCP_HIT', 'TCP_MEM_HIT', 'TCP_IMS_HIT', 'TCP_IMS_MISS' )];
$stale_tags{'squid-old'}   = [( 'TCP_REFRESH_HIT', 'TCP_REFRESH_MISS', 'TCP_REF_FAIL_HIT' )];
$refresh_tags{'squid-old'} = [( 'TCP_CLIENT_REFRESH' )];
$mod_tags{'squid-old'}     = [( 'TCP_REFRESH_MISS' )];
$unmod_tags{'squid-old'}   = [( 'TCP_REFRESH_HIT' )];

#Tags for NetCache 5.5
$fresh_tags{'nc'}   = [( 'TCP_HIT', 'TCP_HIT_ACCESS_DENIED', 'TCP_HIT_EJECT', 'TCP_HIT_HIT_PARTIAL', 'TCP_HIT_HIT_VERIFY' )];
$stale_tags{'nc'}   = [( 'TCP_HIT_IMS_NOTMOD','TCP_HIT_PRECONDITION_FAILED', 'TCP_MISS_CACHE_VERSION', 'TCP_MISS_VERIFY', 'TCP_REF_FAIL_HIT' )];
$refresh_tags{'nc'} = [( 'TCP_MISS_RELOAD' )];
$mod_tags{'nc'}     = [( 'TCP_MISS_VERIFY' )];
$unmod_tags{'nc'}   = [( 'TCP_HIT_IMS_NOTMOD' )];

$fresh_tags{'elff'}   = [( 'TCP_HIT', 'TCP_HIT_ACCESS_DENIED', 'TCP_HIT_EJECT', 'TCP_HIT_HIT_PARTIAL', 'TCP_HIT_HIT_VERIFY' )];
$stale_tags{'elff'}   = [( 'TCP_HIT_IMS_NOTMOD','TCP_HIT_PRECONDITION_FAILED', 'TCP_MISS_CACHE_VERSION', 'TCP_MISS_VERIFY', 'TCP_REF_FAIL_HIT' )];
$refresh_tags{'elff'} = [( 'TCP_MISS_RELOAD' )];
$mod_tags{'elff'}     = [( 'TCP_MISS_VERIFY' )];
$unmod_tags{'elff'}   = [( 'TCP_HIT_IMS_NOTMOD' )];


###############################################################################
#
# measure peak requests
#
# command line argument: -p [new|old] | --peak-report [new|old]
#
# Example output:
#
#    Incoming request peak per protocol
#    prt  sec peak begins at      min  peak begins at      hour   peak begins at
#    --- ---- ------------------ ----- ------------------ ------- ------------------
#    UDP    0                        0                          0
#    TCP  348 04.Apr 04 04:33:58  3059 04.Apr 04 02:01:18   82479 04.Apr 04 23:00:00
#    --- ---- ------------------ ----- ------------------ ------- ------------------
#    ALL  348 04.Apr 04 04:33:58  3059 04.Apr 04 02:01:18   82479 04.Apr 04 23:00:00
#
#    Incoming transfer volume per protocol
#    proto  kB/hour peak begins at
#    ----- -------- ------------------
#    UDP          0
#    TCP    1964368 04.Apr 04 22:00:00
#    ----- -------- ------------------
#    ALL    1964368 04.Apr 04 22:00:00
#
#
# Default:
#   undef($peak_report); # (no peak measurement is reported)
#
# Usage:
#   $peak_report = ['new'|'old'];
#   old = make old request-peak mesurement
#        'Incoming transfer volume per protocol' is not calculated!
#   new = make new request&byte-peak measurement
#   (both slow Calamaris significantly down.)

$peak_report = 'new';

###############################################################################
#
# Performance: show throughput data for every 'n' minutes
#
# command line argument: -P n | --performance-report n
#
# Example output:
#
#    Performance in 60 minute steps
#                                    incomin    hit    miss   direct sibling  fetch
#    date             request   Byte  kB/sec  kB/sec  kB/sec  kB/sec  kB/sec  kB/sec
#    --------------- --------- ----- ------- ------- ------- ------- ------- -------
#    04.Apr 04 00:00     20217  211M    8.69   53.23    6.35    7.38    4.03    1.11
#    04.Apr 04 01:00     14685  169M    7.93   77.43    5.16    5.64    2.79   13.18
#    04.Apr 04 02:00     23450  388M   15.45   44.42   13.13   16.09    5.76    1.14
#    04.Apr 04 03:00     15092  284M   10.50    3.76    8.52    8.15   16.98    0.39
#
#
# Default:
#   undef($performance_report); # (no performance is reported)
#
# Usage:
#   $performance_report = n;

$performance_report = 30;

###############################################################################
#
# Time	
# adjust the Performance-Report in minutes
#
# command line argument: -T | --performance-report-adjust
#
#
# Default:
#   undef($performance_report_adjust); # don't adjust the Performance-Report
#
# Usage:
#   $performance_report_adjust = [0|1];

$performance_report_adjust = 1;

###############################################################################
#
# requester: show 'n' Requesters/User, -1 = unlimited
#
# command line argument: -r n | --requester-report n
#
# Example output:
#
#    Incoming TCP-requests by host
#    host                               request   hit-%   Byte    hit-% sec   kB/sec
#    --------------------------------- --------- ------ -------- ------ ---- -------
#    10.1.1.1                            186643   3.80 6366926K   0.22    1   55.18
#    10.1.4.2                             86331   0.00 26654655   0.00    0  130.18
#    10.1.1.3                             48482   7.43 13294970  20.33    0   53.73
#    10.1.5.10                            48474   7.43 13289730  20.34    0   57.84
#
#
# Default:
#   undef($requester_report); # (no requester is be monitored)
#
# Usage:
#   $requester_report = n;

$requester_report = -1;

###############################################################################
#
# no-lookup
# don't look IP-Numbers up
#
# command line argument: -n | --requester-report-no-dns-lookup
#
#
# Default:
#   undef($requester_report_no_dns_lookup); # lookup IP-Numbers
#
# Usage:
#   $requester_report_no_dns_lookup= [0|1];

$requester_report_no_dns_lookup= 1;

###############################################################################
#
# use ident information if available (*)
#
# command line argument: -u | --requester-report-use-user-info
#
#
# Default:
#   undef($requester_report_use_user_info); # don't use login information
#
# Usage:
#   $requester_report_use_user_info= [0|1];

 $requester_report_use_user_info= 1;

###############################################################################
#
# targets for requester: show 'n' targets for every Requester,
# -1 = unlimited), implies $requester_report = n (*)
# If $requester_report is not set, $requester_report is set to
#  $requester_report_with_targets.
#
# command line argument: -R n | --requester-report-with-targets n
#
# Example:
#
#    Incoming TCP-requests by host
#    host / target                      request   hit-%   Byte    hit-% sec   kB/sec
#    --------------------------------- --------- ------ -------- ------ ---- -------
#    10.101.93.111                           917   8.07  1529952  12.26    1    1.94
#     *.the-arena.de                         665  10.68   882366  14.49    0   35.11
#     *.gmx.net                               93   3.23   397865  15.00    0   66.17
#     *.ebay.de                               54   0.00    53779   0.00    0   24.69
#
#
# Default:
#   undef($requester_report_with_targets); # (no requester is monitored)
#
# Usage:
#   $requester_report_with_targets = n;

$requester_report_with_targets = -1;

###############################################################################
#
# Response Time Diagram:
# sum up the time distribution over all objects.
#
# command line argument: --response-time-report
#
# Example output:
#
#    TCP-Request duration distribution in msec
#    time             request      %    Byte       %
#    --------------- --------- ------ -------- ------
#    <= 0.1              88936   0.36 80003410   0.04
#    <= 0.2              88936   0.36 80003410   0.04
#    <= 0.5              88936   0.36 80003410   0.04
#    <= 1               482528   1.94  339898K   0.18
#
#
# Default:
#   undef($response_time_report); # (no reporting)
#
# Usage:
#   $response_time_report = [0|1];

$response_time_report = 1;


###############################################################################
#
# Response Time Interval:
# This array defines the time steps, which should be reported in the
# 'Response Time Diagram', see above.
#
#
# Default:
#   @response_time_report_interval = qw(0.001 0.01 0.02 0.05 0.1 0.2 0.5 1 2 5 10 20 50 100 200 500 1000 2000 5000 10000 20000 50000 100000 200000 500000 1000000 1e10);
#
# Usage:
#   @response_time_report_interval = qw(0.001 0.1 0.2 0.5 1 2 5 10 20 50 100 200 500 1000 2000 5000 10000 20000 50000 1e10);

###############################################################################
#
# Response Time Limit:
# Calamaris calculates an average response time value, which is shown in the cache statistics overview. 
# Very slow requests (web server) can be skipped, by setting this value.
# This value is only recognized, when $response_time_report is set.
#
#
# Default:
#   $response_time_limit = $response_time_report_interval[$#response_time_report_interval];
#
# Usage:
#   $response_time_limit = 10000;

###############################################################################
#
# Size-Distribution-Report:
# shows size-based distribution of requested
# objects, smaller numbers result in more verbose reports.
# choose 2, 10 or 100 for useful output. (You can also play
# with this ;-))
#
# command line argument: -D [2|10|100] | --size-distribution-report [2|10|100]
#
# Example output:
#
#    object-size (bytes)	request   hit-%	 Byte     hit-%	  sec	kB/sec	
#    -------------------- --------- ------- ------- ------ ------- ------
#    0-0                    138146	 33.70	      0	  0.00	   4	0.00	
#    1-9                         7	  0.00	     35	  0.00	   0	0.01	
#    10-99                   38240	  0.00	2772033	  0.00	  10	0.01
#
#
# Default:
#   undef($size_distribution_report); # (no reporting)
#
# Usage:
#   $size_distribution_report = [2|10|100];

$size_distribution_report = 100;

###############################################################################
#
# status: show verbose status reports
#
# command line argument: -s | --status-report
#
# Example output:
#
#    Summary
#    lines parsed:         699415
#    invalid lines:             0
#    unique hosts/users:      363
#    parse time (sec):        136
#
#
# Default:
#   undef($status_report); # (no status reporting)
#
# Usage:
#   $status_report = [0|1];

$status_report = 1;

###############################################################################
#
# show 'n' content-type, 'n' extensions and requested protocols,
# -1 = unlimited
#
# command line argument: -t n | --type-report n
#
# Example output:
#
#    Requested content-type
#    content-type                             request      %    Byte       %   hit-%
#    --------------------------------------- --------- ------ -------- ------ ------
#    text/html                                  223479  31.95 4600042K  47.65  11.02
#    text/plain                                 116291  16.63 1460336K  15.13   0.74
#
#    Requested extensions
#    extensions                               request      %    Byte       %   hit-%
#    --------------------------------------- --------- ------ -------- ------ ------
#    <dynamic>                                  202347  28.93 4720924K  48.90   4.65
#    <none>                                     139819  19.99 1480113K  15.33   5.59
#    gif                                        115411  16.50  186475K   1.93  62.50
#
#
# Default:
#   undef($type_report); # (no reporting)
#
# Usage:
#   $type_report = n;

$type_report = -1;

###############################################################################
#
# switch to case-insensitive reporting (useful for extensions-report)
#
# command line argument: -c | --type-report-ignore-case
#
#
# Default:
#   undef($type_report_ignore_case); # make the reports case sensitive
#
# Usage:
#   $type_report_ignore_case= [0|1];



###############################################################################
#############################   INPUT SECTION   ###############################
###############################################################################

###############################################################################
#
# Logformat type:
# sets the type of input logfiles
#	auto = tries to guess the input format
#	(This is the Default)
#	squid = Native-Logfile derived from Squid V1.1.beta26-V2.x
#	squid-extended = Native-Logfile with log_mime_hdrs enabled
#		derived from Squid V1.1.beta26-V2.x (*)
#		or Cisco Content Engines (*)
#		or Squid with SmartFilter-patch (*)
#	squid-old = Native-Logfile derived from Squid
#		V1.1.alpha1-V1.1.beta25
#	nc = Squid-style Logfiles derived from NetCache V?? (<5.x)
#	its = Logfiles derived from Inktomi Traffic Server
#	elff = Extended Logfile Format (i.e Compaq Tasksmart, Novell
#		Internet Caching System, NetCache 5.x)
#	nse = Netscape Extended-1/2 Logfile Format
#
# command line argument: -f [options] | --input-format [options]
#
#
# Default:
#   $input_format = 'auto'; # auto detection
#
# Usage:
#   $input_format = ['auto'|'squid'|'squid-extended'|'squid-old'|'nc'|'its'|'elff'|'nse'];


###############################################################################
#
# IP-Filters:
#
# This item needs the perl Module NetAddr::IP!
# The IP-list which should be excluded from reporting or which only should be
# monitored (included) is separated by ':'
# There are two kind of filters: exclude and include:
#
# exclude:
#   all IPs are reported, except IP/range. (*)
#   command line argument: --ip-filter-exclude List
#
# include:
#   no IPs are analyzed, except IP/range. (*)
#   command line argument: --ip-filter-include List
#
# List-Format: 1.1.1.1/32:1.1.2.0/24
#              1.1.1.1/255.255.255.255:1.1.2.0/255.255.255.0
#
#
# command line argument:
#   --ipfilter-exclude IP/range
#   --ipfilter-include IP/range
#
# Default:
#   undef($ipfilter_exclude); # no IPs are excluded
#   undef($ipfilter_include); # no IPs are included
#
# Usage:
#   $ipfilter_exclude = '1.1.1.1/255.255.255.255:1.1.2.0/255.255.255.0';
#   $ipfilter_include = '1.1.1.1/255.255.255.255:1.1.2.0/255.255.255.0';


###############################################################################
#
# no input via STDIN
# This is useful when reading cache files.
#
# command line argument: -z | --no-input
#
#
# Default:
#   undef($no_input); # (calamaris expects logfile via STDIN)
#
# Usage:
#   $no_input = [0|1];


###############################################################################
#
# Interval
# defines which time-interval should be parsed
# t has to be the format yyyymmddhhmmss (localtime)
# omitting the beginning or ending is allowed.
#
# command line argument: -I t1-t2 | --time-interval t1-t2
#
#
# Default:
#   undef($time_interval);
#
# Usage:
#   $time_interval= 't1-t2';


###############################################################################
#############################   OUTPUT SECTION   ##############################
###############################################################################

###############################################################################
#
# Graph colours:
# These values cannot be configured by commandline arguments!
# If you want to change the default values, you have to use this
# configuration items.
#
# Define the colours of the columns and text/axis/legend/labels.
# The colours for Hit-% are automatically darkend.
#
# Default:
#   $column1_color = '#6699cc';
#   $column2_color = '#ff9900';
#   $text_color    = '#222266';


###############################################################################
#
# image type
# Sets the image type to gif, png, jpeg, gd or gd2. Only usefull when
# --output-format graph is set. The supported images types are dependend
# on your GD::Graph installation.
# Calamaris tells you which formats are supported, if an error occurs.
#
#
# Default:
#   $image_type = 'png';
#
# Usage:
#   $image_type = ['gif'|'png'|'jpeg'|'gd'|'gd2'];


###############################################################################
#
# output format of the tables
#
# Better don't play with this ;-), no warranty what happen with the output, if
# not used correctly
# Please consider:
# - you can not change the order of the table columns.
# - you can switch off the output of single columns by using the keyword 'off'.
# - don't change the numbers or '%'. Do you know, what you are doing?
# - you can change the output of Request/sec and Byte/sec by using the
#   following keywords:
#
#   kbps = kByte/sec
#   spkb = sec/kByte
#   bps  = Byte/sec
#   spb  = sec/Byte
#   rps  = req/sec
#   spr  = sec/req
#   rpms = req/msec
#   mspr = msec/req
#   off
#   %
#
# Default: the output is optimized to 79 character per line.
#
# This units (keywords) are not influenced by $unit, see below.

# Incoming requests by method
$formats[3]  = [ 30, 9, '%', 'spr', 8, '%', 'kbps' ];
# Incoming UDP-requests by status
$formats[4]  = [ 30, 9, '%', 'mspr', 8, '%', 'kbps' ];
# Incoming TCP-requests by status
$formats[5]  = [ 30, 9, '%', 'spr', 8, '%', 'kbps' ];
# Outgoing requests by status
$formats[6]  = [ 30, 9, '%', 'spr', 8, '%', 'kbps' ];
# Outgoing requests by destination
$formats[7]  = [ 30, 9, '%', 'spr', 8, '%', 'kbps' ];
# Request-destinations by ${N}-level-domain
$formats[8]  = [ 26, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Request-destinations by toplevel-domain
$formats[9]  = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# TCP-Request-protocol
$formats[10] = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Requested content-type
$formats[11] = [ 26, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Requested extensions
$formats[12] = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps', 11, 11 ];
# Incoming UDP-requests by host
$formats[13] = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Incoming TCP-requests by host
$formats[14] = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Distribution Histogram
$formats[15] = [ 16, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# Performance in $P steps
$formats[16] = [ 15, 9, '%', 5, '%', 6, 'kbps', 'kbps', 'kbps', 'kbps', 'kbps', 'kbps' ];
# UDP-Request duration distribution in msec
$formats[17] = [ 16, 9, '%', '%', 'mspr', 8, '%', '%', 'kbps' ];
# TCP-Request duration distribution in msec
$formats[18] = [ 16, 9, '%', '%', 'mspr', 8, '%', '%', 'kbps' ];
# UDP Response code distribution
$formats[19] = [ 36, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];
# TCP Response code distribution
$formats[20] = [ 36, 9, '%', '%', 'spr', 8, '%', '%', 'kbps' ];


###############################################################################
#
# Hostname
# Define the name for the Report Output
#   'lookup' issues a lookup for the current host
#   FQDN means, give an full qualified domain name or any name you want.
#
# command line argument: -H ['FQDN|'lookup'] | --hostname ['FQDN|'lookup']
#
#
# Default:
#   undef($hostname); # The report output headline is without any hostname
#
# Usage:
#   $hostname= ['FQDN|'lookup'];

$hostname= 'SafeSquid User Access Report';

###############################################################################
#
# logo
# Here you can define a HTML-string which should be included into the report
# head.  You can also define a filename, then the file is included into the
# report head.  It works only in combination with
# $output_format = 'html' or 'html,graph'.
#
# command line argument: -l [string|filename] | --logo [string|filename]
#
#
# Default:
#   undef($logo); # no logo is included into the html head
#
# Usage:
#   $logo= '<!-- LOGO begin --> HTML-TEXT <!-- LOGO end -->';	# define string
#   $logo= './calamaris_head.html'; 				# or define file


###############################################################################
#
# Meta
# includes the given strings in html-<head>. You can also give a filename, then
# the file is included in html-<head>. It works only in combination with
# $output_format = 'html' or 'html,graph'.
# This is useful to include CSS or JavaScript. It's up to you, to include some
# more CSS Tags in the calamaris output. You have to edit the source code.
#
# command line argument: -M [string|filename] | --meta [string|filename]
#
#
# Default:
#   undef($meta); # (no meta information is included)
#
# Usage:
#   $meta = '<style type="text/css">
#                     <!-- here comes the CSS definition -->
#                     </style>';		# define string
#   $meta ='./calamaris.css';		# or define CSS-file
$meta = '
  <style type="text/css">
  <!--

  /*  ... defaults ... */
  body,td { 
       font-family:Arial,Helvetica,sans-serif; 
       font-size:10pt; 
       font-weight:500; 
       color:'.${text_color}.'; 
       background-color:#FFFFFF;
     }
  h4 { font-size:8pt;
       font-weight:500; 
       color:'.${text_color}.';
     }
  th { background-color:'.${column1_color}.';
       font-family:Arial,Helvetica,sans-serif;
       font-size:12pt;
       font-weight:700;
       color:'.${text_color}.';
     }
  b  { font-size:11pt;
       font-weight:600;
       color:'.${text_color}.';
     }
  td.head { 
       background-color:'.${column2_color}.';
       width:'.${width}.'px;
       text-align:center;
       font-size:18pt;
       font-weight:800;
       color:'.${text_color}.';
     }

  /*  ... table dataline ... */
  .line_2 { background-color:'.${column2_color}.'; } 
  .line_1 { background-color:#DDDDDD; } 
  .line_0 { background-color:#FFFFFF; } 

  /*  ... Link definintion ... */
  a    {text-decoration:none;}
  a:link    {color:'.${text_color}.';}
  a:visited {color:'.${text_color}.';}
  a:active  {color:'.${text_color}.';}
  a:hover   {color:'.${column2_color}.';}
  -->
  </style>
';


###############################################################################
#
# output format (comma-seperated list)
# 	(Default is plain formatted text)
#	 mail             = mail format
#	 html             = HTML format
#	 html-embed       = HTML format without HTML-headers
#	 html-frame	  = HTML format with Frames
#	 graph		  = enable graphics, needs GD::Graph, only useful with
#			    html, html-embed or html-frame 
#			    (see also $output_path)
#	 unformatted      = plain unformatted output
#
# command line argument: -F [options] | --output-format [options]
#
#
# Default:
#   undef($output_format); # Default is plain formatted text
#
# Usage:
#   $output_format = ['mail'|'html'|'html-embed'|'html-frame'|'graph'|'unformatted'];

$output_format = graph;
 
###############################################################################
#
# output path
# output file
# output file prefix
#
# defines where the output of calamaris is written.
# 
# output_path defines the path where to write,
# output_file contains the filename, where the data is stored.
# output_file_prefix prepends a pattern to the filename.
#
# In case of html-embed,graph; html-frame,graph or html,graph output,
# the graphics destination is the value of $output_path. If $output_path
# is not given, all graphics are written to the working directory. './'.
#
# If $output_file is not given the Filename is index.html for html-output and
# calamaris.txt for plain-output.
#
# If $output_file_prefix the pattern is prepended to all written files.
#
# You may use the special pattern
# %h  (value of $hostname)
# %t  (the calculated report-timerange)
# %%  (use this to get a single %)
# in all three configuration-directives.
#
# command line argument: --output-path 'path'
# command line argument: --output-file 'filename'
# command line argument: --output-file-prefix 'prefix'
#
# Default:
#   undef($output_path); # Default is output path is working directory './'
#   undef($output_file); # Default is index.html or calamaris.txt
#   undef($output_file_prefix); # Default is no prefix
#
# Usage:
#   $output_path= '/path';
#   $output_file= 'filename';
#   $output_file_prefix= 'prefix';


###############################################################################
#
# list Show
# Shows only the defined reports (comma-seperated list) in the
# specified order. The following numbers are defined (see ./calamaris -h):
#		0	Summary
#		1	Incoming request peak per protocol
#		2	Incoming transfer volume peak per protocol
#		3	Incoming requests by method
#		4	Incoming UDP-requests by status
#		5	Incoming TCP-requests by status
#		6	Outgoing requests by status
#		7	Outgoing requests by destination
#		8	Request-destinations by 2nd-level-domain
#		9	Request-destinations by toplevel-domain
#		10	TCP-Request-protocol
#		11	Requested content-type
#		12	Requested extensions
#		13	Incoming UDP-requests by host
#		14	Incoming TCP-requests by host
#		15	Size Distribution Diagram
#		16	Performance in n minute steps
#		17	UDP-Request duration distribution in msec
#		18	TCP-Request duration distribution in msec
#		19	UDP Response code distribution
#		20	TCP Response code distribution
#
# Note: only putting out one report does not speed up Calamaris
#	as the internal operations were done based on the
#	report-switches. Default: Reports are displayed based on
#	activated reports.
#
# command line argument:
#   -S comma-separated-list | --show-reports comma-separated-list
#
#
# Default:
#   undef($show_reports); # sort request size
#
# Usage:
#   $show_reports = 0,1,2,4,6;

$show_reports = 0,1,2,3,5,6,7,8,9,10,11,12,14,15,16,18,20

###############################################################################
#
# Sort Order
# changes the sort order in the reports to request size,
# default is sorting by number of requests.
#
# command line argument: -O | --sort-order
#
#
# Default:
#   undef($sort_order); # sort request size
#
# Usage:
#   $sort_order = [0|1];


###############################################################################
#
# define the Unit for the Byte-values, else it will be auto
# K(ilo), M(ega), G(iga), T(era)
#
# command line argument: -U option | --unit option
#
#
# Default:
#   undef($unit); # Default is yoto formatting of unit.
#
# Usage:
#   $unit = [K|M|G|T];


###############################################################################
#
# Define the graph size in pixel.
# The image ratio (width : height) is 3 : 2.
#
# Default:
#   $width = 600; # the graph has a size of 600x400 Pixel
# Usage:
#   $width = 300;


###############################################################################
#
# How many datasets should be drawn on the graph.
# $x_scale = 30 is a good value, play with this -> no warranty what happens
# if $x_scale is too big!
#
# Default:
#   $x_scale = 30;
# Usage:
#   $x_scale = 10;


###############################################################################
#
# Generate an index-page for all reports that match the 
# output_*-Directives.
#
# Default:
#   undef($generate_index); # don't generate an index
#
# Usage:
#   $generate_index = [0|1];



###############################################################################
#############################   CACHE SECTION   ###############################
###############################################################################

###############################################################################
#
# input-file
# input-datafile for caching, to add many files separate them with a ':'.
#
# command line argument:
#  -i 'inputfile.dat' | --cache-input-file 'inputfile.dat'
#
#
# Default:
#   undef($cache_input_file); # no input from cache file
#
# Usage:
#   $cache_input_file= 'file1:file2:file3';

###############################################################################
#
# output-file
# output-datafile for caching, can be the same as $cache_input_file
#
# command line argument: -o filename.dat | --cache-output-file filename.dat
#
#
# Default:
#   undef($cache_output_file); # no cachefile will be written
#
# Usage:
#   $cache_output_file = 'cache.dat';


###############################################################################
##############################   MISC SECTION   ###############################
###############################################################################

###############################################################################
#
# benchmark
# prints a hash-sign (#) to STDERR for each n lines
# processed
#
# command line argument: -b n | --benchmark n
#
#
# Default:
#   undef($benchmark); # don't show hashes (#)
#
# Usage:
#   $benchmark = n;


###############################################################################
#############################   DEBUG SECTION   ###############################
###############################################################################


###############################################################################
#
# make some small tests (only for programmer)
#$test = 1;


###############################################################################
#
# verbose
# print information what Calamaris is doing. Useful for debugging.
#
# command line argument: -v | --verbose
#
#
# Default:
#   undef($verbose); # don't write debug information
#
# Usage:
#   $verbose = [0|1];


###############################################################################
#
#Copyright (C) 1997-2006, 2013, 2015
#        Cord Beermann. Authors: Cord Beermann and Michael Pophal
#Calamaris comes with ABSOLUTELY NO WARRANTY. It is free software, and you are
#welcome to redistribute it under certain conditions. See source for details.
#Calamaris-Homepage: http://Calamaris.Cord.de/
#
###############################################################################
