[ https://issues.apache.org/jira/browse/CASSANDRA-15772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Curtis updated CASSANDRA-15772: ------------------------------------ Description: h2. Background The docs for {{nodetool tpstats}} gives the user a good overview of the correct command format, but lack an explanation of the message types. As of Cassandra4.0 and CASSANDRA-15066 the Message types have expanded a lot so this becomes quite overwhelming (particularly for new users). I'd propose we offer a simple explanation of these grouping them into logical groups (see CASSANDRA-15771 which I opened for the formatting output). The github code for the {{Verb.java}} class does give the user some idea of what these are but not everyone will go looking for that. h2. Example Code for ref [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/net/Verb.java] I tried to sort some of the tpstats output into categories and made a first attempt at an explanation here: {code:java} Batches BATCH_REMOVE_REQ Batches BATCH_REMOVE_RSP Batches BATCH_STORE_REQ Batches BATCH_STORE_RSP - These are batches, I'd assume the store / removes are as we add and process them? Counters COUNTER_MUTATION_REQ Counters COUNTER_MUTATION_RSP - Counter writes Deprecated INTERNAL_RSP Deprecated REQUEST_RSP - Some of these are shown as deprecated in the code. Not sure what we should add here Gossip ECHO_REQ Gossip ECHO_RSP Gossip GOSSIP_DIGEST_ACK Gossip GOSSIP_DIGEST_ACK2 Gossip GOSSIP_DIGEST_SYN Gossip GOSSIP_SHUTDOWN Gossip PING_REQ Gossip PING_RSP - Gossip, probably we'd refer to a more detailed page on gossip from here Hints HINT_REQ Hints HINT_RSP - Hints! LWTs PAXOS_COMMIT_REQ LWTs PAXOS_COMMIT_RSP LWTs PAXOS_PREPARE_REQ LWTs PAXOS_PREPARE_RSP LWTs PAXOS_PROPOSE_REQ LWTs PAXOS_PROPOSE_RSP - Paxos phases request / response Migration SCHEMA_PULL_REQ Migration SCHEMA_PULL_RSP Migration SCHEMA_PUSH_REQ Migration SCHEMA_PUSH_RSP Migration SCHEMA_VERSION_REQ Migration SCHEMA_VERSION_RSP - Schema migration messaging (i.e. adding new tables) Misc REPLICATION_DONE_REQ Misc REPLICATION_DONE_RSP Misc SNAPSHOT_MSG Misc SNAPSHOT_REQ Misc SNAPSHOT_RSP - Unsure of these, could the snapshots be for simply nodetool snapshot requests like on truncates? Reads RANGE_REQ Reads RANGE_RSP Reads READ_REPAIR_REQ Reads READ_REPAIR_RSP Reads READ_REQ Reads READ_RSP - All types of read messages Repair CLEANUP_MSG Repair FAILED_SESSION_MSG Repair FAILURE_RSP Repair FINALIZE_COMMIT_MSG Repair FINALIZE_PROMISE_MSG Repair FINALIZE_PROPOSE_MSG Repair PREPARE_CONSISTENT_REQ Repair PREPARE_CONSISTENT_RSP Repair PREPARE_MSG Repair REPAIR_RSP Repair STATUS_REQ Repair STATUS_RSP Repair SYNC_REQ Repair SYNC_RSP Repair VALIDATION_REQ Repair VALIDATION_RSP Repair ASYMMETRIC_SYNC_REQ - Repairs, and phases, I think we'd need a bit more explanation here. Validation, Sync etc ok. But unsure on these other types Writes MUTATION_REQ Writes MUTATION_RSP Writes TRUNCATE_REQ Writes TRUNCATE_RSP - All types of write messages{code} was: h2. Background The docs for {{nodetool tpstats}} gives the user a good overview of the correct command format, but lack an explanation of the message types. As of Cassandra4.0 and CASSANDRA-15066 the Message types have expanded a lot so this becomes quite overwhelming (particularly for new users). I'd propose we offer a simple explanation of these grouping them into logical groups (see CASSANDRA-15771 which I opened for the formatting output). The github code for the {{Verb.java}} class does give the user some idea of what these are but not everyone will go looking for that. Example [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/net/Verb.java] > DOC - Improve tpstats documentation > ----------------------------------- > > Key: CASSANDRA-15772 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15772 > Project: Cassandra > Issue Type: Improvement > Components: Documentation/Website > Reporter: Mark Curtis > Priority: Normal > Fix For: 4.0-alpha > > > h2. Background > The docs for {{nodetool tpstats}} gives the user a good overview of the > correct command format, but lack an explanation of the message types. > As of Cassandra4.0 and CASSANDRA-15066 the Message types have expanded a lot > so this becomes quite overwhelming (particularly for new users). > I'd propose we offer a simple explanation of these grouping them into logical > groups (see CASSANDRA-15771 which I opened for the formatting output). > The github code for the {{Verb.java}} class does give the user some idea of > what these are but not everyone will go looking for that. > h2. Example > Code for ref > [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/net/Verb.java] > I tried to sort some of the tpstats output into categories and made a first > attempt at an explanation here: > {code:java} > Batches BATCH_REMOVE_REQ > Batches BATCH_REMOVE_RSP > Batches BATCH_STORE_REQ > Batches BATCH_STORE_RSP > - These are batches, I'd assume the store / removes are as we add and process > them? > > Counters COUNTER_MUTATION_REQ > Counters COUNTER_MUTATION_RSP > - Counter writes > Deprecated INTERNAL_RSP > Deprecated REQUEST_RSP > - Some of these are shown as deprecated in the code. Not sure what we should > add here > > Gossip ECHO_REQ > Gossip ECHO_RSP > Gossip GOSSIP_DIGEST_ACK > Gossip GOSSIP_DIGEST_ACK2 > Gossip GOSSIP_DIGEST_SYN > Gossip GOSSIP_SHUTDOWN > Gossip PING_REQ > Gossip PING_RSP > - Gossip, probably we'd refer to a more detailed page on gossip from here > > Hints HINT_REQ > Hints HINT_RSP > - Hints! > > LWTs PAXOS_COMMIT_REQ > LWTs PAXOS_COMMIT_RSP > LWTs PAXOS_PREPARE_REQ > LWTs PAXOS_PREPARE_RSP > LWTs PAXOS_PROPOSE_REQ > LWTs PAXOS_PROPOSE_RSP > - Paxos phases request / response > > Migration SCHEMA_PULL_REQ > Migration SCHEMA_PULL_RSP > Migration SCHEMA_PUSH_REQ > Migration SCHEMA_PUSH_RSP > Migration SCHEMA_VERSION_REQ > Migration SCHEMA_VERSION_RSP > - Schema migration messaging (i.e. adding new tables) > Misc REPLICATION_DONE_REQ > Misc REPLICATION_DONE_RSP > Misc SNAPSHOT_MSG > Misc SNAPSHOT_REQ > Misc SNAPSHOT_RSP > - Unsure of these, could the snapshots be for simply nodetool snapshot > requests like on truncates? > > Reads RANGE_REQ > Reads RANGE_RSP > Reads READ_REPAIR_REQ > Reads READ_REPAIR_RSP > Reads READ_REQ > Reads READ_RSP > - All types of read messages > > Repair CLEANUP_MSG > Repair FAILED_SESSION_MSG > Repair FAILURE_RSP > Repair FINALIZE_COMMIT_MSG > Repair FINALIZE_PROMISE_MSG > Repair FINALIZE_PROPOSE_MSG > Repair PREPARE_CONSISTENT_REQ > Repair PREPARE_CONSISTENT_RSP > Repair PREPARE_MSG > Repair REPAIR_RSP > Repair STATUS_REQ > Repair STATUS_RSP > Repair SYNC_REQ > Repair SYNC_RSP > Repair VALIDATION_REQ > Repair VALIDATION_RSP > Repair ASYMMETRIC_SYNC_REQ > - Repairs, and phases, I think we'd need a bit more explanation here. > Validation, Sync etc ok. But unsure on these other types > > Writes MUTATION_REQ > Writes MUTATION_RSP > Writes TRUNCATE_REQ > Writes TRUNCATE_RSP > - All types of write messages{code} > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org