Privitar Query Engine and Data Proxy Metrics
Using a third-party event monitoring tool, such as Prometheus, you can capture the following metrics from the Privitar Query Engine and data proxy:
| Metric | Description | Type | 
|---|---|---|
| com_privitar_query_engine_jdbc_handler | Time spent executing the given action An equivalent metric exists in the data proxy as com_privitar_data_proxy_jdbc_handler | Timer | 
| com_privitar_query_engine_policy_enforcement | Time spent: 
 | Timer | 
| com_privitar_query_engine_policy_load | Time spent loading policies from the control plane | Timer | 
| com_privitar_query_engine_connection_details_load | Time spent loading connection details (such as JDBC URL, username, and password) from the control plane | Timer | 
| com_privitar_query_engine_underlying_db_metadata_load | Time spent loading table metadata from the underlying database | Timer | 
| Metric | Description | Type | 
|---|---|---|
| time_of_last_request_since_epoch | The timestamp of the last request received by the data proxy. This is useful to see whether a proxy has been active recently | Gauge | 
| com_privitar_data_proxy_jdbc_handler | Time spent executing the given action An equivalent metric exists in the Privitar Query Engine as com_privitar_query_engine_jdbc_handler | Timer | 
Some metrics have an action tag to discriminate between different actions covered by the same metric name. The following are explanations of each action tag:
| Action Tag | Description | Note | 
|---|---|---|
| GET_DATABASE_PROPERTIES | Returns a map of static database properties | |
| GET_TABLES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_COLUMNS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_SCHEMAS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_CATALOGS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_TABLE_TYPES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_PROCEDURES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_PROCEDURE_COLUMNS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_COLUMN_PRIVILEGES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_TABLE_PRIVILEGES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_BEST_ROW_IDENTIFIER | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_VERSION_COLUMNS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_PRIMARY_KEYS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_IMPORTED_KEYS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_EXPORTED_KEYS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_CROSS_REFERENCE | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_TYPE_INFO | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_INDEX_INFO | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_UDTS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_SUPER_TYPES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_SUPER_TABLES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_ATTRIBUTES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_CLIENT_INFO_PROPERTIES | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_FUNCTIONS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_FUNCTION_COLUMNS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| GET_PSEUDO_COLUMNS | Executed when the corresponding method on the java.sql.DatabaseMetaData interface is executed | See the Javadoc of that method for more information. | 
| CREATE_ITERABLE | Creates an iterable for a result set | |
| PREPARE | Prepares a statement | Executed when java.sql.Connection#prepareStatement is used | 
| PREPARE_AND_EXECUTE | Prepares and executes a statement, and if the query has a result set then fetches the first frame of data | Changed from PREPARE_AND_EXECUTE_DEPRECATED for v1.1.1 of the platform | 
| PREPARE_AND_EXECUTE_BATCH | Prepares a statement and then executes a number of SQL commands in one pass | Executed when java.sql.Statement#executeBatch is used | 
| EXECUTE_BATCH | Executes a collection of bound parameter values on a prepared statement | Executed when java.sql.PreparedStatement#executeBatch is used | 
| FETCH | Returns a frame of rows | |
| EXECUTE | Executes a prepared statement | Executes a prepared statement. Executed when java.sql.PrepatedStatement#execute is used. Changed from EXECUTE_DEPRECATED for v1.1.1 of the platform | 
| CREATE_STATEMENT | Called during the creation of a statement | |
| CLOSE_STATEMENT | Closes a statement | Executed when java.sql.Statement#close is used | 
| OPEN_CONNECTION | Opens (creates) a connection | |
| CLOSE_CONNECTION | Closes a connection | |
| SYNC_RESULTS | Resets the ResultSet on a statement | For Privitar use only. Not a JDBC method. Used to manage internal state | 
| COMMIT | Makes all changes since the last commit or rollback permanent | Executed when java.sql.Connection#commit is used | 
| ROLLBACK | Undoes all changes since the last commit or rollback | Executed when java.sql.Connection#rollback is used | 
| CONNECTION_SYNC | Synchronizes client and server view of connection properties | For Privitar use only. Not a JDBC method. Used to manage internal state |