casacore::TableTrace Class Reference

Class with static functions for tracing column IO. More...

#include <TableTrace.h>

List of all members.

Public Types

enum  ColType {
  SCALAR,
  ARRAY,
  RECORD
}
enum  Oper {
  READ,
  WRITE
}

Static Public Member Functions

static int traceColumn (const ColumnDesc &)
 Does the given column have to be traced for read and/or write? bit 0 set means read tracing; bit 1 write tracing.
static int traceTable (const String &tableName, char oper)
 If needed, write a trace message for table open or create.
static void traceClose (const String &tableName)
 If needed, trace closing a table.
static void traceFile (int tabid, const String &oper)
 If needed, trace an operation on a table.
static void traceRefTable (const String &parentName, char oper)
 If needed, write a trace message for reftable open, create, or close.
static void trace (int tabid, const String &columnName, char oper)
 If needed, write a trace message Write a trace message for a scalar column.
static void trace (int tabid, const String &columnName, char oper, Int64 row)
 Write a trace message for a scalar row.
static void trace (int tabid, const String &columnName, char oper, const RefRows &rownrs)
 Write a trace message for ranges of scalar rows.
static void trace (int tabid, const String &columnName, char oper, const IPosition &shape)
 Write a trace message for an array column.
static void trace (int tabid, const String &columnName, char oper, Int64 row, const IPosition &shape)
 Write a trace message for an array row.
static void trace (int tabid, const String &columnName, char oper, const RefRows &rownrs, const IPosition &shape)
 Write a trace message for ranges of array rows.
static void trace (int tabid, const String &columnName, char oper, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
 Write a trace message for an array column slice.
static void trace (int tabid, const String &columnName, char oper, Int64 row, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
 Write a trace message for an array row slice.
static void trace (int tabid, const String &columnName, char oper, const RefRows &rownrs, const IPosition &shape, const IPosition &blc, const IPosition &trc, const IPosition &inc)
 Write a trace message for ranges of array rows slice.

Static Private Member Functions

static void initTracing ()
 Initialize the tracing mechanism which should be done only once.
static void initOper ()
static void initColumn ()
static int findTable (const String &name)
 Find the table name in the vector.
static void writeTraceFirst (int tabid, const String &name, char oper)
 Write the first part of the trace message.
static void writeRefRows (const RefRows &rownrs)
 Write the RefRows as vector of rows or slices.
static void writeSlice (const IPosition &blc, const IPosition &trc, const IPosition &inc)
 Write the blc, trc, and inc of an array slice.

Static Private Attributes

static Mutex theirMutex
static std::ofstream theirTraceFile
static std::ostream * theirStream
static int theirDoTrace
static int theirOper
static int theirColType
static std::vector< RegextheirColumns
static std::vector< StringtheirTables

Detailed Description

Class with static functions for tracing column IO.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Synopsis

This class contains some static functions to enable table and column tracing. It maintains a map of table name to table-id.
The following aipsrc variables variables determine if tracing will be done, and if so, which columns and operations will be traced.

If both table.trace.columntype and table.trace.column have an empty value, all array columns are traced.

Definition at line 91 of file TableTrace.h.


Member Enumeration Documentation

Enumerator:
SCALAR 
ARRAY 
RECORD 

Definition at line 94 of file TableTrace.h.

Enumerator:
READ 
WRITE 

Definition at line 99 of file TableTrace.h.


Member Function Documentation

static int casacore::TableTrace::findTable ( const String name  )  [static, private]

Find the table name in the vector.

-1 is returned if not found.

static void casacore::TableTrace::initColumn (  )  [static, private]
static void casacore::TableTrace::initOper (  )  [static, private]
static void casacore::TableTrace::initTracing (  )  [static, private]

Initialize the tracing mechanism which should be done only once.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
const RefRows rownrs,
const IPosition shape,
const IPosition blc,
const IPosition trc,
const IPosition inc 
) [static]

Write a trace message for ranges of array rows slice.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
Int64  row,
const IPosition shape,
const IPosition blc,
const IPosition trc,
const IPosition inc 
) [static]

Write a trace message for an array row slice.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
const IPosition shape,
const IPosition blc,
const IPosition trc,
const IPosition inc 
) [static]

Write a trace message for an array column slice.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
const RefRows rownrs,
const IPosition shape 
) [static]

Write a trace message for ranges of array rows.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
Int64  row,
const IPosition shape 
) [static]

Write a trace message for an array row.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
const IPosition shape 
) [static]

Write a trace message for an array column.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
const RefRows rownrs 
) [static]

Write a trace message for ranges of scalar rows.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper,
Int64  row 
) [static]

Write a trace message for a scalar row.

static void casacore::TableTrace::trace ( int  tabid,
const String columnName,
char  oper 
) [static]

If needed, write a trace message Write a trace message for a scalar column.

static void casacore::TableTrace::traceClose ( const String tableName  )  [static]

If needed, trace closing a table.

It removes the table from the map.

static int casacore::TableTrace::traceColumn ( const ColumnDesc  )  [static]

Does the given column have to be traced for read and/or write? bit 0 set means read tracing; bit 1 write tracing.

static void casacore::TableTrace::traceFile ( int  tabid,
const String oper 
) [static]

If needed, trace an operation on a table.

static void casacore::TableTrace::traceRefTable ( const String parentName,
char  oper 
) [static]

If needed, write a trace message for reftable open, create, or close.

static int casacore::TableTrace::traceTable ( const String tableName,
char  oper 
) [static]

If needed, write a trace message for table open or create.

It adds the table to the map and returns the table-id.

static void casacore::TableTrace::writeRefRows ( const RefRows rownrs  )  [static, private]

Write the RefRows as vector of rows or slices.

static void casacore::TableTrace::writeSlice ( const IPosition blc,
const IPosition trc,
const IPosition inc 
) [static, private]

Write the blc, trc, and inc of an array slice.

static void casacore::TableTrace::writeTraceFirst ( int  tabid,
const String name,
char  oper 
) [static, private]

Write the first part of the trace message.


Member Data Documentation

int casacore::TableTrace::theirColType [static, private]

Definition at line 182 of file TableTrace.h.

std::vector<Regex> casacore::TableTrace::theirColumns [static, private]

Definition at line 183 of file TableTrace.h.

int casacore::TableTrace::theirDoTrace [static, private]

Definition at line 180 of file TableTrace.h.

Definition at line 177 of file TableTrace.h.

int casacore::TableTrace::theirOper [static, private]

Definition at line 181 of file TableTrace.h.

std::ostream* casacore::TableTrace::theirStream [static, private]

Definition at line 179 of file TableTrace.h.

std::vector<String> casacore::TableTrace::theirTables [static, private]

Definition at line 184 of file TableTrace.h.

std::ofstream casacore::TableTrace::theirTraceFile [static, private]

Definition at line 178 of file TableTrace.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1