Using JMX to read DSE Graph metrics

DSE Graph exposes different metrics through JMX located under com.datastax.bdp.graph.

DSE Graph exposes different graph metrics as JMX MBeans. MBeans are exposed with JConsole or the nodetool sjk mx.

Metrics concerning the tables used to store graph data is found under org.apache.cassandra.db.Tables for each graph_name and graph_name_system. Metrics concerning the index table for graph data is found under org.apache.cassandra.db.IndexTables for each graph_name. Further metrics can also be found under org.apache.cassandra.metrics.Table for each graph_name and graph_name_system.

Several of the metrics are exposed under com.datastax.bdp.graph:

graph_name

Each graph has metrics exposed with the following attributes:
  • adjacency-cache-hit: number of times the adjacency cache has had a cache hit
  • adjacency-cache-miss: number of times the adjacency cache has had a cache miss
  • graph-opened: number of times the graph has been opened
  • index-cache-hit: number of times the index cache has had a cache hit
  • index-cache-miss: number of times the index cache has had a cache miss

GraphQueryThreads, GraphScheduledThreads, GraphSystemThreads, GremlinWorkerThreads

All graph thread metrics expose the following attributes:
  • ActiveCount
  • CompletedTaskCount
  • CorePoolSize
  • LargestPoolSize
  • MaximumPoolSize
  • Pending
  • QueueRemainingCapacity
  • TaskCount

GremlinServerPlugin

A few attributes are available for the Gremlin Server:
  • Active: Boolean value of whether DSE Graph is enabled
  • AnalyticsGraphServerIP: IP address of the server
  • Port: Port number of the Gremlin server

Statements

The Statement metrics expose different CQL Statement latency metrics through JMX located under com.datastax.bdp.graph.Statements. The statements tracked are:
Delete
CQL DELETE statement
Update
CQL UPDATE statement
LoggedBatch
CQL BATCH statement that is LOGGED, such as BEGIN LOGGED BATCH...
UnloggedBatch
CQL BATCH statement that is UNLOGGED, such as BEING UNLOGGED BATCH...
SchemaAltering
CQL statement that alters the schema, such as CREATE MATERIALIZED VIEW...
SearchSchemaAltering
CQL statement that alters a search index, such as DROP SEARCH INDEX ON ...
SelectSearch
SELECT statement using a search index in the WHERE clause
SelectSecondary
SELECT statement using a secondary index
SelectView
SELECT statement using a materialized view table
SelectTable
SELECT statement that uses no index, but only a primary key and optionally a clustering key for selection
All statements have the following attributes:
  • 50thPercentile
  • 75thPercentile
  • 95thPercentile
  • 98thPercentile
  • 99thPercentile
  • 999thPercentile
  • Count
  • DurationUnit
  • FifteenMinuteRate
  • FiveMinuteRate
  • OneMinuteRate
  • Max
  • Min
  • Mean
  • MeanRate
  • RateUnit
  • RecentValues
  • StdDev