Class CassandraStorage.Builder

java.lang.Object
zipkin2.storage.StorageComponent.Builder
zipkin2.storage.cassandra.CassandraStorage.Builder
Enclosing class:
CassandraStorage

public static final class CassandraStorage.Builder extends zipkin2.storage.StorageComponent.Builder
  • Method Details

    • keyspace

      public CassandraStorage.Builder keyspace(String keyspace)
      Keyspace to store span and index data. Defaults to "zipkin2"
    • ensureSchema

      public CassandraStorage.Builder ensureSchema(boolean ensureSchema)
      Ensures that schema exists, if enabled tries to execute:
      1. io.zipkin.zipkin2:zipkin-storage-cassandra/zipkin2-schema.cql
      2. io.zipkin.zipkin2:zipkin-storage-cassandra/zipkin2-indexes.cql
      Defaults to true.
    • build

      public CassandraStorage build()
      Specified by:
      build in class zipkin2.storage.StorageComponent.Builder
    • strictTraceId

      public CassandraStorage.Builder strictTraceId(boolean strictTraceId)
      Specified by:
      strictTraceId in class zipkin2.storage.StorageComponent.Builder
    • searchEnabled

      public CassandraStorage.Builder searchEnabled(boolean searchEnabled)
      Specified by:
      searchEnabled in class zipkin2.storage.StorageComponent.Builder
    • autocompleteKeys

      public CassandraStorage.Builder autocompleteKeys(List<String> keys)
      Overrides:
      autocompleteKeys in class zipkin2.storage.StorageComponent.Builder
    • autocompleteTtl

      public CassandraStorage.Builder autocompleteTtl(int autocompleteTtl)
      Overrides:
      autocompleteTtl in class zipkin2.storage.StorageComponent.Builder
    • autocompleteCardinality

      public CassandraStorage.Builder autocompleteCardinality(int autocompleteCardinality)
      Overrides:
      autocompleteCardinality in class zipkin2.storage.StorageComponent.Builder
    • contactPoints

      public CassandraStorage.Builder contactPoints(String contactPoints)
      Comma separated list of host addresses part of Cassandra cluster. You can also specify a custom port with 'host:port'. Defaults to localhost on port 9042 *
    • localDc

      public CassandraStorage.Builder localDc(String localDc)
      Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin.
    • maxConnections

      public CassandraStorage.Builder maxConnections(int maxConnections)
      Max pooled connections per datacenter-local host. Defaults to 8
    • username

      public CassandraStorage.Builder username(@Nullable String username)
      Will throw an exception on startup if authentication fails. No default.
    • password

      public CassandraStorage.Builder password(@Nullable String password)
      Will throw an exception on startup if authentication fails. No default.
    • useSsl

      public CassandraStorage.Builder useSsl(boolean useSsl)
      Use ssl for connection. Defaults to false.
    • sslHostnameValidation

      public CassandraStorage.Builder sslHostnameValidation(boolean sslHostnameValidation)
      Controls validation of Cassandra server hostname. Defaults to true.
    • sessionFactory

      public CassandraStorage.Builder sessionFactory(CassandraStorage.SessionFactory sessionFactory)
      Override to control how sessions are created.
    • maxTraceCols

      public CassandraStorage.Builder maxTraceCols(int maxTraceCols)
      Spans have multiple values for the same id. For example, a client and server contribute to the same span id. When searching for spans by id, the amount of results may be larger than the ids. This defines a threshold which accommodates this situation, without looking for an unbounded number of results.
    • indexFetchMultiplier

      public CassandraStorage.Builder indexFetchMultiplier(int indexFetchMultiplier)
      How many more index rows to fetch than the user-supplied query limit. Defaults to 3.

      Backend requests will request QueryRequest.limit() times this factor rows from Cassandra indexes in attempts to return QueryRequest.limit() traces.

      Indexing in cassandra will usually have more rows than trace identifiers due to factors including table design and collection implementation. As there's no way to DISTINCT out duplicates server-side, this over-fetches client-side when indexFetchMultiplier > 1.