Collecting user activity diagnostics
The following diagnostics tables collect user activity:
-
object_user_io
Per node, long-lived read/write metrics broken down by keyspace, table, and client connection. Each row contains mean read/write latencies and operation counts for a interactions with a specific table by a specific client connection during the last sampling period in which it was active. This data has a 10 minute TTL.
A client connection is uniquely identified by a host and port.
-
object_user_read_io_snapshot
Per node recent read/write metrics by client, keyspace, and table. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean read latency.
-
object_user_write_io_snapshot
Per node recent read/write metrics by client, keyspace, and table. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean write latency.
-
user_io
Per node, long-lived read/write metrics broken down by client connection and aggregated for all keyspaces and tables. Each row contains mean read/write latencies and operation counts for a specific connection during the last sampling period in which it was active. This data has a 10 minute TTL.
-
user_object_io
Per node, long-lived read/write metrics broken down by client connection, keyspace, and table. Each row contains mean read/write latencies and operation counts for interactions with a specific table by a specific client connection during the last sampling period in which it was active. This data has a 10 minute TTL.
object_user_io and user_object_io represent two different views of the same underlying data:
-
object_user_io is structured to enable querying by user
-
user_object_io is structured for querying by table
-
-
user_object_read_io_snapshot
Per node recent read/write metrics by keyspace, table, and client. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean read latency.
-
user_object_write_io_snapshot
Per node recent read/write metrics by keyspace, table, and client. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean read latency.
-
user_read_io_snapshot
Per node recent read/write metrics by client. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean read latency.
-
user_write_io_snapshot
Per node recent read/write metrics by client. This table contains only data relating to clients that were active during the most recent sampling period. Ordered by mean write latency.
Procedure
-
To enable collecting user activity diagnostics using the DSE Performance Service:
-
Edit the
dse.yaml
file. -
In the
dse.yaml
file, set the enabled option foruser_level_latency_tracking_options
to true.# User/Resource latency tracking settings user_level_latency_tracking_options: enabled: true refresh_rate_ms: 10000 top_stats_limit: 100
-
(Optional) To control how often the statistics are refreshed, increase or decrease the
refresh_rate_ms
option indse.yaml
.The
refresh_rate_ms
specifies the length of the sampling period, that is, the frequency with which this data is updated. -
To limit the number of individual metrics, change the
top_stats_limit
parameter.Keeping this limit fairly low reduces the level of system resources required to process the metrics.