Class CassandraStorage.Builder
- Enclosing class:
- CassandraStorage
public static final class CassandraStorage.Builder extends StorageComponent.Builder
-
Method Summary
Modifier and Type Method Description CassandraStorage.Builder
autocompleteCardinality(int autocompleteCardinality)
CassandraStorage.Builder
autocompleteKeys(List<String> keys)
CassandraStorage.Builder
autocompleteTtl(int autocompleteTtl)
CassandraStorage
build()
CassandraStorage.Builder
contactPoints(String contactPoints)
Comma separated list of host addresses part of Cassandra cluster.CassandraStorage.Builder
ensureSchema(boolean ensureSchema)
Ensures that schema exists, if enabled tries to execute script io.zipkin:zipkin-cassandra-core/cassandra-schema.cql.CassandraStorage.Builder
indexCacheMax(int indexCacheMax)
Indicates the maximum trace index metadata entries to cache.CassandraStorage.Builder
indexCacheTtl(int indexCacheTtl)
Indicates how long in seconds to cache trace index metadata.CassandraStorage.Builder
indexFetchMultiplier(int indexFetchMultiplier)
How many more index rows to fetch than the user-supplied query limit.CassandraStorage.Builder
indexTtl(int indexTtl)
Deprecated.current schema uses default ttls.CassandraStorage.Builder
keyspace(String keyspace)
Keyspace to store span and index data.CassandraStorage.Builder
localDc(String localDc)
Name of the datacenter that will be considered "local" for latency load balancing.CassandraStorage.Builder
maxConnections(int maxConnections)
Max pooled connections per datacenter-local host.CassandraStorage.Builder
maxTraceCols(int maxTraceCols)
Spans have multiple values for the same id.CassandraStorage.Builder
password(String password)
Will throw an exception on startup if authentication fails.CassandraStorage.Builder
searchEnabled(boolean searchEnabled)
CassandraStorage.Builder
sessionFactory(SessionFactory sessionFactory)
Override to control how sessions are created.CassandraStorage.Builder
spanTtl(int spanTtl)
Deprecated.current schema uses default ttls.CassandraStorage.Builder
strictTraceId(boolean strictTraceId)
CassandraStorage.Builder
username(String username)
Will throw an exception on startup if authentication fails.CassandraStorage.Builder
useSsl(boolean useSsl)
Use ssl for connection.
-
Method Details
-
strictTraceId
- Specified by:
strictTraceId
in classStorageComponent.Builder
-
searchEnabled
- Specified by:
searchEnabled
in classStorageComponent.Builder
-
autocompleteKeys
- Overrides:
autocompleteKeys
in classStorageComponent.Builder
-
autocompleteTtl
- Overrides:
autocompleteTtl
in classStorageComponent.Builder
-
autocompleteCardinality
- Overrides:
autocompleteCardinality
in classStorageComponent.Builder
-
sessionFactory
Override to control how sessions are created. -
keyspace
Keyspace to store span and index data. Defaults to "zipkin" -
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
Name of the datacenter that will be considered "local" for latency load balancing. When unset, load-balancing is round-robin. -
maxConnections
Max pooled connections per datacenter-local host. Defaults to 8 -
ensureSchema
Ensures that schema exists, if enabled tries to execute script io.zipkin:zipkin-cassandra-core/cassandra-schema.cql. Defaults to true. -
useSsl
Use ssl for connection. Defaults to false. -
username
Will throw an exception on startup if authentication fails. No default. -
password
Will throw an exception on startup if authentication fails. No default. -
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. -
spanTtl
Deprecated.current schema uses default ttls. This parameter will be removed in Zipkin 2Time-to-live in seconds for span data. Defaults to 604800 (7 days) -
indexTtl
Deprecated.current schema uses default ttls. This parameter will be removed in Zipkin 2Time-to-live in seconds for index data. Defaults to 259200 (3 days) -
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
andTables.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 beforeindexCacheTtl
passes.Note: It is hard to estimate precisely how many is the right number, particularly as binary annotation 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
Indicates how long in seconds to cache trace index metadata. Defaults to 1 minute. This is only read whenindexCacheMax
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.
-
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 returnQueryRequest.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. -
build
- Specified by:
build
in classStorageComponent.Builder
-