Difference between revisions of "Hs config"

From MidasWiki
Jump to navigation Jump to search
Line 49: Line 49:
= Using the MIDAS history =
= Using the MIDAS history =
Also see here:
* http://ladd00.triumf.ca/~daqweb/doc/midas-old/html/F_History_logging.html
= Using the ODBC history =
= Using the ODBC history =

Revision as of 23:44, 14 August 2013


New history configuration defines history channels similar to logger channels. Each history channel creates a history interface class (class MidasHistoryInterface). The mlogger can use this interface to write data into the history, mhttpd, mhist & co can use this interface to read data from the history. The interface is defined in history.h

History drivers

The MIDAS distribution contains these drivers. More drivers can be easily added by the user (create history_xxx.cxx, add constructor to hs_get_histrory(), create the ODB /Logger/History/x/channel).

  • "MIDAS" is the traditional MIDAS history, data is stored in the .hst binary files. (format is documented here mhformat, see also mhist and mhdump)
  • "ODBC" stores history data in SQL database using the ODBC abstraction layer. MySQL is fully supported, Pgsql support is partially implemented, support for arbitrary ODBC driver is easy to add.
  • "SQLITE" stores data in SQLITE3 .sqlite3 files. The SQL table format is similar to ODBC history, performance is similar, no database server required.

ODB tree

  • /Logger/
    • History/0/ --- history channel 0 (by default: "MIDAS")
      • Type --- driver type ("MIDAS")
      • Active --- y/n --- tells mlogger to write data into this channel
      • Debug --- debug level
      • PerVariableHistory --- tells mlogger to enable the Per-variable history logging mode
    • History/1/ --- history channel 1 (by default: "ODBC")
      • Type --- driver type ("ODBC")
      • Active --- y/n
      • Debug --- debug level
      • Writer_ODBC_DSN --- ODBC Data Source Name for writing (used by mlogger)
      • Reader_ODBC_DSN --- ODBC Data Source Name for reading (used by mhttpd, mhist)
    • History/2/ --- history channel 2 (by default: "SQLITE")
      • Type --- driver type ("SQLITE")
      • Active --- y/n
      • Debug --- debug level
      • Sqlite dir --- "/file/system/path" location of SQLITE database files
  • /History/
    • LoggerHistoryChannel --- "0" --- default history channel for mhttpd, mhist & co

Obsoleted ODB settings:

  • /Logger/WriteFileHistory (y) --- use /Logger/History/0/Active (enable/disable writing of .hst history files)
  • /Logger/ODBC* --- use /Logger/History/1/Writer_ODBC_DSN
  • /History/PerVariableHistory --- use /Logger/History/0/PerVariableHistory (is ODBC or SQLITE history is enable, PerVariableHistory mode is forced to "y")
  • /History/ODBC* --- use /Logger/History/1/Reader_ODBC_DSN

Other ODB settings:

  • /Logger/History dir --- location of "MIDAS" history data files
  • /History/Events, /History/Tags, /History/DisableTags --- private data storage by "MIDAS" history. (not used by ODBC and SQLITE history)

Using the MIDAS history

Also see here:

Using the ODBC history

Using the SQLITE history

No special configuration required. Create a directory for storage of sqlite history files, save it's path in ODB "/Logger/History/1/Sqlite dir", set "/Logger/History/1/Active" to "y", set "/History/LoggerHistoryChannel" to "1", restart mhttpd, restart mlogger. In the history data directory you should see files with name "mh_xxx.sqlite3" corresponding to your equipment and variable names.