Collecting user activity diagnostics 

Enable the user_level_latency_tracking_options parameter in dse.yaml to collect user activity in diagnostics tables.

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. The former is structured to enable querying by user, the latter 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

  1. Edit the dse.yaml file.
    The location of the dse.yaml file depends on the type of installation:
    Installer-Services /etc/dse/dse.yaml
    Package installations /etc/dse/dse.yaml
    Installer-No Services install_location/resources/dse/conf/dse.yaml
    Tarball installations install_location/resources/dse/conf/dse.yaml
  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 parameter.

    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.