[
https://issues.apache.org/jira/browse/IGNITE-29236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ignite TC Bot updated IGNITE-29236:
-----------------------------------
External issue ID: IGN-2390
> Docs: describe all index operation metrics, ZooKeeper discovery metrics and
> server-only metric registers
> --------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-29236
> URL: https://issues.apache.org/jira/browse/IGNITE-29236
> Project: Ignite
> Issue Type: Task
> Components: documentation
> Reporter: Ilya Shishkov
> Assignee: Ilya Shishkov
> Priority: Minor
> Attachments: docs-sync-1-metrics-jira.txt
>
>
> h3. Problem
> The
> [Metrics|https://ignite.apache.org/docs/ignite2/latest/monitoring-metrics/new-metrics]
> page
> ({{docs/_docs/monitoring-metrics/new-metrics.adoc}}) mostly matches the
> metrics published by a node. It doesn't match
> in the following places:
> * *Sorted Indexes Operations*
> ({{index.\{schema_name\}.\{table_name\}.\{index_name\}}}): the table contains
> only
> the templates {{\{opType\}Count}} and {{\{opType\}Time}}, and the text
> names 5 of the 11 operations. A node actually
> publishes 22 metrics: {{AskNeighbor}}, {{Insert}},
> {{LockBackAndRmvFromLeaf}}, {{LockBackAndTail}}, {{LockTail}},
> {{LockTailExact}}, {{LockTailForward}}, {{RemoveFromLeaf}},
> {{RemoveRangeFromLeaf}}, {{Replace}}, {{Search}}, each
> with the {{Count}} and {{Time}} suffixes.
> * *Discovery IO* ({{io.discovery}}): only {{TcpDiscoverySpi}} metrics are
> described. With {{ZookeeperDiscoverySpi}}
> the register contains a different set: {{CommunicationErrors}},
> {{Coordinator}}, {{CurrentTopologyVersion}},
> {{FailedNodes}}, {{JoinedNodes}}, {{LeftNodes}}. {{CommunicationErrors}}
> isn't documented at all, and the counters
> are {{long}}, not {{integer}} as for TCP discovery
> ({{ZookeeperDiscoveryStatistics}},
> {{ZookeeperDiscoverySpi#onContextInitialized0}}).
> * The page doesn't say which metrics and registers exist on server nodes only:
> ** {{cacheGroups.\{group_name\}}}: {{InMemoryIndexPages}} and
> {{TotalAllocatedPages}} are not registered on client
> nodes (no data region, {{CacheGroupMetricsImpl}}).
> ** {{rest.client}}: on client nodes the register exists only with
> {{IGNITE_REST_START_ON_CLIENT=true}}
> ({{GridRestProcessor}}).
> ** {{snapshot}}, {{snapshot.incremental}}, {{snapshot-restore}},
> {{snapshot-check.\{snapshot_name\}}}: server nodes
> only ({{IgniteSnapshotManager#start0}} exits on client nodes).
> ** {{index.*}}: only on the nodes that store the index data.
> h3. Changes
> Documentation only, {{new-metrics.adoc}}:
> * The {{\{opType\}}} template is replaced by the explicit list of 22 metrics.
> The note that the set of operations
> depends on the index implementation is kept.
> * A "ZooKeeper Discovery" subsection is added to "Discovery IO" with the
> metrics of {{ZookeeperDiscoverySpi}}.
> * Notes about server-only metrics and registers are added to "Cache Groups",
> "Sorted Indexes Operations",
> "Ignite REST Client Connector" and "Snapshot".
> h3. How it was verified
> A cluster of 2 server nodes and 1 client node was started from the current
> master with most optional features
> enabled, so that conditional metrics are registered:
> * persistence with CDC and an in-memory region;
> * cache statistics, a near cache and an encrypted cache group with key
> rotation;
> * SSL, a user executor, a service with statistics, H2 and Calcite;
> * secondary indexes, a thin client and data structures;
> * full and incremental snapshots with check and restore;
> * a suppressed failure.
> All metric registers of every node, including registers that exist only while
> an operation runs, were dumped and
> compared with the tables of the page.
> Results:
> * JMX export ({{JmxMetricExporterSpi}}) matches the registers 1:1 on every
> node (srv: 2304/2306 metrics, client: 2177).
> * Before the patch: 22 metrics are missing from the page, and 2 template rows
> don't exist at runtime.
> * After the patch: no discrepancies.
> * Not reproducible in this setup and checked against the code:
> {{ConflictResolver*}} (needs a conflict resolver; the
> page already notes the condition) and the ZooKeeper discovery metrics.
> * The {{cdc}} register described in {{persistence/change-data-capture.adoc}}
> matches the code (13/13).
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)