Class CassandraStorage.Builder
- java.lang.Object
-
- zipkin2.storage.StorageComponent.Builder
-
- zipkin2.storage.cassandra.v1.CassandraStorage.Builder
-
- Enclosing class:
- CassandraStorage
public static final class CassandraStorage.Builder extends StorageComponent.Builder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods 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 Detail
-
strictTraceId
public CassandraStorage.Builder strictTraceId(boolean strictTraceId)
- Specified by:
strictTraceId
in classStorageComponent.Builder
-
searchEnabled
public CassandraStorage.Builder searchEnabled(boolean searchEnabled)
- Specified by:
searchEnabled
in classStorageComponent.Builder
-
autocompleteKeys
public CassandraStorage.Builder autocompleteKeys(List<String> keys)
- Overrides:
autocompleteKeys
in classStorageComponent.Builder
-
autocompleteTtl
public CassandraStorage.Builder autocompleteTtl(int autocompleteTtl)
- Overrides:
autocompleteTtl
in classStorageComponent.Builder
-
autocompleteCardinality
public CassandraStorage.Builder autocompleteCardinality(int autocompleteCardinality)
- Overrides:
autocompleteCardinality
in classStorageComponent.Builder
-
sessionFactory
public CassandraStorage.Builder sessionFactory(SessionFactory sessionFactory)
Override to control how sessions are created.
-
keyspace
public CassandraStorage.Builder keyspace(String keyspace)
Keyspace to store span and index data. Defaults to "zipkin"
-
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(@Nullable 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
-
ensureSchema
public CassandraStorage.Builder ensureSchema(boolean ensureSchema)
Ensures that schema exists, if enabled tries to execute script io.zipkin:zipkin-cassandra-core/cassandra-schema.cql. Defaults to true.
-
useSsl
public CassandraStorage.Builder useSsl(boolean useSsl)
Use ssl for connection. Defaults to false.
-
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.
-
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.
-
spanTtl
@Deprecated public CassandraStorage.Builder spanTtl(int 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 public CassandraStorage.Builder indexTtl(int 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
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
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
public CassandraStorage.Builder indexCacheTtl(int 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
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 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
public CassandraStorage build()
- Specified by:
build
in classStorageComponent.Builder
-
-