# This file is used by display_report on a webserver, and is in the
# subdirectory of the cgi-bin directory for the monitor it configures.  For
# instance, to use this for 'monitor1', where the display_report is run
# from /cgi-bin/display_report, this file would go in /cgi-bin/monitor1/.

# Comments must start with # before any non-whitespace.
# All entries involve a key, colon, followed by arbitrary whitespace, and
# one or more values separated by commas and optional whitespace.
# Key and values must be on the same line; a linefeed will break parsing.
# The 'name' key is used to identify unique stanzas and cannot be changed.
# If required stanzas are missing or lack required keys, display_report's
# behavior is undefined.

# General configuration data for this monitor.  REQUIRED
group {
    name:	    general

    # title will set the page's title for this monitor.
    # OPTIONAL, defaults to 'Report Generator 2.0'.
    title:	    Monitor report

    # has_big will determine whether smaller timeseries graphs will link to
    # a larger timeseries graph (with the same name, but in a big/
    # subdirectory).  OPTIONAL, defaults to 0.
#    has_big:	    1

    # URL for directory that contains generated images.  REQUIRED
    # No need to include trailing slash, as one will be added by script.
    # However, doing so shouldn't break modern browsers.
    base_url:	    /report_generator/images

    # Name of header HTML file (included after <BODY>), in current directory.
    # OPTIONAL
#    head:	    cgi_head.html

    # Name of header HTML file (included before </BODY>), in current directory.
    # OPTIONAL
#    foot:	    cgi_foot.html

    # NB: If neither use_dynamic nor use_static is set to 1, no reports
    # can be displayed. 

    # Enable or disable form-based menu selection for graph/table display.
    # OPTIONAL, defaults to 0
    use_dynamic:    1

    # Enable or disable HTML links to preconfigured graph/table display.
    # OPTIONAL, defaults to 0
    use_static:	    1

    # Names a static configuration to be loaded on default.
    # OPTIONAL, requires use_static to be true, and a named 'static' stanza
    # below.
    default_static: Applications bps/pps/tps
}

# The next four stanzas are used for displaying selection options for
# form-based input.
# REQUIRED if use_dynamic is set to 1.
# Current format requires one stanza each for counters, sources, graphs,
# and timescales.
# The key is used internally for referencing generated files and in URLs
# (include static ones, see below), and the value is what is displayed to
# the user via menus.
group {
    name:	counters
    bits:	bits/sec
    packets:	packets/sec
    tuples:	tuples/sec
}

group {
    name:	    sources
    proto:	    Protocol
    app:	    Application
#    src_as:	    Source AS
#    dst_as:	    Destination AS
#    src_country:    Source Country
#    dst_country:    Destination Country
}

group {
    name:	graphs
    ts:		timeseries graphs (abs)
#    ts_perc:	timeseries graphs (%)
    pie:	pie graphs
    table:	tables
#    map:	maps
}

group {
    name:	timescales
    24:		1 day
    168:	1 week
    672:	4 weeks
    17520:	2 years
}

# Example of a static link.  Can have as many static links as desired, as
# long as they have unique 'name' keys.
# OPTIONAL, used if use_static is set to 1.
# The required keys are (in addition to 'name') 'row' and 'col'.  There
# must also be four keys corresponding to the four stanzas above, namely
# 'counters', 'sources', 'graphs' and 'timescales'.  However, to indicate
# which can have multiple values and which cannot, two must have '_sing'
# appended to them.  This allows one to narrow four degrees of freedom into
# only two.
# When four-dimensional displays are perfected, this limitation can be
# lifted.
static {
    # The text that will be used in link, must be unique
    name:		Applications bps/pps/tps

    # Which of the four groups will be used in the rows
    row:		timescales

    # Which of the four groups will be used in the columns
    col:		counters

    # For the row and column groups, a list of desired values is needed.
    counters:		bits, packets, tuples
    timescales:		24, 168, 672, 17520

    # For groups not used as row/column specifiers, append _sing to the key
    # to indicate a single desired value.
    sources_sing:	app
    graphs_sing:	ts
}
