1 The TimesTen Prometheus Exporter
The TimesTen Prometheus Exporter (TimesTen exporter or Exporter) together with Prometheus enable you to monitor the health and operation of your databases. The TimesTen exporter converts TimesTen metrics into a form supported by Prometheus. This simple integration enables you to add TimesTen to the systems that you can monitor with Prometheus.
This chapter gives an overview of Prometheus and introduces the Exporter. It explains the function of the ttExporter
utility. The chapter demonstrates how to configure the Exporter and Prometheus either with client certificate authentication or with no authentication . It also shows you how to configure Prometheus to poll (scrape) for metrics. It then shows you how to start and stop the Exporter. The chapter concludes by describing the metrics that the Exporter supports.
-
About configuring the TimesTen exporter and Prometheus with client certificate authentication
-
Configuring the TimesTen exporter and Prometheus with client certificate authentication
-
About configuring the TimesTen exporter and Prometheus with no authentication
-
Configuring the TimesTen exporter and Prometheus with no authentication
About Prometheus
Prometheus is an open source systems monitoring and alerting toolkit. It collects and stores metrics from a variety of sources. It has its own time-series database and time-series query language. You can use Prometheus directly to construct near real-time graphs of metrics or to create programmable alerts. For more information on Prometheus, see: https://prometheus.io/docs/introduction/overview/
Prometheus consists of a server that runs on your network. For information on downloading and installing Prometheus, see: https://prometheus.io/docs/introduction/first_steps/
You configure your Prometheus server to scrape (poll) some set of endpoints for metrics. Typically, Prometheus scrapes for metrics every 15 seconds by sending an HTTP
or an HTTPS
GET
request to each endpoint for the /metrics
document.
An endpoint provides an HTTP or HTTPS server that responds to a GET
on /metrics
with a plain text ASCII document containing the metrics. Endpoints identify each metric with a name, a descriptive label, and a double-precision floating point value.
- The first line of text begins with
#HELP
followed by the metric name and the metric description. - The second line of text begins with
#TYPE
followed by the metric name and the Prometheus metric type. (The metric type is discussed later.) - The third line of text begins with the metric name, followed by the optional label(s), and then the value of the metric.
-
counter: A counter is a cumulative metric that represents a single monotonically increasing counter whose value can only increase or be reset to zero on restart. An example is the number of
SELECT
statements executed. Some counter values reset, such as when you unload and load a TimesTen database from and to memory. Prometheus handles such situations automatically. -
gauge: A gauge is a metric that represents a single numerical value that can arbitrarily go up and down. An example is the number of bytes allocated for permanent space for the TimesTen database.
-
histogram: A histogram samples observations and counts them in configurable buckets. It also provides a sum of all observed values.
-
summary: A summary samples observations and provides a total count of observations and a sum of all observed values. It calculates configurable quantiles over a sliding time window.
About the TimesTen exporter
The TimesTen exporter runs on Linux x8664 systems. The Exporter is supported in TimesTen Classic and in TimesTen Scaleout.
In TimesTen Scaleout, the Exporter is supported on each host that is running either a data instance or a management instance. If there are multiple data instances on a single host, you deploy one Exporter for each data instance.
The Exporter does not run by default. You must specifically start the Exporter. The Exporter runs independently of the TimesTen instance.
The Exporter consists of a single executable program (utility) called ttExporter
. When you create a TimesTen instance, the ttExporter
utility is included as a part of the TimesTen instance. The ttExporter
utility parses command line arguments and presents itself as an HTTP
or an HTTPS
server.
When the Exporter receives an HTTP
(or HTTPS
) GET
request to /metrics
, it retrieves the TimesTen metrics from each TimesTen database that it monitors and prepares a plain text HTTP(S) response with the metrics, including help text and type information.
timesten
. Each TimesTen metric consists of:
-
Metric name: For example,
timesten_perm_allocated_bytes
-
Prometheus metric type: Either
counter
orgauge
-
Description: For example,
Bytes of permanent space allocated
timesten_perm_allocated_bytes
TimesTen metric into this Prometheus form:# HELP timesten_perm_allocated_bytes Bytes of permanent space allocated
# TYPE timesten_perm_allocated_bytes gauge
timesten_perm_allocated_bytes{dsn="mydatabase",instance="myinstance"} 1073741824
A Prometheus exporter can be configured to require client certificate authentication with Transport Layer Security (mutual TLS) or to require no authentication. The TimesTen exporter supports both configurations. While it is typical for a Prometheus exporter to operate with no authentication, the default configuration for the TimesTen exporter is client certificate authentication. In a client certificate authentication configuration, an Oracle wallet is used to store the TLS credentials.
-
To configure the Exporter with client certificate authentication, see:
-
To configure the Exporter with no authentication, see:
About configuring the TimesTen exporter and Prometheus with client certificate authentication
To use the TimesTen exporter and Prometheus with client certificate authentication, you must configure the Exporter and Prometheus to require client certificate authentication.
-
Create a self-signed certificate. The Exporter uses the server certificate to authenticate itself to clients and to authenticate client certificates. You use the
ttExporter
utility to create the self-signed certificate. The self-signed certificate must be created on the same host that the Exporter runs on. The self-signed certificate is stored in an Oracle Wallet in the directory of your choice. If you do not specify a directory, the Oracle Wallet is stored in the user's home ($HOME
) directory. TimesTen recommends that you do not store the certificate information in the user's$HOME
directory. -
Export the server certificate. You use the
ttExporter
utility to export the server certificate in PEM format to a file. This file is used by Prometheus for client certificate authentication. -
Create and export both a client certificate and a client private key. You use the
ttExporter
utility to create and export a client certificate to one file and to create and export a client private key to a second file. You must create and export a client certificate and a client private key for each Prometheus instance that scrapes metrics from the Exporter. The client certificate file and the client private key file are used by Prometheus for client certificate authentication.
See "ttExporter" in the Oracle TimesTen In-Memory Database
Reference for details on the ttExporter
utility.
After you create and export the server certificate, the client certificate, and the client private key, you must configure Prometheus to require client certificate authentication for the Exporter.
Prometheus provides a sample configuration in a file called prometheus.yml
. This file is available when you download Prometheus. There are two sections (blocks) that you need to modify. The tls_config
block is used for configuring client certificate authentication. The scrape_configs
block is used to set the remaining parameters necessary for Prometheus to securely scrape metrics from the Exporter.
tls_config
block:
-
ca_file
: This is the server certificate file that is required by Prometheus for client certificate authentication. Recall that after using the TimesTenttExporter
utility to create the server certificate, you then use thettExporter
utility again to export this server certificate to a file. It is this file that you supply for the Prometheusca_file
parameter. -
cert_file
: This is the client certificate file that is required by Prometheus for client certificate authentication. Recall that you use the TimesTenttExporter
utility to create and export the client certificate to a file. It is this file that you supply for the Prometheuscert_file
parameter. -
key_file
: This is the client private key file that is required by Prometheus for client certificate authentication. Recall that you use the TimesTenttExporter
utility to create and export the client private key to a file. It is this file that you supply for the Prometheuskey_file
parameter..
scrape_configs
block:
job_name
: This is the job name that you assign to scrape the metrics from the Exporter. You can specify any name forjob_name
.-
metrics_path
: This is the HTTPS resource path from which Prometheus fetches the TimesTen metrics from the Exporter. The Exporter uses the/metrics
HTTPS resource path. This is also the Prometheus default HTTPS resource path. Therefore, you do not have to set themetrics_path
parameter. If not set, Prometheus uses the default/metrics
for the HTTPS resource path. -
scheme
: This is the protocol scheme used for requests. The HTTPS protocol is used when you configure the Exporter and Prometheus to require client certificate authentication. You must set thescheme
parameter tohttps
. -
static_configs
block: This block contains thetargets
parameter. For thetargets
parameter, you specify the host that the Exporter runs on and the port number that the Exporter listens on. The naming convention ishost:portnumber
. For example, if the Exporter runs on themyhost
host and listens on the12345
port number, then you set thetargets
parameter tomyhost:12345
.
After you modify the Prometheus configuration file, the next step is to start the Exporter. You use the TimesTen ttExporter
utility with the -port p
option to start the Exporter (where p
is the port number that the Exporter listens on). This port number must match the port number you specify in the Prometheus configuration file. (Specifically, in the Prometheus configuration file, the port number is the port number you supply to the targets
parameter of the static_configs
block.)
Once you start the Exporter, the Exporter continues to run until you stop it with a signal such as SIGINTR
or SIGTERM
. You can also have ttExporter
write its process ID into a file when you start the Exporter. You use the ttExporter
utility with the -pid-file
pidfilename
option to accomplish this. You can then stop the Exporter by terminating the ttExporter
process ID that was stored in the pidfilename
file.
See " Configuring the TimesTen exporter and Prometheus with client certificate authentication" for a complete example illustrating how to configure the Exporter and Prometheus to have Prometheus securely scrape TimesTen metrics from the Exporter.
See "ttExporter" in the Oracle TimesTen In-Memory Database
Reference for details on the ttExporter
utility.
See https://prometheus.io/docs/prometheus/latest/configuration/configuration/ and https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config for more information on the Prometheus configuration file.
Configuring the TimesTen exporter and Prometheus with client certificate authentication
This example illustrates how to configure both the Exporter and Prometheus to require client certificate authentication. It first uses the ttExporter
utility to create and export the server certificate, to create and export the client certificate, and to create and export the client private key. It then configures Prometheus to use the server certificate, the client certificate, and the client private key that was created by the TimesTen ttExporter
utility. The example starts the Exporter. After the Exporter is started, the example verifies that Prometheus is securely scraping the TimesTen metrics that the Exporter exposes.
/metrics
endpoint. Prometheus continues to scrape the TimesTen metrics until you stop the Exporter.
About configuring the TimesTen exporter and Prometheus with no authentication
To use the TimesTen exporter and Prometheus without authentication, you must configure Prometheus for use without authentication and then start the Exporter (without authentication).
Prometheus provides a sample configuration in a file called prometheus.yml
. This file is available when you download Prometheus. In this file is a section (block) called scrape_configs
. You modify the settings of the parameters in this block in order to configure Prometheus to scrape metrics from the Exporter and to scrape such metrics without authentication.
scrape_configs
block:
job_name
: This is the job name that you assign to scrape the metrics from the Exporter. You can specify any name forjob_name
.-
metrics_path
: This is the HTTP resource path from which Prometheus fetches the TimesTen metrics from the Exporter. The Exporter uses the/metrics
HTTP resource path. This is also the Prometheus default HTTP resource path. Therefore, you do not have to set themetrics_path
parameter. If not set, Prometheus uses the default/metrics
for the HTTP resource path. -
scheme
: This is the protocol scheme used for requests. The HTTP protocol is used when you configure the Exporter and Prometheus without authentication. This is also the Prometheus default. Therefore, you do not have to set thescheme
parameter. -
static_configs
block: This block contains thetargets
parameter. For thetargets
parameter, you specify the host that the Exporter runs on and the port number that the Exporter listens on. The naming convention ishost:portnumber
. For example, if the Exporter runs on themyhost
host and listens on the12346
port number, then you set thetargets
parameter tomyhost:12346
.
After you modify the Prometheus configuration file, the next step is to start the Exporter. You use the TimesTen ttExporter
utility with the -insecure
option to start the Exporter. The -insecure
option denotes no authentication. The -port p
option is required when you start the Exporter (where p
is the port number that the Exporter listens on). This port number must match the port number you specify in the Prometheus configuration file. (Specifically, in the Prometheus configuration file, the port number is the port number you supply to the targets
parameter of the static_configs
block.)
Once you start the Exporter, the Exporter continues to run until you stop it with a signal such as SIGINTR
or SIGTERM
. You can also have ttExporter
write its process ID into a file when you start the Exporter. You use the ttExporter
utility with the -pid-file
pidfilename
option to accomplish this. You can then stop the Exporter by terminating the ttExporter
process ID that was stored in the pidfilename
file.
See " Configuring the TimesTen exporter and Prometheus with no authentication" for a complete example illustrating how to configure the Exporter and Prometheus to have Prometheus scrape TimesTen metrics from the Exporter (without authentication).
See "ttExporter" in the Oracle TimesTen In-Memory Database
Reference for details on the ttExporter
utility.
See https://prometheus.io/docs/prometheus/latest/configuration/configuration/ and https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config for more information on the Prometheus configuration file.
Configuring the TimesTen exporter and Prometheus with no authentication
This example first illustrates how to configure Prometheus without authentication. It then uses the ttExporter
utility to start the TimesTen exporter. The -insecure
option of the ttExporter
utility is used to denote no authentication. After Prometheus is configured and the Exporter is started, Prometheus can then scrape the TimesTen metrics that the Exporter exposes.
/metrics
endpoint. Prometheus continues to scrape the TimesTen metrics until you stop the Exporter.
The metrics supported by the TimesTen exporter
- TimesTen version
- Contents of the
SYS.SYSTEMSTATS
system table - Contents of the
SYS.MONITOR
system table - Contents of the
SYS.V$HEAP_INFO
system view - Contents of the
SYS.V$GRIDSTATS
system view (for TimesTen Scaleout) - Contents of the
SYS.V$BOOKMARK
system view - Contents of the
SYS.V$CKPT_HISTORY
system view - Results from the
ttLogHolds
built-in procedure - Results from the
ttPLSQLMemoryStats
built-in procedure - Results from the
ttLatchStatsGet
built-in procedure - Results from the
ttStatus
and thettGridAdmin
utilities - Operating system thread statistics for the TimesTen main daemon and sub-daemon threads
- Total size and allocated size (in bytes) of the file system space for the checkpoint files and the transaction log directories
- Metrics about the TimesTen exporter itself, including
- Current memory consumption
- Time to service the current metric request
- Number of metric requests
- Number of disallowed requests
- Total time to service metric requests
- Version of the exporter
See "Overview of the system tables and views" in the Oracle TimesTen In-Memory Database System Tables and Views Reference for information on the TimesTen system tables and system views. See "Built-In Procedures" and "Utilities" for information on the TimesTen built-in procedures and the TimesTen utilities.
Some of the metrics may not return any information, depending on the configuration. Some of the metrics pertain only to TimesTen Classic and some only to TimesTen Scaleout. Note that with few exceptions, the TimesTen exporter does not publish metrics for the underlying operating system. You can use the Node Exporter distributed with Prometheus to collect that information. For information on the Prometheus Node Exporter, see https://prometheus.io/docs/guides/node-exporter/
-
Metrics timesten_aging_lru_commit_total to timesten_cg_autorefresh_row_update_total
-
Metrics timesten_cg_awt_oracle_call_total to timesten_cg_flushed_row_total
-
Metrics timesten_cg_parawt_auto_apply_applctn_seqnum to timesten_cg_parawt_auto_apply_partitions
-
Metrics timesten_cg_parawt_auto_rx_batches to timesten_cg_parawt_auto_sorter_txns_waits
-
Metrics timesten_cg_parawt_auto_tx_applier_waits to timesten_ckpt_write_total
-
Metrics timesten_collections_timedout to timesten_cs_server_transmitted_byte_total
-
Metrics timesten_cursor_close_total to timesten_index_range_rebuild_insert_total
-
Metrics timesten_index_range_row_fetch_repl_total to timesten_lock_timeout_total
-
Metrics timesten_log_buffer_insert_byte to timesten_remote_update_executes_total
-
Metrics timesten_repl_log_out_busy_total to timesten_repl_transmitter_catch_lag_total
-
Metrics timesten_repl_transmitter_drift_request_total to timesten_table_row_insert_total
-
Metrics timesten_table_row_read_total to timesten_txn_voted_no_total
Metrics timesten_aging_lru_commit_total to timesten_cg_autorefresh_row_update_total
Metric | Type | Description |
---|---|---|
|
counter |
Number of LRU aging commits done since the database was loaded into memory |
|
counter |
Number of LRU aging cycles completed since the database was loaded into memory |
|
counter |
Number of times LRU aging high threshold is reached since the database was loaded into memory |
|
counter |
Number of times LRU aging low threshold is reached since the database was loaded into memory |
|
counter |
Number of rows deleted during LRU aging since the database was loaded into memory |
|
counter |
Number of rows that were not deleted using LRU aging because of lock contention since the database was loaded into memory |
|
counter |
Number of time-based aging commits done since the database was loaded into memory |
|
counter |
Number of time-based aging cycles completed since the database was loaded into memory |
|
counter |
Number of rows deleted during time-based aging since the database was loaded into memory |
|
counter |
Number of rows that were not deleted using time-based aging because of lock contention since the database was loaded into memory |
|
counter |
Number of times flush and sync had been called because cache config |
|
counter |
Number of times non-durable commit was used during refresh |
|
counter |
Number of autorefresh cycles completed successfully on TimesTen |
|
counter |
Number of autorefresh cycles that failed because of errors |
|
counter |
Number of full refreshes triggered during autorefresh operations |
|
counter |
Number of iterations the cache agent has attempted to garbage collect |
|
counter |
Number of rows deleted in TimesTen during autorefresh from the Oracle database |
|
counter |
Number of rows inserted in TimesTen during autorefresh from the Oracle database |
|
counter |
Number of rows updated in TimesTen during autorefresh from the Oracle database |
Metrics timesten_cg_awt_oracle_call_total to timesten_cg_flushed_row_total
Metric | Type | Description |
---|---|---|
|
counter |
Number of calls made to the Oracle database |
|
counter |
Number of AWT transactions committed on the Oracle database |
|
counter |
Number of times AWT transactions are re-tried on the Oracle database in case of an error |
|
counter |
Number of rollbacks on the Oracle database because of errors |
|
counter |
Number of PL/SQL block batches sent to the Oracle database ( |
|
counter |
Number of bytes sent to the Oracle database in PL/SQL mode ( |
|
counter |
Number of rows deleted on the Oracle database in PL/SQL mode ( |
|
counter |
Number of rows inserted on the Oracle database in PL/SQL mode ( |
|
counter |
Number of rows updated on the Oracle database in PL/SQL mode ( |
|
counter |
Number of batches sent to the Oracle database in SQL mode ( |
|
counter |
Number of bytes sent to the Oracle database in SQL mode ( |
|
counter |
Number of delete batches sent to the Oracle database in SQL mode (cacheawtmethod = 0) |
|
counter |
Number of insert batches sent to the Oracle database in SQL mode ( |
|
counter |
Number of rows deleted on the Oracle database in SQL mode ( |
|
counter |
Number of rows inserted on the Oracle database in SQL mode ( |
|
counter |
Number of rows updated on the Oracle database in SQL mode ( |
|
counter |
Number of update batches sent to the Oracle database in SQL mode ( |
|
counter |
Number of TimesTen transactions propagated to the Oracle database |
|
counter |
Dynamic cache group cache hits: Number of dynamic loads that find the requested data within the database |
|
counter |
Number of times the |
|
counter |
Number of times the connection to Oracle was closed after performing a dynamic load |
|
counter |
Number of data misses on the Oracle database when servicing dynamic load misses for dynamic global cache groups |
|
counter |
Number of data loads from the Oracle database when servicing dynamic load misses for dynamic cache groups |
|
counter |
Number of data load attempts from the Oracle database when servicing dynamic load misses for dynamic cache groups |
|
counter |
Dynamic cache group cache misses: Number of dynamic loads that do not find the requested data within the database and need to load the data from the Oracle database |
|
counter |
Number of flush cache group executions |
|
counter |
Number of bytes flushed to the Oracle database |
|
counter |
Number of rows flushed to the Oracle database |
Metrics timesten_cg_parawt_auto_apply_applctn_seqnum to timesten_cg_parawt_auto_apply_partitions
Metric | Type | Description |
---|---|---|
timesten_cg_parawt_auto_apply_applctn_seqnum |
gauge |
seqnum of applied ctn |
timesten_cg_parawt_auto_apply_applctn_timestamp |
gauge |
timestamp of applied ctn |
timesten_cg_parawt_auto_apply_batch_first_seqnum |
gauge |
Sequence component of CTN belonging to the first transaction in a parallel AWT batch |
timesten_cg_parawt_auto_apply_batch_first_timestamp |
gauge |
Timestamp component of CTN belonging to the first transaction in a parallel AWT batch |
timesten_cg_parawt_auto_apply_batch_id |
gauge |
Batch id that the applier is executing |
timesten_cg_parawt_auto_apply_batch_last_seqnum |
gauge |
Sequence component of CTN belonging to the last transaction in a parallel AWT batch |
timesten_cg_parawt_auto_apply_batch_last_timestamp |
gauge |
Timestamp component of CTN belonging to the last transaction in a parallel AWT batch |
timesten_cg_parawt_auto_apply_batches_beginwaited |
counter |
Number of times begin dependencies the applier waited on |
timesten_cg_parawt_auto_apply_batches_full |
counter |
Number of batches propagated to the Oracle database |
timesten_cg_parawt_auto_apply_batches_partial |
counter |
Number of batches propagated to the Oracle database |
timesten_cg_parawt_auto_apply_depend_begin_batchId |
counter |
Batch id that the applier is waiting for |
timesten_cg_parawt_auto_apply_depend_begin_seqnum |
gauge |
CTN seqnum that the applier is waiting for |
timesten_cg_parawt_auto_apply_depend_begin_timestamp |
gauge |
CTN timestamp that the applier is waiting for |
timesten_cg_parawt_auto_apply_depend_begin_waits_count |
counter |
Number of times applier waits on begin dependency to be fulfilled |
timesten_cg_parawt_auto_apply_depend_begin_waits_unique |
counter |
Number of times applier waits on begin dependency to be fulfilled |
timesten_cg_parawt_auto_apply_depend_commit_batchId |
counter |
Batch id that the applier is waiting for |
timesten_cg_parawt_auto_apply_depend_commit_waits_count |
counter |
Number of times applier waits on commit dependency to be fulfilled |
timesten_cg_parawt_auto_apply_depend_commit_waits_unique |
counter |
Number of times applier waits on commit dependency to be fulfilled |
|
counter |
Number of calls made to the Oracle database |
|
counter |
Number of AWT transactions committed on the Oracle database |
|
counter |
Number of times AWT transactions are re-tried on the Oracle database in case of an error |
|
counter |
Number of rollbacks on the Oracle database because of errors |
|
counter |
Number of rollbacks on the Oracle database because some one is waiting for the locks held by this batch |
|
counter |
Number of rollbacks on the Oracle database because we timed out waiting for commit |
|
counter |
Number of partitions processed by the applier |
Metrics timesten_cg_parawt_auto_apply_plsqlmode_batches to timesten_cg_parawt_auto_apply_validbatch_waits
Metric | Type | Description |
---|---|---|
|
counter |
Number of PL/SQL block batches sent to the Oracle database ( |
|
counter |
Number of bytes sent to the Oracle database in PL/SQL mode ( |
|
counter |
Number of rows deleted on the Oracle database in PL/SQL mode ( |
timesten_cg_parawt_auto_apply_plsqlmode_inserts_rows |
counter |
Number of rows inserted on the Oracle database in PL/SQL mode ( |
timesten_cg_parawt_auto_apply_plsqlmode_switches |
counter |
Number of times |
timesten_cg_parawt_auto_apply_plsqlmode_time |
gauge |
Time spent for the Oracle database accesses for AWT in PL/SQL mode |
timesten_cg_parawt_auto_apply_plsqlmode_updates_rows |
counter |
Number of rows updated on the Oracle database in PL/SQL mode ( |
timesten_cg_parawt_auto_apply_queue_waits |
counter |
Number of times applier waits on sorter to fill the partition queue |
timesten_cg_parawt_auto_apply_sqlmode_batches |
counter |
Number of batches sent to the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_bytes |
counter |
Number of bytes sent to the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_deletes_batches |
counter |
Number of delete batches sent to the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_deletes_rows |
counter |
Number of rows deleted on the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_inserts_batches |
counter |
Number of insert batches sent to the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_inserts_rows |
counter |
Number of rows inserted on the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_time |
gauge |
Time spent for the Oracle databases accesses for AWT in SQL mode |
timesten_cg_parawt_auto_apply_sqlmode_updates_batches |
counter |
Number of update batches sent to the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_sqlmode_updates_rows |
counter |
Number of rows updated on the Oracle database in SQL mode ( |
timesten_cg_parawt_auto_apply_state |
gauge |
Current state of the applier |
timesten_cg_parawt_auto_apply_time_commit |
counter |
Time spent in Oracle database commits |
timesten_cg_parawt_auto_apply_time_total |
counter |
Total time spent in applying AWT buffers |
timesten_cg_parawt_auto_apply_txns_bl |
counter |
Number of TimesTen transactions not relevant for AWT propagation |
timesten_cg_parawt_auto_apply_txns_processed |
counter |
Number of TimesTen transactions propagated to the Oracle database |
timesten_cg_parawt_auto_apply_txns_validbatch_waits |
counter |
Number of transactions with valid begin dependencies |
timesten_cg_parawt_auto_apply_validbatch_dist |
counter |
Total distance for begin dependencies |
timesten_cg_parawt_auto_apply_validbatch_waits |
counter |
Number of batches with begin dependencies |
Metrics timesten_cg_parawt_auto_rx_batches to timesten_cg_parawt_auto_sorter_txns_waits
Metric | Type | Description |
---|---|---|
timesten_cg_parawt_auto_rx_batches |
counter | Number of receiver batches |
timesten_cg_parawt_auto_rx_head_ctn_seqnum |
gauge | Sequence number of current head's CTN by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_head_ctn_timestamp |
gauge | Timestamp of current head's CTN by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_head_prevctn_seqnum |
gauge | Sequence number of previous CTN of current head by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_head_prevctn_timestamp |
gauge | Timestamp of previous CTN of current head by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_lastenq_ctn_seqnum |
gauge | Sequence number of last CTN enqueued by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_lastenq_ctn_timestamp |
gauge | Timestamp of last CTN enqueued by this receiver into sorter's queue |
timesten_cg_parawt_auto_rx_skips |
counter | Number of transactions thrown away because of unexpected CTN |
timesten_cg_parawt_auto_rx_state |
gauge | Current state of the receiver |
timesten_cg_parawt_auto_rx_time_batch |
counter | Time spent in preparing AWT buffers |
timesten_cg_parawt_auto_rx_time_enq |
counter | Time spent in enquing parallel awt txns |
timesten_cg_parawt_auto_rx_time_txngen |
counter | Time spent in generating parallel awt txns |
timesten_cg_parawt_auto_rx_txns |
counter | Number of received txns (including blanks) |
timesten_cg_parawt_auto_sorter_applctn_seqnum |
gauge | seqnum of applied ctn sorter |
timesten_cg_parawt_auto_sorter_applctn_timestamp |
gauge | timestamp of applied ctn sorter |
timesten_cg_parawt_auto_sorter_applfctn_seqnum |
gauge | seqnum of applied fctn sorter |
timesten_cg_parawt_auto_sorter_applfctn_timestamp |
gauge | timestamp of applied fctn sorter |
timesten_cg_parawt_auto_sorter_partitions_free |
counter | Number of free partitions that can be used by the sorter |
timesten_cg_parawt_auto_sorter_partitions_processed |
counter | Number of partitions dispatched by the sorter |
timesten_cg_parawt_auto_sorter_queue_waits |
counter | Number of times the sorter has to wait for the queue to give space |
timesten_cg_parawt_auto_sorter_state |
gauge | Current state of the sorter |
timesten_cg_parawt_auto_sorter_tailctn_seqnum |
gauge | seqnum of tail ctn sorter |
timesten_cg_parawt_auto_sorter_tailctn_timestamp |
gauge | timestamp of tail ctn sorter |
timesten_cg_parawt_auto_sorter_tailfctn_seqnum |
gauge | seqnum of tail fctn sorter |
timesten_cg_parawt_auto_sorter_tailfctn_timestamp |
gauge | timestamp of tail fctn sorter |
timesten_cg_parawt_auto_sorter_txns_bl |
counter | Number of TimesTen transactions not relevant for AWT propagation |
timesten_cg_parawt_auto_sorter_txns_processed |
counter | Number of transactions processed by the sorter |
timesten_cg_parawt_auto_sorter_txns_waits |
counter | Number of times the sorter has to wait for appropriate transaction |
Metrics timesten_cg_parawt_auto_tx_applier_waits to timesten_ckpt_write_total
Metric | Type | Description |
---|---|---|
timesten_cg_parawt_auto_tx_applier_waits |
counter | Number of times transmitter has to wait before it can transmit again |
timesten_cg_parawt_auto_tx_applier_waits_timeouts |
counter | Number of times transmitter has to wait before it can transmit again |
timesten_cg_parawt_auto_tx_batches |
counter | Number of transaction batches sent by the transmitter |
timesten_cg_parawt_auto_tx_master_oracle_connects |
counter | Number of attempts by master transmitter to connect to Oracle |
timesten_cg_parawt_auto_tx_master_restarts |
counter | Number of times master transmitter restarts |
timesten_cg_parawt_auto_tx_state |
gauge | Current state of the transmitter |
timesten_cg_parawt_auto_tx_txns |
counter | Number of transactions sent by the transmitter |
timesten_cg_swt_row_delete_total |
counter | Number of rows in SWT cache groups deleted on the Oracle database |
timesten_cg_swt_row_insert_total |
counter | Number of rows in SWT cache groups inserted on the Oracle database |
timesten_cg_swt_row_update_total |
counter | Number of rows in SWT cache groups updated on the Oracle database |
timesten_channel_invalidations_total |
counter | Number of channel invalidations |
timesten_channel_recv_bytes_total |
counter | Number of bytes received |
timesten_channel_recv_messages_total |
counter | Number of messages received |
timesten_channel_send_bytes_total |
counter | Number of bytes sent |
timesten_channel_send_messages_total |
counter | Number of messages sent |
timesten_checkpoint_avail_bytes |
gauge | Available bytes on file system holding checkpoints |
timesten_checkpoint_block_written_total |
counter | Number of blocks written to checkpoint files |
timesten_checkpoint_byte_written_total |
counter | Number of bytes written to checkpoint files |
timesten_checkpoint_fuzzy_total |
counter | Number of fuzzy checkpoint operations |
timesten_checkpoint_size_bytes |
gauge | Total size in bytes of file system holding checkpoints |
timesten_checkpoint_total |
counter | Number of checkpoint operations |
timesten_checkpoint_write_total |
counter | Number of writes to checkpoint files |
timesten_ckpt_completed_total |
counter | Number of checkpoints completed |
timesten_ckpt_fuzzy_completed_total |
counter | Number of fuzzy checkpoints completed |
timesten_ckpt_recovery_write_byte_total |
counter | Number of bytes written for checkpointing during database recovery |
timesten_ckpt_write_total |
counter | Number of checkpoint writes |
Metrics timesten_collections_timedout to timesten_cs_server_transmitted_byte_total
Metric | Type | Description |
---|---|---|
timesten_collections_timedout |
gauge | Database collections that timed out |
timesten_commit_buf_overflow_total |
counter | Number of commits that overflowed the buffer |
timesten_commit_dml_on_success_total |
counter | Number of DML commit on success that can be bundled with execution |
timesten_compact_total |
counter | Number of compaction operations |
timesten_connect_total |
counter | Number of connections established |
timesten_connection_cs_established |
gauge | Number of client/server connections established |
timesten_connection_disconnected |
gauge | Number of database disconnects |
timesten_connection_established |
gauge | Number of database connections established |
timesten_connection_established_direct |
gauge | Number of direct-linked database connections established |
timesten_connection_established_first_total |
counter | Number of first database connections established |
timesten_connection_established_threshold_exceeded_total |
counter | Number of database connection threshold exceeded events |
timesten_cs_row_delete_total |
counter | Number of table rows deleted by server |
timesten_cs_row_insert_total |
counter | Number of table rows inserted by server |
timesten_cs_server_commit_total |
counter | Number of transactions committed by server |
timesten_cs_server_disconnected_total |
counter | Number of client/server disconnects |
timesten_cs_server_execute_alter_total |
counter | Number of MERGE statements executed by server
|
timesten_cs_server_execute_create_total |
counter | Number of CREATE statements executed by server
|
timesten_cs_server_execute_delete_total |
counter | Number of DELETE statements executed by server
|
timesten_cs_server_execute_drop_total |
counter | Number of DROP statements executed by server
|
timesten_cs_server_execute_insert_total |
counter | Number of INSERT statements executed by server
|
timesten_cs_server_execute_select_total |
counter | Number of SELECT statements executed by server
|
timesten_cs_server_execute_update_total |
counter | Number of UPDATE statements executed by server
|
timesten_cs_server_received_byte_total |
counter | Number of client/server bytes received by server |
timesten_cs_server_rollback_total |
counter | Number of transaction rollbacks by server |
timesten_cs_server_roundtrip_total |
counter | Number of client/server round trips |
timesten_cs_server_row_update_total |
counter | Number of table rows updated by server |
timesten_cs_server_transmitted_byte_total |
counter | Number of client/server bytes transmitted by server |
Metrics timesten_cursor_close_total to timesten_index_range_rebuild_insert_total
Metric | Type | Description |
---|---|---|
timesten_cursor_close_total |
counter | Number of cursor closes |
timesten_cursor_open_total |
counter | Number of cursor opens |
timesten_database_loaded |
gauge | Database loaded |
timesten_databases |
gauge | Number of databases |
timesten_deadlock_total |
counter | Number of deadlocks |
timesten_disconnect_total |
counter | Number of disconnect operations |
timesten_first_log_file |
gauge | First log file number |
timesten_fs_log_read_total |
counter | Number of file system log file read operations |
timesten_fs_log_write_total |
counter | Number of file system log file write operations |
timesten_global_delete_executes_total |
counter | Number of grid global delete SQL statements executed |
timesten_global_executes_total |
counter | Number of grid global SQL statements executed |
timesten_global_insert_executes_tota |
counter | Number of grid global insert SQL statements executed |
timesten_global_merge_executes_total |
counter | Number of grid global merge SQL statements executed |
timesten_global_select_executes_total |
counter | Number of grid global select SQL statements executed |
timesten_global_update_executes_total |
counter | Number of grid global update SQL statements executed |
timesten_grid_database_instances |
gauge | Number of instances defined for database |
timesten_grid_database_loaded |
gauge | Non-zero if database loaded for instance |
timesten_grid_database_opened |
gauge | Non-zero if database opened for instance |
timesten_grid_database_replica_sets |
gauge | Number of replica sets defined for database |
timesten_index_hash_delete_total |
counter | Number of rows deleted from hash indexes |
timesten_index_hash_insert_total |
counter | Number of rows inserted into hash indexes |
timesten_index_hash_rebuild_insert_total |
counter | Number of rows inserted into hash indexes during index rebuild phase of database recovery |
timesten_index_hash_row_fetch_repl_total |
counter | Number of rows fetched from hash indexes during replication operations |
timesten_index_hash_row_fetch_total |
counter | Number of rows fetched from hash indexes |
timesten_index_hash_scan_repl_total |
counter | Number of hash indexes scanned during replication operations (such as insert, update and delete operations on tables) |
timesten_index_hash_scan_total |
counter | Number of hash indexes scanned |
timesten_index_range_delete_total |
counter | Number of rows deleted from range indexes |
timesten_index_range_insert_total |
counter | Number of rows inserted into range indexes |
timesten_index_range_rebuild_insert_total |
counter | Number of rows inserted into range indexes during index rebuild phase of database recovery |
Metrics timesten_index_range_row_fetch_repl_total to timesten_lock_timeout_total
Metric | Type | Description |
---|---|---|
timesten_index_range_row_fetch_repl_total |
counter | Number of rows fetched from range indexes during replication operations |
timesten_index_range_row_fetch_total |
counter | Number of rows fetched from range indexes |
timesten_index_range_scan_repl_total |
counter | Number of range indexes scanned during replication operations (such as insert, update and delete operations on tables) |
timesten_index_range_scan_total |
counter | Number of range indexes scanned |
timesten_index_range_update_total |
counter | Number of rows updated on range indexes |
timesten_index_rebuild_total |
counter | Number of indexes rebuilt |
timesten_index_temporary_create_total |
counter | Number of temporary indexes created |
timesten_index_temporary_row_fetch_repl_total |
counter | Number of rows fetched from temporary indexes during replication operations |
timesten_index_temporary_row_fetch_total |
counter | Number of rows fetched from temporary indexes |
timesten_index_temporary_scan_repl_total |
counter | Number of temporary indexes scanned during replication operations |
timesten_index_temporary_scan_total |
counter | Number of temporary indexes scanned |
timesten_instance_status |
gauge | TimesTen instance status |
timesten_local_delete_executes_total |
counter | Number of grid local delete SQL statements executed |
timesten_local_executes_total |
counter | Number of grid local SQL statements executed |
timesten_local_insert_executes_total |
counter | Number of grid local insert SQL statements executed |
timesten_local_merge_executes_total |
counter | Number of grid local merge SQL statements executed |
timesten_local_select_executes_total |
counter | Number of grid local select SQL statements executed |
timesten_local_update_executes_total |
counter | Number of grid local update SQL statements executed |
timesten_lock_acquire_dml_total |
counter | Number of locks acquired for DML activity |
timesten_lock_acquire_table_scan_total |
counter | Number of locks acquired for table scans |
timesten_lock_grant_immediate_total |
counter | Number of locks granted immediately |
timesten_lock_grant_wait_total |
counter | Number of locks granted that required waiting |
timesten_lock_timeout_total |
counter | Number of lock timeouts |
Metrics timesten_log_buffer_insert_byte to timesten_remote_update_executes_total
Metric | Type | Description |
---|---|---|
timesten_log_buffer_insert_byte |
counter | Number of bytes inserted into the log buffer |
timesten_log_buffer_insert_total |
counter | Number of log records inserted into the log buffer |
timesten_log_buffer_wait_total |
counter | Number of log buffer waits |
timesten_log_bytes_to_log_buffer_total |
counter | Number of bytes written to the log buffer |
timesten_log_commit_file_read_total |
counter | Number of file system reads from the log for commit processing |
timesten_log_commit_read_byte_total |
counter | Number of bytes read from the log for commit processing |
timesten_log_file_earliest |
gauge | Earliest log file that currently exists in the database |
timesten_log_file_generated_total |
counter | Number of log files generated so far |
timesten_log_file_latest |
gauge | Most recent log file present |
timesten_log_file_read_total |
counter | Number of file system reads |
timesten_log_file_write_total |
counter | Number of file system writes |
timesten_log_flush_frame_total |
counter | Number of frames in the most recent log flush |
timesten_log_force_total |
counter | Number of times the log is synched to disk |
timesten_log_recovery_read_byte_total |
counter | Number of log bytes read during database recovery |
timesten_logdir_avail_bytes |
gauge | Available bytes on file system holding log files |
timesten_logdir_size_bytes |
gauge | Total bytes on file system holding log files |
timesten_merge_join_total |
counter | Number of merge joins done |
timesten_metric_collection_seconds |
gauge | Time in seconds to collect metrics |
timesten_nested_loop_join_total |
counter | Number of nested loop joins done |
timesten_perm_allocated_bytes |
gauge | Bytes of permanent space allocated |
timesten_perm_in_use_bytes |
gauge | Bytes of permanent space used |
timesten_perm_in_use_high_water_bytes |
gauge | Maximum bytes of permanent space used |
timesten_rate_limited |
gauge | State of rate limiting of the exporter |
timesten_remote_delete_executes_total |
counter | Number of grid remote delete SQL statements executed |
timesten_remote_executes_total |
counter | Number of grid remote SQL statements executed |
timesten_remote_insert_executes_total |
counter | Number of grid remote insert SQL statements executed |
timesten_remote_merge_executes_total |
counter | Number of grid remote merge SQL statements executed |
timesten_remote_select_executes_total |
counter | Number of grid remote select SQL statements executed |
timesten_remote_update_executes_total |
counter | Number of grid remote update SQL statements executed |
Metrics timesten_repl_log_out_busy_total to timesten_repl_transmitter_catch_lag_total
Metric | Type | Description |
---|---|---|
timesten_repl_log_out_busy_total |
counter | Switched out of track because strand was full or busy |
timesten_repl_log_track_arbitration_total |
counter | Number of arbitration due to out of order log record |
timesten_repl_log_track_wait_total |
counter | Number of flusher waits triggered by the track |
timesten_repl_log_trackswitch_in_busy_total |
counter | Switched into track because strand was full or busy |
timesten_repl_log_trackswitch_in_timeout_total |
counter | Switched into track because of timeout |
timesten_repl_log_trackswitch_out_timeout_total |
counter | Switched out of track because of timeout |
timesten_repl_log_wait_sleeps_total |
counter | Number of times transmitter sleeps waiting for log |
timesten_repl_log_waits_total |
counter | Number of times transmitter waits for log |
timesten_repl_receiver_bulk_insert_applied_total |
counter | Number of sbLRPtnTupInsArr applied by the receiver |
timesten_repl_receiver_commit_time |
counter | Wait time on the receiver |
timesten_repl_receiver_commit_total |
counter | Number of batches for the receiver |
timesten_repl_receiver_longest_batch |
counter | Longest time to run a batch |
timesten_repl_receiver_longest_running |
gauge | Time between begin and commit execution on the receiver |
timesten_repl_receiver_max_spin_per_txn |
gauge | Max number of spins a transaction faces in the receiver |
timesten_repl_receiver_permanent_error_total |
counter | Permanent errors raised by receiver |
timesten_repl_receiver_serial_modes |
counter | Number of times parallel replication had to operate in serial mode |
timesten_repl_receiver_transient_error_total |
counter | Transient errors raised by receiver |
timesten_repl_receiver_txn_begin_waits_total |
counter | Number of times the receivers waits for begin dependency |
timesten_repl_receiver_txn_commit_no_wait_total |
counter | Number transactions for the receiver |
timesten_repl_receiver_txn_commit_total |
counter | Number of transactions for the receiver |
timesten_repl_receiver_txn_commit_wait_spin_total |
counter | Number of spins the receivers does when it waits for commit dependency |
timesten_repl_receiver_txn_commit_waits_total |
counter | Number of times the receivers waits for commit dependency |
timesten_repl_receiver_txn_opt_time |
counter | Operation time on the receiver |
timesten_repl_receiver_wait_backoff_total |
counter | The number of times that the receiver has been told to exit rxWaitCTN because it holds a lock that another thread needs
|
timesten_repl_receiver_wait_stall_2_to_5_total |
counter | Receiver begin waits between (approx) 2 and 5 seconds |
timesten_repl_receiver_wait_stall_gt_5_total |
counter | Receiver begin waits over (approx) 5 seconds |
timesten_repl_receiver_wait_stall_lt_2_total |
counter | Receiver begin waits < (approx) 2 seconds |
timesten_repl_receiver_wakeup_total |
counter | Wakeups by the deadlock detector |
timesten_repl_transmitter_bulk_insert_sent_total |
counter | Number of sbLRPtnTupInsArr records sent by the transmitter
|
timesten_repl_transmitter_catch_lag_total |
counter | An estimate of the number of seconds it would take for this transmitters sendLSN to reach the current writeLSN |
Metrics timesten_repl_transmitter_drift_request_total to timesten_table_row_insert_total
Metric | Type | Description |
---|---|---|
timesten_repl_transmitter_drift_request_total |
counter | The number of times this transmitter did a drift request |
timesten_repl_transmitter_longest_batch |
gauge | Longest time between first read and send for batch |
timesten_repl_transmitter_longest_running |
gauge | Longest Time between reading begin and commit for a transaction |
timesten_repl_transmitter_max_actions |
gauge | Largest number of actions in a transaction |
timesten_repl_transmitter_max_adapted_timeout |
gauge | Largest adapted timeout |
timesten_repl_transmitter_send_lag |
gauge | An estimate of the seconds behind the most advanced transmitter sendLSN for the relevant peer |
timesten_replication_conflict_total |
counter | Number of replication conflicts |
timesten_replication_hold_log_file |
gauge | Log file number of replication hold |
timesten_replication_hold_log_offset |
gauge | Log file offset of replication hold |
timesten_replication_peer_connection |
gauge | Number of replication peer connections |
timesten_replication_peer_retry_total |
counter | Replication peer retries |
timesten_replication_transaction_total |
counter | Number of replication transactions |
timesten_required_recovery |
gauge | If non-zero, recovery performed on start-up |
timesten_sort_total |
counter | Number of sorts done |
timesten_stmt_execute_alter_total |
counter | Number of ALTER statements executed
|
timesten_stmt_execute_create_total |
counter | Number of CREATE statements executed
|
timesten_stmt_execute_delete_total |
counter | Number of DELETE statements executed
|
timesten_stmt_execute_drop_total |
counter | Number of DROP statements executed
|
timesten_stmt_execute_insert_total |
counter | Number of INSERT statements executed
|
timesten_stmt_execute_merge_total |
counter | Number of MERGE statements executed
|
timesten_stmt_execute_select_total |
counter | Number of SELECT statements executed
|
timesten_stmt_execute_total |
counter | Number of SQL statements executed |
timesten_stmt_execute_update_total |
counter | Number of UPDATE statements executed
|
timesten_stmt_prepare_command_cache_miss_total |
counter | Number of command cache misses during statement prepare |
timesten_stmt_prepare_total |
counter | Number of statement prepares |
timesten_stmt_reprepare_automatic_total |
counter | Number of automatic statement reprepares |
timesten_stmt_reprepare_total |
counter | Number of statement reprepares, including forced and automatic |
timesten_swt_byte_total |
counter | Number of bytes sent to the Oracle database during SWT cache group operations |
timesten_table_row_delete_total |
counter | Number of table rows deleted |
timesten_table_row_insert_total |
counter | Number of table rows inserted |
Metrics timesten_table_row_read_total to timesten_txn_voted_no_total
Metric | Type | Description |
---|---|---|
timesten_table_row_read_total |
counter | Number of table rows read |
timesten_table_row_update_total |
counter | Number of table rows updated |
timesten_table_scan_total |
counter | Number of full table scans |
timesten_temp_allocated_bytes |
gauge | Bytes of temporary space allocated |
timesten_temp_in_use_bytes |
gauge | Bytes of temporary space in use |
timesten_tterrors_file_bytes |
counter | Number of bytes in tterrors.log |
timesten_ttmesg_file_bytes |
counter | Number of bytes in ttmesg.log |
timesten_tunnel_enqueued_requests_total |
counter | Number of requests enqueued for tunneling |
timesten_tunnel_false_unresponsive_total |
counter | Number of false positives for hangs detected |
timesten_tunnel_processed_requests_total |
counter | Number of requests processed by the tunnels |
timesten_tunnel_timedout_requests_total |
counter | Number of requests timed out while tunneling |
timesten_tunnel_unresponsive_total |
counter | Number of hangs detected for the tunnels |
timesten_txn_commit_durable_total |
counter | Number of durable transaction commits |
timesten_txn_commit_internal_durable_total |
counter | Number of durable internal transactions |
timesten_txn_commit_internal_replication_total |
counter | Number of replication-initiated transaction commits |
timesten_txn_commit_internal_total counter |
counter | Number of internal transactions |
timesten_txn_commit_internal_xla_total |
counter | Number of XLA-initiated transaction commits |
timesten_txn_commit_nondurable_total |
counter | Number of nondurable transaction commits |
timesten_txn_commit_replicated_durable_total |
counter | Number of durable replicated transaction commits |
timesten_txn_commit_replicated_nondurable_total |
counter | Number of nondurable replicated transaction commits |
timesten_txn_commit_total |
counter | Number of transactions committed |
timesten_txn_epoch_total |
counter | Number of committed epoch transactions |
timesten_txn_forget_alloc_total |
counter | Number of transaction forget entries allocated |
timesten_txn_forget_used_total |
counter | Number of transaction forget entries used |
timesten_txn_forget_used_total |
counter | Number of transaction forget entries used |
timesten_txn_initiated_tm_total |
counter | Number of grid transactions initiated as TM |
timesten_txn_participated_remote_total |
counter | Number of grid transactions in which participated as remote |
timesten_txn_rollback_total |
counter | Number of transaction rollbacks |
timesten_txn_srso_total |
counter | Number of transactions resolved on a single replica set |
timesten_txn_tcc_total |
counter | Number of transactions resolved by TCC |
timesten_txn_voted_no_total |
counter | Number of transactions this element has voted NOT commit
|