Administrative Guide

This section describes ADEI configuration

ADEI Administrative Pages

  • http:adei/admin/ - Provides information on the cache and display log files
  • http:adei/wiki.php - ADEI WiKi editor

The data source description

  • title - The data source title
  • reader - The name of the READER class
  • host - The host name or IP address of the data source (database server, etc.)
  • port - The network port of the data source (0 - instructs to use default)
  • user - The user name (if required)
  • password - The password (if required)
  • database - The list (array("db1", "db2")) of databases
  • timeout - The reader access timeout
  • ping - The flag instructs ADEI to ping the server before actually trying access it. If the ping is not answered within specified timeout, the data source considered unavailable.

The following options are specific to the database-based sources

  • driver - The PDO driver used to access the database (mysql, odbc, ...)
    • subdrv - For multi-database drivers, like odbc, specifies the actual driver to be used (FreeTDS, ...)
    • sqldrv - For multi-database drivers, like odbc, specifies the SQL dialect to be used (mssql, ...)

The data source options

  • ignore_subseconds - Ignore subsecond part of timestamps
  • fill_raw_first - Fill RAW cache table completely prior to processing aggregating cache tables
  • optimize_empty_cache - Do not fill lower resolution cache intervals if encompassing one is empty
  • use_cache_timewindow - Shrink time window to the currently cached data
  • use_cache_reader - Do not access data source while reading cache
  • overcome_reader_faults - Use CACHE if connection to reader is failed
  • optimize_time_axes - Limit time window size by the available data
  • use_md5_postfix - Use md5 for table name postfixes in the caching database
  • null_value - The numeric value to use instead of NULL (missing data) when needed
  • disable_caching - The CACHE should not be generated, Item for real-time display only
  • timezone - In which timezone the timestamps are returned by the data source
  • trace_timings - Instructs CACHE to compute and report it's timings, the following values are accepted:
    • true - Just report timings in the caching code
    • associative array with the following members
      • overall_only - Only process overall timings, otherwise the timings will be computed and verified on each access to the data source
      • limit_interval - Defines minimal time range (in seconds), for which the timings should be measured
      • limit_processing_time - Maximal number of seconds to process query (the fractional number may be used)
      • limit_percentage - Sets the maximum ratio of processing time to the time range. I.e. if this value set to 30, the 10 seconds interval must be processed in a less than 3 seconds.
      • raise_exception - If the limits are failed, the error exception should be raised, otherwise, the information is just logged
  • date_limit - Ignore the data outside of the specified time range. The following time format should be used "YYYY-mm-dd hh:mm:ss". Two different modes are supported:
    • "start_time" - just ignore the data older than the start_time
    • array("start_time", "end_time") - ignore everything outside of the range
  • maximal_allowed_gap - The expected rate in seconds, if the distance between records greater than specified value, some records were not recorded due to some problems.
  • ignore_invalid_data - Instructs ADEI to silently ignore the invalid data
  • cache_config - Defines the configuration of caching levels
  • min_resolution - The minimal CACHE resolution to use (for example if we have records recorded once a minute, it sense-less to use caching levels bellow 600)
  • channel_uids - Use channel names as uids. The following values are accepted:
    • true - use all channel names as uids
    • "regular_expression" - use channel names as uids only for channels which names are matching regular expression
  • axis - associate channel uids with the axis, the following format should be used:
       "regular_expression" => "axis_name",
       "*" => "axis_name_for_the_rest_of_channels"
  • data_filters - the set of data filters? which should be used to preprocess the RAW data. The following format is be used:
     "FILTERClass" => array(...),  // array contain properties for the FILTERClass constructor
     "BADVALUEFilter => array(
         "badvalue" => 1999,

DBReader-specific options

  • tables - Specifies the list of tables which are the logging groups and rules to convert the table name into the group id's and titles. See following example for details:
       "regular_expression" => array(
         'gid' => "group id",
         'title' => "group title"
      "/^module_(.*)$/ => array(
        'gid' => '${1}',
        'title' => 'Module ${1}'
  • groups - Associates group id's with table names. See following examples for details:
       "regular_expression_on_gid" => "table_name",
       "/.*/" => "mda.module_${1}"
  • columns - The associative array which specifies timestamp and data columns in the logging tables
       "time" => "timestamp_column_name",
       "data" => "regular_expression_selecting_proper_data_columns"
  • time_module - Defines a time module? which is used to convert database timestamps into the UNIX timestamps used by ADEI.
  • time_options - The options to be passed to the time module
  • timesort - Specifies a sorting mode for the timestamps in the database. If not specified it is expected what the database has records sorted by timestamp. The following values are accepted
    • 0 - the database timestamps are sorted and additional sort should not be performed
    • 1 - the database timestamps should be sorted in ascending way
    • -1 - the database timestamps should be sorted in descending way
    • "query" - the SORT part of the SQL query which should be used to sort the records in database

ZEUS-specific options

  • timestamp_channels - Groups is prefixed with two channels with acquisition timestamps
    • true - 2 channels
    • #number - the specified number of channels
  • alarm_severity - Ignore alarms with severity below the specified

Global options

  • $ADEI_DB - The associative array describing ADEI database: host, port, database, user, password.