Class CassandraStorage.Builder

    • Method Detail

      • ensureSchema

        public CassandraStorage.Builder ensureSchema​(boolean ensureSchema)
        Ensures that schema exists, if enabled tries to execute:
        1. io.zipkin.zipkin2:zipkin-storage-cassandra-v1/cassandra-schema.cql
        Defaults to true.
        Overrides:
        ensureSchema in class zipkin2.storage.cassandra.internal.CassandraStorageBuilder<CassandraStorage.Builder>
      • spanTtl

        @Deprecated
        public CassandraStorage.Builder spanTtl​(int spanTtl)
        Deprecated.
        current schema uses default ttls. This parameter will be removed in Zipkin 2
        Time-to-live in seconds for span data. Defaults to 604800 (7 days)
      • indexTtl

        @Deprecated
        public CassandraStorage.Builder indexTtl​(int indexTtl)
        Deprecated.
        current schema uses default ttls. This parameter will be removed in Zipkin 2
        Time-to-live in seconds for index data. Defaults to 259200 (3 days)
      • indexCacheMax

        public CassandraStorage.Builder indexCacheMax​(int indexCacheMax)
        Indicates the maximum trace index metadata entries to cache. Zero disables the feature. Defaults to 100000.

        This is used to obviate redundant inserts into Tables.SERVICE_NAME_INDEX, Tables.SERVICE_REMOTE_SERVICE_NAME_INDEX, Tables.SERVICE_SPAN_NAME_INDEX and Tables.ANNOTATIONS_INDEX.

        Corresponds to the count of rows inserted into between indexCacheTtl and now. This is bounded so that collectors that get large trace volume don't run out of memory before indexCacheTtl passes.

        Note: It is hard to estimate precisely how many is the right number, particularly as annotations and tag values are included in partition keys (meaning each cache entry can vary in size considerably). A good guess might be 5 x spans per indexCacheTtl, memory permitting.

      • indexCacheTtl

        public CassandraStorage.Builder indexCacheTtl​(int indexCacheTtl)
        Indicates how long in seconds to cache trace index metadata. Defaults to 1 minute. This is only read when indexCacheMax is greater than zero.

        You should pick a value that is longer than the gap between the root span's timestamp and its latest descendant span's timestamp. More simply, if 95% of your trace durations are under 1 minute, use 1 minute.