Collecting user activity diagnostics

Steps to enable collecting user activity diagnostics using the DSE Performance Service.

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.

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

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

dse.yaml

The location of the dse.yaml file depends on the type of installation:
Package installations /etc/dse/dse.yaml
Tarball installations installation_location/resources/dse/conf/dse.yaml

Procedure

To enable collecting user activity diagnostics using the DSE Performance Service:
  1. Edit the dse.yaml file.
  2. In the dse.yaml file, set the enabled option for user_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
  3. (Optional) To control how often the statistics are refreshed, increase or decrease the refresh_rate_ms option in dse.yaml.

    The refresh_rate_ms specifies the length of the sampling period, that is, the frequency with which this data is updated.

  4. Optional: 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.