All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pectator.spectator-ext-jvm.1.7.12.source-code.cassandra.conf Maven / Gradle / Ivy

There is a newer version: 1.8.2
Show newest version

// http://wiki.apache.org/cassandra/Metrics
netflix.spectator.agent.jmx {
  mappings = ${?netflix.spectator.agent.jmx.mappings} [
    //
    // type=Cache
    //
    {
      query = "org.apache.cassandra.metrics:type=Cache,name=Hits,*"
      measurements = [
        {
          name = "cass.cache.hits"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Cache,name=Requests,*"
      measurements = [
        {
          name = "cass.cache.requests"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Cache,name=Size,*"
      measurements = [
        {
          name = "cass.cache.size"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Cache,name=Capacity,*"
      measurements = [
        {
          name = "cass.cache.capacity"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Cache,name=Entries,*"
      measurements = [
        {
          name = "cass.cache.entries"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            }
          ]
          value = "{Value}"
        }
      ]
    },

    //
    // type=Client
    //
    {
      query = "org.apache.cassandra.metrics:type=Client,name=*"
      measurements = [
        {
          name = "cass.client.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },

    //
    // type=ClientRequest
    //
    // TotalLatency is left out on purpose. It is a monotonic counter updated with the latency
    // amount. That is rarely useful on its own and the same thing can be accomplished with
    // `name,cass.request.latency,:eq,statistic,totalTime,:eq,:and,:sum`
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=Latency,*"
      measurements = [
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.latency"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=Timeouts,*"
      measurements = [
        {
          name = "cass.request.timeouts"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=Unavailables,*"
      measurements = [
        {
          name = "cass.request.unavailables"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=ConditionNotMet,*"
      measurements = [
        {
          name = "cass.request.conditionNotMet"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=UnfinishedCommit,*"
      measurements = [
        {
          name = "cass.request.unfinishedCommit"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ClientRequest,name=*Histogram,*"
      measurements = [
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max}"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.request.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},{Count},{previous:Count},:if-changed"
        }
      ]
    },

    //
    // type=Keyspace
    //
    {
      query = "org.apache.cassandra.metrics:type=Keyspace,keyspace=*,name=*Latency"
      measurements = [
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.ks.{name}"
          tags = [
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },

    //
    // type=ColumnFamily
    //
    {
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*Latency,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*Histogram,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},{Count},{previous:Count},:if-changed"
        }
      ]
    },
    {
      // BloomFilterFalseRatio, RecentBloomFilterFalseRatio, and CompressionRatio
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*Ratio,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // BloomFilterFalsePositives and RecentBloomFilterFalsePositives
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*Positives,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Value}"
          counter = true
        }
      ]
    },
    {
      // BloomFilterDiskSpaceUsed
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=BloomFilterDiskSpaceUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // LiveDiskSpaceUsed
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=LiveDiskSpaceUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // OffHeapSize in bytes
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*OffHeapMemoryUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // OffHeapSize in bytes
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*LiveDataSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // {Min,Max,Mean}RowSize
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*RowSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // LiveSSTableCount
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=LiveSSTableCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // MemtableColumnsCount
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=MemtableColumnsCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // MemtableSwitchCount
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=MemtableSwitchCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      // On/Off HeapSizes
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=*HeapSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // PendingFlushes
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=PendingFlushes,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // PendingCompactions
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=PendingCompactions,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // SnapshotsSize
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=SnapshotsSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // EstimatedRowCount
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=EstimatedRowCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // SpeculativeRetries
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=SpeculativeRetries,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // KeyCacheHitRate
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=KeyCacheHitRate,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // RowCache counters
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=RowCache*,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // WaitingOnFreeMemtableSapce
      query = "org.apache.cassandra.metrics:type=*ColumnFamily,name=WaitingOnFreeMemtableSpace,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },

    //
    // type=CommitLog
    //
    {
      query = "org.apache.cassandra.metrics:type=CommitLog,name=Waiting*"
      measurements = [
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=CommitLog,name=*Tasks"
      measurements = [
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=CommitLog,name=TotalCommitLogSize"
      measurements = [
        {
          name = "cass.commitlog.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },

    //
    // type=Compaction
    //
    {
      query = "org.apache.cassandra.metrics:type=Compaction,name=TotalCompactionsCompleted"
      measurements = [
        {
          name = "cass.compaction.compactionsCompleted"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Compaction,name=PendingTasks"
      measurements = [
        {
          name = "cass.compaction.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Compaction,name=BytesCompacted"
      measurements = [
        {
          name = "cass.compaction.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },

    //
    // type=Connection
    //
    // Scoped (scope is IP address) metrics are left out as the combination of src/dst
    // pairs across large clusters would be quite high. Might be supported in the future
    // if we add an option to rollup the scope.
    {
      query = "org.apache.cassandra.metrics:type=Connection,name=TotalTimeouts"
      measurements = [
        {
          name = "cass.connection.timeouts"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },

    //
    // type=Dropped
    //
    {
      query = "org.apache.cassandra.metrics:type=DroppedMessage,name=Dropped,scope=*"
      measurements = [
        {
          name = "cass.dropped.messages"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },

    //
    // type=Streaming
    //
    // Scoped (scope is IP address) metrics are left out as the combination of src/dst
    // pairs across large clusters would be quite high.
    {
      query = "org.apache.cassandra.metrics:type=Streaming,name=ActiveOutboundStreams"
      measurements = [
        {
          name = "cass.streaming.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Streaming,name=TotalOutgoingBytes"
      measurements = [
        {
          name = "cass.streaming.bytes"
          tags = [
            {
              key = "id"
              value = "out"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Streaming,name=TotalIncomingBytes"
      measurements = [
        {
          name = "cass.streaming.bytes"
          tags = [
            {
              key = "id"
              value = "in"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },

    //
    // type=Storage
    //
    {
      query = "org.apache.cassandra.metrics:type=Storage,name=Load"
      measurements = [
        {
          name = "cass.storage.diskSpaceUsed"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Storage,name=TotalHintsInProgress"
      measurements = [
        {
          name = "cass.storage.hintsInProgress"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Storage,name=TotalHints"
      measurements = [
        {
          name = "cass.storage.hints"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=Storage,name=Exceptions"
      measurements = [
        {
          name = "cass.storage.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },

    //
    // type=ThreadPool
    //
    {
      query = "org.apache.cassandra.metrics:type=ThreadPools,name=ActiveTasks,scope=*,path=*"
      measurements = [
        {
          name = "cass.threadpool.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "path"
              value = "{path}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ThreadPools,name=PendingTasks,scope=*,path=*"
      measurements = [
        {
          name = "cass.threadpool.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "path"
              value = "{path}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ThreadPools,name=CompletedTasks,scope=*,path=*"
      measurements = [
        {
          name = "cass.threadpool.completed"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "path"
              value = "{path}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Value}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=ThreadPools,name=CurrentlyBlockedTasks,scope=*,path=*"
      measurements = [
        {
          name = "cass.threadpool.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "path"
              value = "{path}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },

    //
    // type=CQL
    //
    {
      query = "org.apache.cassandra.metrics:type=CQL,name=RegularStatementsExecuted"
      measurements = [
        {
          name = "cass.cql.statementsExecuted"
          tags = [
            {
              key = "id"
              value = "regular"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=CQL,name=PreparedStatementsExecuted"
      measurements = [
        {
          name = "cass.cql.statementsExecuted"
          tags = [
            {
              key = "id"
              value = "prepared"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=CQL,name=PreparedStatementsEvicted"
      measurements = [
        {
          name = "cass.cql.{name}"
          tags = [
            {
              key = "id"
              value = "prepared"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=CQL,name=PreparedStatementsCount"
      measurements = [
        {
          name = "cass.cql.{name}"
          tags = [
            {
              key = "id"
              value = "prepared"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },

    //
    // type=FileCache
    //
    {
      query = "org.apache.cassandra.metrics:type=FileCache,name=Requests"
      measurements = [
        {
          name = "cass.filecache.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=FileCache,name=Hits"
      measurements = [
        {
          name = "cass.filecache.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },
    {
      query = "org.apache.cassandra.metrics:type=FileCache,name=Size"
      measurements = [
        {
          name = "cass.filecache.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },

    //
    // type=ReadRepair
    //
    {
      query = "org.apache.cassandra.metrics:type=ReadRepair,name=*"
      measurements = [
        {
          name = "cass.readrepair.{name}"
          tags = [
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        }
      ]
    },

    //
    // Cassandra 3.x additions
    //

    //
    // type=Table
    //
    // This is a work in progress. It is the OSS ColumnFamily mappings switched to
    // type=Table so it will work with Cassandra 3.
    //
    {
      query = "org.apache.cassandra.metrics:type=Table,name=*Latency,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },
    {
      // BloomFilterFalseRatio, RecentBloomFilterFalseRatio, and CompressionRatio
      query = "org.apache.cassandra.metrics:type=Table,name=*Ratio,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // BloomFilterFalsePositives and RecentBloomFilterFalsePositives
      query = "org.apache.cassandra.metrics:type=Table,name=*Positives,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Value}"
          counter = true
        }
      ]
    },
    {
      // BloomFilterDiskSpaceUsed
      query = "org.apache.cassandra.metrics:type=Table,name=BloomFilterDiskSpaceUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // LiveDiskSpaceUsed
      query = "org.apache.cassandra.metrics:type=Table,name=LiveDiskSpaceUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // OffHeapSize in bytes
      query = "org.apache.cassandra.metrics:type=Table,name=*OffHeapMemoryUsed,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // OffHeapSize in bytes
      query = "org.apache.cassandra.metrics:type=Table,name=*LiveDataSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // {Min,Max,Mean}RowSize
      query = "org.apache.cassandra.metrics:type=Table,name=*RowSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // LiveSSTableCount
      query = "org.apache.cassandra.metrics:type=Table,name=LiveSSTableCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // MemtableColumnsCount
      query = "org.apache.cassandra.metrics:type=Table,name=MemtableColumnsCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // MemtableSwitchCount
      query = "org.apache.cassandra.metrics:type=Table,name=MemtableSwitchCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{Count}"
          counter = true
        }
      ]
    },
    {
      // On/Off HeapSizes
      query = "org.apache.cassandra.metrics:type=Table,name=*HeapSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // PendingFlushes
      query = "org.apache.cassandra.metrics:type=Table,name=PendingFlushes,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // PendingCompactions
      query = "org.apache.cassandra.metrics:type=Table,name=PendingCompactions,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // SnapshotsSize
      query = "org.apache.cassandra.metrics:type=Table,name=SnapshotsSize,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // EstimatedRowCount
      query = "org.apache.cassandra.metrics:type=Table,name=EstimatedRowCount,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // SpeculativeRetries
      query = "org.apache.cassandra.metrics:type=Table,name=SpeculativeRetries,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // KeyCacheHitRate
      query = "org.apache.cassandra.metrics:type=Table,name=KeyCacheHitRate,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Value}"
        }
      ]
    },
    {
      // RowCache counters
      query = "org.apache.cassandra.metrics:type=Table,name=RowCache*,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Count}"
        }
      ]
    },
    {
      // WaitingOnFreeMemtableSapce
      query = "org.apache.cassandra.metrics:type=Table,name=WaitingOnFreeMemtableSpace,keyspace=*,*"
      measurements = [
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "count"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          value = "{OneMinuteRate}"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "max"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{Max},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "totalTime"
            },
            {
              key = "atlas.dstype"
              value = "rate"
            }
          ]
          // 50th percentile is used instead of mean because prior to metrics3 the mean
          // is for the life of the timer rather than for the last snapshot of the
          // reservoir
          value = "{50thPercentile},1e6,:div,{OneMinuteRate},:mul,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_50"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{50thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_95"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{95thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{99thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        },
        {
          name = "cass.cf.{name}"
          tags = [
            {
              key = "scope"
              value = "{scope}"
            },
            {
              key = "keyspace"
              value = "{keyspace}"
            },
            {
              key = "familyType"
              value = "{type}"
            },
            {
              key = "statistic"
              value = "percentile_99.9"
            },
            {
              key = "atlas.dstype"
              value = "gauge"
            }
          ]
          value = "{999thPercentile},1e6,:div,{Count},{previous:Count},:if-changed"
        }
      ]
    },
  ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy