Contents
Query the Get / metrics REST endpoint to view built-in as well as user-defined metrics.
-
From the REST API, enter a metric name prefix to filter the query by name:
-
Enter
builtin
to limit the query to the as-provided metrics for the engine and node. Enteringbuiltin.engine
further filters by engine-provided metric names. -
Enter the prefix for a user-defined metric to filter by that metric name.
-
Omit the prefix and metric type to display all metric names (built-in and user-defined).
-
Enter a metric type to further refine your query.
-
After you click
, the Response body presents the name, type and description for each metric. The following example shows the available metrics for an EventFlow fragment — specifically, based on the Best Bids and Asks sample. Long lines below wrap to the next, for clarity.{ "builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks1.queue.default:ParallelSequence. depth.second": { "name": "builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks1.queue.default: ParallelSequence.depth.second", "type": "METER", "description": "Queue default:ParallelSequence depth per second for engine com_tibco_sb_sample_ bestbidsandasks_BestBidsAsks1", "lastUpdatedTimeStamp": 1578432682, "metric": { "count": 0, "fiveMinuteRate": 0, "oneMinuteRate": 0, "meanRate": 0, "fifteenMinuteRate": 0 } }, "builtin.cpu.system.utilization.percentage": { "name": "builtin.cpu.system.utilization.percentage", "type": "HISTOGRAM", "description": "Percent system CPU utilization for machine hosting node nodename.cluster", "lastUpdatedTimeStamp": 1578432681, "metric": { "count": 18437, "snapshot": { "values": [ 1, 1, 1, 1, 1, ...
Query the Get / metrics / {name} REST endpoint to search by the full metric name. For
example, use a full metric name as shown in the Get metrics query results above, such
as builtin.cpu.system.utilization.percentage
. The full
name can include the as-provided metric names or user-defined ones.
Query the Get / metrics REST endpoint to view built-in and LiveView-specific metrics.
-
From the REST API, enter a metric name prefix to filter the query by name:
-
Enter
liveview
(case-sensitive) to limit the query to the as-provided LiveView-specifc metrics for the engine and node. -
Alternatively,
builtin
to limit the query to the as-provided metrics for the engine and node. -
Omit the prefix and metric type to display all metric names (built-in and LiveView-specific).
-
Enter a granular query based on the format
[liveview.dl
or
sl.engineName
.tablename
].For example:
liveview.dl.liveview0.ItemSales
-
The LiveView metrics format includes a description, metric type and metric syntax as shown in the example below:
"liveview.dl.liveview0.ItemsSales.number.session.queries.total": {
"name": "liveview.dl.liveview0.ItemsSales.number.session.queries.total",
"type": "COUNTER",
"description": "Total number of session queries for table ItemsSales.",
"lastUpdatedTimeStamp": 1585016617,
"metric": {
"count": 3
}
},
Where liveview
is the prefix, dl
represents the LiveView data layer (or
sl
for the LiveView service layer),
liveview0 represents the LiveView engine running on this particular node, following
by the table name and metric.
The first five LiveView metrics displayed are table-specific, and are displayed for every data table in your LiveView fragment. Additionally, these same five metrics are also displayed for the LVAlerts and LiveViewStatistics system tables. Thus at minimum, the web service query produces 10 "table" metrics (5 metrics x 2 system tables). If you add or drop a table from your running LiveView fragment, the corresponding metrics are updated as well. Note that this applies to the DL (LiveView data layer) case; the services layer does not support dynamic tables, therefore contain no table metrics.
In addition to the five table-specific metrics, the query also generates four LiveView engine metrics.
The following are the available LiveView metrics:
TotalQueuedTuples per table Metric type: Counter liveview.[SLorDL].[engineName].[tableName].queued.tuples.total InboundTuplesPerSec per table Metric type: Counter liveview.[SLorDL].[engineName].[tableName].inbound.tuples.seconds Total number of rows per table Metric type: Counter liveview.[SLorDL].[engineName].[tableName].number.rows.total Total memory used per table Metric type: Counter liveview.[SLorDL].[engineName].[tableName].memory.total.megabytes Total number of session queries per table Metric type: Counter liveview.[SLorDL].[engineName].[tableName].number.session.queries.total Total number of sessions Metric type: Counter liveview.[SLorDL].[engineName].number.sessions.total Total number of session queries across all tables Metric type: Counter liveview.[SLorDL].[engineName].alltables.number.session.queries.total Total memory (in MB) used by all tables. Metric type: Counter liveview.[SLorDL].[engineName].alltables.memory.total.megabytes Total queued tuples across all tables. Metric type: Counter liveview.[SLorDL].[engineName].alltables.queued.tuples.total
Examples:
epadmin servicename=nodename.cluster
display metric
Querying all tables as an aggregate: example
Run a query such as liveview.dl.liveview0.alltables
.
{ "liveview.dl.liveview0.alltables.number.session.queries.total": { "name": "liveview.dl.liveview0.alltables.number.session.queries.total", "type": "COUNTER", "description": "Total number of session queries across all tables.", "lastUpdatedTimeStamp": 1585674681, "metric": { "count": 4 } }, "liveview.dl.liveview0.alltables.queued.tuples.total": { "name": "liveview.dl.liveview0.alltables.queued.tuples.total", "type": "COUNTER", "description": "Total queued tuples across all tables.", "lastUpdatedTimeStamp": 1585674702, "metric": { "count": 0 } }, "liveview.dl.liveview0.alltables.memory.total.megabytes": { "name": "liveview.dl.liveview0.alltables.memory.total.megabytes", "type": "COUNTER", "description": "Total memory (in MB) used by all tables.", "lastUpdatedTimeStamp": 1585674702, "metric": { "count": 6 } } }
Use epadmin commands to display, read, or reset metrics details using the following command syntax.
display metric [--name=<String>] [--type=<[meter, counter, histogram, timer, gauge, all]>] Display a list of registered Metrics [--name=<String>] name of the Metric to display. Match with 'string contains'. Default: none [--type=<[meter, counter, histogram, timer, gauge, all]>] type of metrics to search. One of { meter, counter, histogram, timer, gauge, all }. (default: all). Default: all read metric --name=<String> Read a specific metric --name=<String> The name of the metric to read. reset metric --name=<String> Reset a specific metric --name=<String> The name of the metric to reset.
To reset and then read the metrics, run commands like the following:
epadmin servicename=nodename.cluster reset metric name=builtin.node.transactions.total.rate epadmin servicename=nodename.cluster read metric name=builtin.node.transactions.total.rate
Notice the metrics are reset when you query the web service again:
[nodename.cluster] Last Reset = 2020-01-14T19:19:32.249054100Z [nodename.cluster] Last Updated = 2020-01-14T19:20:13.021432200Z [nodename.cluster] Count = 431 [nodename.cluster] Mean One Minute Rate = 10.2 [nodename.cluster] One Minute Rate = 11.81 [nodename.cluster] Five Minute Rate = 12.85 [nodename.cluster] Fifteen Minute Rate = 13.08
Running a command like the following shows the built-in metrics that are available at the node and engine level (a running Best Bids and Asks sample is shown below). Note that user-built metrics via the Java Client API would also be displayed if they were compiled before the node started (not shown):
epadmin servicename=nodename.cluster
display metric
[nodename.cluster] Name = builtin.cpu.idle.utilization.percentage [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Percent idle CPU utilization for machine hosting node nodename.cluster [nodename.cluster] Name = builtin.cpu.system.utilization.percentage [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Percent system CPU utilization for machine hosting node nodename.cluster [nodename.cluster] Name = builtin.cpu.user.utilization.percentage [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Percent user CPU utilization for machine hosting node nodename.cluster [nodename.cluster] Name = builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks0.heap.memory. utilization.bytes [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Heap memory used (bytes) for engine com_tibco_sb_sample_bestbidsandasks_ BestBidsAsks0 [nodename.cluster] Name = builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks0.heap.memory. utilization.percentage [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Percent heap memory used for engine com_tibco_sb_sample_bestbidsandasks_ BestBidsAsks0 [nodename.cluster] Name = builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks0.queue.default: ParallelSequence.depth.second [nodename.cluster] Type = METER [nodename.cluster] Description = Queue default:ParallelSequence depth per second for engine com_tibco_sb_ sample_bestbidsandasks_BestBidsAsks0 [nodename.cluster] Name = builtin.engine.com_tibco_sb_sample_bestbidsandasks_BestBidsAsks0.tuples.rate [nodename.cluster] Type = METER [nodename.cluster] Description = Tuple rate for engine com_tibco_sb_sample_bestbidsandasks_BestBidsAsks0 [nodename.cluster] Name = builtin.node.shared.memory.kilobytes [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Shared memory used (kilobytes) for node nodename.cluster [nodename.cluster] Name = builtin.node.shared.memory.percentage [nodename.cluster] Type = HISTOGRAM [nodename.cluster] Description = Percent shared memory used for node nodename.cluster [nodename.cluster] Name = builtin.node.transactions.deadlocks.rate [nodename.cluster] Type = METER [nodename.cluster] Description = Transaction deadlock rate for node nodename.cluster [nodename.cluster] Name = builtin.node.transactions.latency.average.microseconds [nodename.cluster] Type = METER [nodename.cluster] Description = Average transaction latency (microseconds) for node nodename.cluster [nodename.cluster] Name = builtin.node.transactions.total.rate [nodename.cluster] Type = METER [nodename.cluster] Description = Transaction rate for node nodename.cluster
Running a command like the following shows the built-in and LiveView-specific metrics. Note that user-built metrics via the Java Client API would also be displayed if they were compiled before the node started (not shown).
epadmin servicename=nodename.cluster
display metric
An abbreviated list of metrics, based on running the Hello LiveView sample in a
node called LVnode
, follows:
[LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total number of inbound tuples per second for table LiveViewStatistics. [LVnode.SBuser] Name = liveview.dl.liveview0.LiveViewStatistics.memory.total.megabytes [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total memory (in MB) used by table LiveViewStatistics. [LVnode.SBuser] Name = liveview.dl.liveview0.LiveViewStatistics.number.rows.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total number of rows in table LiveViewStatistics. [LVnode.SBuser] Name = liveview.dl.liveview0.LiveViewStatistics.number.session.queries.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total number of session queries for table LiveViewStatistics. [LVnode.SBuser] Name = liveview.dl.liveview0.LiveViewStatistics.queued.tuples.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total queued tuples for table LiveViewStatistics [LVnode.SBuser] Name = liveview.dl.liveview0.alltables.memory.total.megabytes [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total memory (in MB) used by all tables. [LVnode.SBuser] Name = liveview.dl.liveview0.alltables.number.session.queries.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total number of session queries across all tables. [LVnode.SBuser] Name = liveview.dl.liveview0.alltables.queued.tuples.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total queued tuples across all tables. [LVnode.SBuser] Name = liveview.dl.liveview0.number.sessions.total [LVnode.SBuser] Type = COUNTER [LVnode.SBuser] Description = Total number of sessions. ...