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 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.

For each metric, a Prometheus exporter provides help text and a data type. An Exporter provides this information with lines of text that look like comments. For example, for each metric:
  • 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.
Prometheus supports four metric types:
  • 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.

For more information on Prometheus metric types, see: https://prometheus.io/docs/concepts/metric_types/

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.

The TimesTen metrics are collected from a variety of sources, including the TimesTen system tables and views and the TimesTen built-in procedures and utilities. Each TimesTen metric is prefixed with timesten. Each TimesTen metric consists of:
  • Metric name: For example, timesten_perm_allocated_bytes

  • Prometheus metric type: Either counter or gauge

  • Description: For example, Bytes of permanent space allocated

See "The metrics supported by the TimesTen exporter" for a complete list of all the TimesTen metrics that the Exporter supports.
The Exporter converts each TimesTen metric into a format that Prometheus supports. For example, the Exporter converts the 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.

The configuration requirements differ depending on whether you configure the TimesTen exporter with client certificate authentication or with no authentication.

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.

To configure the Exporter, you must:
  • 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.

Specifically, you must modify these settings in the 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 TimesTen ttExporter utility to create the server certificate, you then use the ttExporter utility again to export this server certificate to a file. It is this file that you supply for the Prometheus ca_file parameter.

  • cert_file: This is the client certificate file that is required by Prometheus for client certificate authentication. Recall that you use the TimesTen ttExporter utility to create and export the client certificate to a file. It is this file that you supply for the Prometheus cert_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 TimesTen ttExporter utility to create and export the client private key to a file. It is this file that you supply for the Prometheus key_file parameter..

In addition, you must modify these general settings in the 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 for job_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 the metrics_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 the scheme parameter to https.

  • static_configs block: This block contains the targets parameter. For the targets parameter, you specify the host that the Exporter runs on and the port number that the Exporter listens on. The naming convention is host:portnumber. For example, if the Exporter runs on the myhost host and listens on the 12345 port number, then you set the targets parameter to myhost: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.

  1. Create a subdirectory to store the Oracle Wallet containing the certificate information used by the Exporter. This example creates the mycertdir subdirectory.
    mkdir -p mycertdir
  2. Use the ttExporter utility with the -create-server-certificate to create the self-signed certificate and store an Oracle Wallet containing the certificate information. Use the -certificate-directory option to specify the location for the certificate information (mycertdir, in this example). If you do not specify -certificate-directory, ttExporter creates and stores an Oracle Wallet containing the certificate information in your user's $HOME directory. Perform this step one time.
    % ttExporter -create-server-certificate -certificate-directory mycertdir
    % ls -a mycertdir
    .  ..  .ttwallet.C76FCD9A-E5C8-4AC5-A73D-7DAB72203E43
    % ls -a mycertdir/.ttwallet.C76FCD9A-E5C8-4AC5-A73D-7DAB72203E43
    .  ..  cwallet.sso
  3. Use the ttExporter utility with the -export-server-certificate option to export the server certificate in PEM format. This example exports the server certificate to the server.crt file in the mycertdir directory. You must provide the -certificate-directory option since you specified it when you created the server certificate. This example also verifies that the mycertdir/server.crt file was created. Note that you will later supply the mycertdir/server.crt file for the ca_file parameter in the tls_config block of the Prometheus configuration file.
    % ttExporter -export-server-certificate mycertdir/server.crt -certificate-directory mycertdir
    % cat mycertdir/server.crt
    -----BEGIN CERTIFICATE-----
    MIIDtzCCAp+gAwIBAgIJANV4RZyydnFrMA0GCSqGSIb3DQEBCwUAMHIxCzAJBgNV
    ...
    4PtJlBCXt6ogsceJI8xrCxcfUjPh9TxBWQfeW2vI+AfmUEzXTrYa+xSmkg==
    -----END CERTIFICATE-----
  4. Use the ttExporter utility with the -export-client-certificate and the -export-client-private-key options to create and export a client certificate to a file (mycertdir/client.crt, in this example) and a client private key to a second file (mycertdir/key.crt, in this example). You must also provide the -certificate-directory option, since you specified it when you created the server certificate. These options must be specified together. This steps also verifies that the mycertdir/client.crt and the mycertdir/key.crt were created. Note that you will later supply the mycertdir/client.crt file for the cert_file parameter and the mycertdir/key.crt file for the key_file in the tls_config block of the Prometheus configuration file.

    Note:

    Create a client certificate and private key for each Prometheus instance that scrapes metrics from the Exporter.
    % ttExporter -export-client-certificate mycertdir/client.crt 
        -export-client-private-key mycertdir/key.crt -certificate-directory mycertdir
    % cat mycertdir/client.crt
    -----BEGIN CERTIFICATE-----
    MIIDXTCCAkUCCCPYOo/eJJFMMA0GCSqGSIb3DQEBCwUAMHIxCzAJBgNVBAYTAlVT
    ...
    c18fFPkKcsJIJqYudoY8u1mIzThdjVhA8zY25vPU6exxAKw1BmJPuwqexyIpbNNH
    LA==
    -----END CERTIFICATE-----
    % cat mycertdir/key.crt
    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAIBAAKCAQEA0/+ERz/MgA34Uv+UNnlRPDnssl4QKyevd05vc/1wrSDwEZJy
    ...
    l+Mi8MgmjKInXkmRotxWbJ6LSQY5wiol5HhwLTTCQgoCdVTO+usaXQ==
    -----END RSA PRIVATE KEY-----
  5. Configure Prometheus to securely scrape metrics from the Exporter. This requires that you modify the Prometheus configuration file (prometheus.yml) by setting the ca_file, the cert_file, and the key_file parameters in the tls_config block of the scrape configuration (scrape_configs) block. You also must set general parameter settings in the scrape_configs block.
    Specifically, modify these parameters in the scrape_configs block:
    • job_name: Specify the job name assigned to scrape the metrics (tt_12345, in this example).
    • metrics_path: There is no need to specify the metrics_path as the default is /metrics. The Exporter uses the /metrics default as the HTTPS resource path on which Prometheus fetches the TimesTen metrics from the Exporter.
    • scheme: You must specify the https scheme to ensure The Exporter and the Prometheus instance operate with client server authentication.
    • tls_config block:
      • ca_file: Specify the server certificate file that was exported when you ran ttExporter -export-server-certificate (mycertdir/server.crt, in this example).
      • cert_file: Specify the client certificate file that was created and exported when you ran ttExporter -export-client-certificate (mycertdir/client.crt, in this example)
      • key_file: Specify the client private key that was created and exported when you ran ttExporter - export-client-private-key ( mycertdir/key.crt, in this example)
    • static_configs block: For the targets parameter, specify the host that the Exporter will be running on and the port number that the Exporter will be listening on (myhost:12345, in this example).
    vi prometheus.yml
    ...
    scrape_configs:
      - job_name: 'tt_12345'
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.
      scheme: https
      tls_config:
        ca_file: mycertdir/server.crt
        cert_file: mycertdir/client.crt
        key_file: mycertdir/key.crt
      static_configs:
        - targets: ['myhost:12345']
  6. Use the ttExporter utility to start the Exporter. You must specify the -port option. Ensure to specify the same port as what was specified in the Prometheus configuration file (12345, in this example). You must also provide the -certificate-directory option since this option was specified when you create the server certificate. Optionally, specify the -pid-file option to store the process ID of ttExporter in a file. In this example, the file is /tmp/ttexporter.pid and the process ID is 24302.
    % ttExporter -port 12345 -pid-file /tmp/ttexporter.pid -certificate-directory mycertdir
    % cat /tmp/ttexporter.pid
    24302
    % ps 24302
      PID TTY      STAT   TIME COMMAND
    24302 pts/0    Sl+    0:00 timesten_home/bin/_ttExporter -port 12345 -pid-file /tmp/ttexporter.pid 
    -certificate-directory mycertdir
  7. [Optional and for verification purposes only]: Navigate to the certificate directory (mycertdir, in this example). Then use the Linux curl command to verify the TimesTen metrics are exposed and available for Prometheus to scrape.
    % cd mycertdir
    % curl --cacert server.crt --cert ./client.crt --key ./key.crt https://myhost:12345/metrics
    
    % curl --cacert server.crt --cert ./client.crt --key key.crt https://myhost:12345/metrics
    ...
    # HELP timesten_perm_in_use_bytes Bytes of permanent space used
    # TYPE timesten_perm_in_use_bytes gauge
    timesten_perm_in_use_bytes{dsn="mydsn",instancename="myinstance"} 20385792
    # HELP timesten_perm_in_use_high_water_bytes Maximum bytes of permanent space used
    # TYPE timesten_perm_in_use_high_water_bytes gauge
    timesten_perm_in_use_high_water_bytes{dsn="mydsn",instancename="myinstance"} 20385792
    ...
  8. (Optional): This step illustrates that you can stop the Exporter. This terminates the ttExporter process. Prometheus no longer scrapes the endpoint. Recall that the -pid-file option was specified when you started the Exporter. Use the Linux pkill -F command to terminate the process ID. Recall the example stores the process ID in the /tmp/ttexporter.pid file and that the process ID is 24302.
    % pkill -F /tmp/ttexporter.pid
    % cat /tmp/ttexporter.pid
    24302
    % ps 24302
      PID TTY      STAT   TIME COMMAND
    
You successfully configured the Exporter and Prometheus to require client certificate authentication. You also started the Exporter. Prometheus is securely scraping the TimesTen metrics that the Exporter exposes at the /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.

In particular, you modify these settings in the 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 for job_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 the metrics_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 the scheme parameter.

  • static_configs block: This block contains the targets parameter. For the targets parameter, you specify the host that the Exporter runs on and the port number that the Exporter listens on. The naming convention is host:portnumber. For example, if the Exporter runs on the myhost host and listens on the 12346 port number, then you set the targets parameter to myhost: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.

  1. Configure Prometheus to scrape metrics from the TimesTen exporter by modifying the scrape_config block of the Prometheus configuration file (prometheus.yml, in this example).
    Modify these parameters in the scrape_configs block of the Prometheus configuration file (prometheus.yml, in this example):
    • job_name: Specify the job name assigned to scrape the metrics (tt_12346, in this example).
    • metrics_path: The Exporter uses /metrics as the HTTP resource path, which is also the Prometheus default. Therefore, you do not need to set the metrics_path parameter.
    • scheme: The Exporter uses the HTTP protocol scheme which is the scheme that is used for no authentication. This is also the Prometheus default. Therefore, you do not need to set the scheme parameter.
    • static_configs section: You must specify the name of the host and the port number for the targets parameter. The host is the server that Exporter will run on and the port number is the port that the Exporter will listen on (myhost:12346, in this example).

      Note:

      The port number must be the same as the port number you use to start the Exporter.
    vi prometheus.yml
    ...
    scrape_configs:
    - job_name: 'tt_12346'
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.
      static_configs:
        - targets: ['myhost:12346']
    ...
  2. Use the ttExporter utility to start the Exporter. Specify the -insecure and -port options. Both of these options are required. Ensure to specify the same port as what was specified in the Prometheus configuration file (12346, in this example). Optionally, specify the -pid-file option to store the process ID of ttExporter in a file. In this example, the file is /tmp/ttexporter.pid2 and the process ID is 942.
    % ttExporter -insecure -port 12346 -pid-file /tmp/ttExporter2.pid
    % cat /tmp/ttexporter2.pid
    942
  3. [Optional]: From your browser, enter http://myhost:12346/metrics. This enables you to verify that the Exporter has converted the TimesTen metrics into the form required by Prometheus. See "The metrics supported by the TimesTen exporter" for the supported TimesTen metrics.
    In browser: http://myhost:12346/metrics
    ...
    # HELP timesten_perm_in_use_bytes Bytes of permanent space used
    # TYPE timesten_perm_in_use_bytes gauge
    timesten_perm_in_use_bytes{dsn="mydsn",instancename="myinstance"} 20385792
    # HELP timesten_perm_in_use_high_water_bytes Maximum bytes of permanent space used
    # TYPE timesten_perm_in_use_high_water_bytes gauge
    timesten_perm_in_use_high_water_bytes{dsn="mydsn",instancename="myinstance"} 20385792
    ...
  4. (Optional): This step illustrates that you can stop the Exporter. This terminates the ttExporter process. Prometheus no longer scrapes the endpoint. Recall that the -pid-file option was specified when you started the Exporter. Use the Linux pkill -F command to terminate the process ID. Recall the example stores the process ID in the /tmp/ttexporter2.pid file and that the process ID is 942.
    % pkill -F /tmp/ttexporter2.pid
    % cat /tmp/ttexporter2.pid
    942
    % ps 942
      PID TTY      STAT   TIME COMMAND
    
You successfully configured Prometheus and started the Exporter. Prometheus is scraping the TimesTen metrics that the Exporter exposes at the /metrics endpoint. Prometheus continues to scrape the TimesTen metrics until you stop the Exporter.

The metrics supported by the TimesTen exporter

The TimesTen exporter supports the following metrics:
  • 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 the ttGridAdmin 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

Metric Type Description

timesten_aging_lru_commit_total

counter

Number of LRU aging commits done since the database was loaded into memory

timesten_aging_lru_cycle_total

counter

Number of LRU aging cycles completed since the database was loaded into memory

timesten_aging_lru_high_threshold_reached_total

counter

Number of times LRU aging high threshold is reached since the database was loaded into memory

timesten_aging_lru_low_threshold_reached_total

counter

Number of times LRU aging low threshold is reached since the database was loaded into memory

timesten_aging_lru_row_deleted_total

counter

Number of rows deleted during LRU aging since the database was loaded into memory

timesten_aging_lru_row_skipped_total

counter

Number of rows that were not deleted using LRU aging because of lock contention since the database was loaded into memory

timesten_aging_timebased_commit_total

counter

Number of time-based aging commits done since the database was loaded into memory

timesten_aging_timebased_cycle_total

counter

Number of time-based aging cycles completed since the database was loaded into memory

timesten_aging_timebased_row_deleted_total

counter

Number of rows deleted during time-based aging since the database was loaded into memory

timesten_aging_timebased_row_skipped_total

counter

Number of rows that were not deleted using time-based aging because of lock contention since the database was loaded into memory

timesten_cg_ar_flush_sync_total

counter

Number of times flush and sync had been called because cache config CacheCommitDurable is set to 0

timesten_cg_ar_nondurable_commit_total

counter

Number of times non-durable commit was used during refresh

timesten_cg_autorefresh_cycle_total

counter

Number of autorefresh cycles completed successfully on TimesTen

timesten_cg_autorefresh_failed_cycle_total

counter

Number of autorefresh cycles that failed because of errors

timesten_cg_autorefresh_full_refresh_total

counter

Number of full refreshes triggered during autorefresh operations

timesten_cg_autorefresh_logtblspacepct_exceeded_total

counter

Number of iterations the cache agent has attempted to garbage collect

timesten_cg_autorefresh_row_delete_total

counter

Number of rows deleted in TimesTen during autorefresh from the Oracle database

timesten_cg_autorefresh_row_insert_total

counter

Number of rows inserted in TimesTen during autorefresh from the Oracle database

timesten_cg_autorefresh_row_update_total

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

timesten_cg_awt_oracle_call_total

counter

Number of calls made to the Oracle database

timesten_cg_awt_oracle_commit_total

counter

Number of AWT transactions committed on the Oracle database

timesten_cg_awt_oracle_retry_total

counter

Number of times AWT transactions are re-tried on the Oracle database in case of an error

timesten_cg_awt_oracle_rollback_total

counter

Number of rollbacks on the Oracle database because of errors

timesten_cg_awt_plsql_mode_batch_total

counter

Number of PL/SQL block batches sent to the Oracle database (cacheawtmethod = 1)

timesten_cg_awt_plsql_mode_byte_total

counter

Number of bytes sent to the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_awt_plsql_mode_row_delete_total

counter

Number of rows deleted on the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_awt_plsql_mode_row_insert_total

counter

Number of rows inserted on the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_awt_plsql_mode_row_update_total

counter

Number of rows updated on the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_awt_sql_mode_batch_total

counter

Number of batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_byte_total

counter

Number of bytes sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_delete_batch_total

counter

Number of delete batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_insert_batch_total

counter

Number of insert batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_row_delete_total

counter

Number of rows deleted on the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_row_insert_total

counter

Number of rows inserted on the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_row_update_total

counter

Number of rows updated on the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_sql_mode_update_batch_total

counter

Number of update batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_awt_tt_txn_total

counter

Number of TimesTen transactions propagated to the Oracle database

timesten_cg_dynamic_local_hit_total

counter

Dynamic cache group cache hits: Number of dynamic loads that find the requested data within the database

timesten_cg_dynamic_local_miss_logoff_retry_total

counter

Number of times the LogOff had to be retried due to no connections being available when UseCacheConnPool and ConnNoWait are enabled

timesten_cg_dynamic_local_miss_oracle_load_disconnect_total

counter

Number of times the connection to Oracle was closed after performing a dynamic load

timesten_cg_dynamic_local_miss_oracle_load_miss_total

counter

Number of data misses on the Oracle database when servicing dynamic load misses for dynamic global cache groups

timesten_cg_dynamic_local_miss_oracle_load_success_total

counter

Number of data loads from the Oracle database when servicing dynamic load misses for dynamic cache groups

timesten_cg_dynamic_local_miss_oracle_load_total

counter

Number of data load attempts from the Oracle database when servicing dynamic load misses for dynamic cache groups

timesten_cg_dynamic_local_miss_total

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

timesten_cg_flush_total

counter

Number of flush cache group executions

timesten_cg_flushed_byte_total

counter

Number of bytes flushed to the Oracle database

timesten_cg_flushed_row_total

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

timesten_cg_parawt_auto_apply_oracle_calls

counter

Number of calls made to the Oracle database

timesten_cg_parawt_auto_apply_oracle_commits

counter

Number of AWT transactions committed on the Oracle database

timesten_cg_parawt_auto_apply_oracle_retries

counter

Number of times AWT transactions are re-tried on the Oracle database in case of an error

timesten_cg_parawt_auto_apply_oracle_rollbacks

counter

Number of rollbacks on the Oracle database because of errors

timesten_cg_parawt_auto_apply_oracle_rollbacks_lock

counter

Number of rollbacks on the Oracle database because some one is waiting for the locks held by this batch

timesten_cg_parawt_auto_apply_oracle_rollbacks_timeout

counter

Number of rollbacks on the Oracle database because we timed out waiting for commit

timesten_cg_parawt_auto_apply_partitions

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

timesten_cg_parawt_auto_apply_plsqlmode_batches

counter

Number of PL/SQL block batches sent to the Oracle database (cacheawtmethod = 1)

timesten_cg_parawt_auto_apply_plsqlmode_bytes

counter

Number of bytes sent to the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_parawt_auto_apply_plsqlmode_deletes_rows

counter

Number of rows deleted on the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_parawt_auto_apply_plsqlmode_inserts_rows

counter

Number of rows inserted on the Oracle database in PL/SQL mode (cacheawtmethod = 1)

timesten_cg_parawt_auto_apply_plsqlmode_switches

counter

Number of times cacheawtmethod is internally swithced to handle edge cases

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 (cacheawtmethod = 1)

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 (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_bytes

counter

Number of bytes sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_deletes_batches

counter

Number of delete batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_deletes_rows

counter

Number of rows deleted on the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_inserts_batches

counter

Number of insert batches sent to the Oracle database in SQL mode (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_inserts_rows

counter

Number of rows inserted on the Oracle database in SQL mode (cacheawtmethod = 0)

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 (cacheawtmethod = 0)

timesten_cg_parawt_auto_apply_sqlmode_updates_rows

counter

Number of rows updated on the Oracle database in SQL mode (cacheawtmethod = 0)

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