Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/airbnb/SpinalTap
/ types & classes
Types & classes
189 in github.com/airbnb/SpinalTap
⨍
Functions
687
◇
Types & classes
189
Class
AbstractDataStoreSource
Base implementation for Data Store source (Such as MySQL, DynamoDB). @param <E> The event type produced by the source
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/source/AbstractDataStoreSource.java:24
Class
AbstractDestination
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/AbstractDestination.java:20
Class
AbstractDestinationTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/destination/AbstractDestinationTest.java:26
Class
AbstractMysqlConfiguration
Represents the base configuration for a {@link MysqlSource}.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/config/AbstractMysqlConfiguration.java:14
Class
AbstractPipeFactory
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/pipe/AbstractPipeFactory.java:17
Class
AbstractSource
Base abstract implementation of {@link Source}. @param <E> The {@link SourceEvent} type produced by the given {@link Source}.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/source/AbstractSource.java:27
Class
AbstractSourceTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/source/AbstractSourceTest.java:21
Class
AttributeValueDeserializationException
Exception thrown when a DynamoDB attribute value cannot be deserialized.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/exception/AttributeValueDeserializationException.java:8
Interface
BatchMapper
Responsible for mapping a list of objects. @param <T> The mapped from object type. @param <R> The mapped to object type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/BatchMapper.java:15
Class
BinaryLogConnectorEventMapper
Represents a mapper that maps a {@link com.github.shyiko.mysql.binlog.event.Event} to a {@link com.airbnb.spinaltap.mysql.event.BinlogEvent}.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/binlog_connector/BinaryLogConnectorEventMapper.java:36
Class
BinaryLogConnectorEventMapperTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/binlog_connector/BinaryLogConnectorEventMapperTest.java:39
Class
BinaryLogConnectorSource
Represents a {@link MysqlSource} implement based on open-source library <a href="https://github.com/shyiko/mysql-binlog-connector-java">.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/binlog_connector/BinaryLogConnectorSource.java:38
Class
BinlogClientLifeCycleListener
Lifecycle listener methods are called synchronized in BinaryLogClient. We should not enter critical sections in SpinalTap code path to avoid deadlocks
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/binlog_connector/BinaryLogConnectorSource.java:192
Class
BinlogEvent
Represents a Binlog event
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/BinlogEvent.java:13
Class
BinlogEventListener
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/binlog_connector/BinaryLogConnectorSource.java:169
Class
BinlogFilePos
Represents the position in a binlog file.
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/BinlogFilePos.java:23
Class
BinlogFilePosTest
spinaltap-model/src/test/java/com/airbnb/spinaltap/mysql/BinlogFilePosTest.java:11
Class
BufferedDestination
Represents a {@link Destination} implement with a bounded in-memory buffer. This is used to solve the Producer-Consumer problem between {@link com.air
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/BufferedDestination.java:33
Class
BufferedDestinationTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/destination/BufferedDestinationTest.java:18
Class
Builder
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ChainedFilter.java:37
Class
Builder
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ClassBasedMapper.java:32
Class
Builder
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/BinlogFilePos.java:131
Class
ChainedFilter
Represents a chain of {@link Filter}s, where all {@link Filter} conditions need to pass. @param <T> the filtered object type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ChainedFilter.java:19
Class
ChainedFilterTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/util/ChainedFilterTest.java:12
Class
ClassBasedMapper
Maps an object according to the registered mapper by {@link Class} type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ClassBasedMapper.java:16
Class
ClassBasedMapperTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/util/ClassBasedMapperTest.java:11
Class
Column
Represents a MySQL column.
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/mutation/schema/Column.java:11
Enum
ColumnDataType
An enumeration of the supported data types for a MySQL {@link Column}.
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/mutation/schema/ColumnDataType.java:15
Class
ColumnDeserializationException
Exception thrown when a MySQL column value cannot be deserialized.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/exception/ColumnDeserializationException.java:8
Class
ColumnMetadata
Represents additional metadata on a MySQL {@link Column}.
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/mutation/schema/ColumnMetadata.java:12
Class
ColumnSerializationUtil
A utility class for MySQL {@link Column} SerDe supoort.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/ColumnSerializationUtil.java:18
Class
ColumnSerializationUtilTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/ColumnSerializationUtilTest.java:26
Class
ConcurrencyUtil
Utility methods for concurrency operations
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ConcurrencyUtil.java:14
Interface
Counter
A monotone counter
spinaltap-common/src/main/java/com/airbnb/common/metrics/Counter.java:8
Class
DataSource
Represents a MySQL data source configuration.
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/DataSource.java:16
Interface
DataUpdater
Responsible for determining the object value, as a function of the current value and new value. @param <T> the object value type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/Repository.java:49
Class
DeleteEvent
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/DeleteEvent.java:12
Class
DeleteMutationMapper
Represents a {@link com.airbnb.spinaltap.common.util.Mapper} that maps a {@link MysqlDeleteMutation} to its corresponding thrift {@link Mutation} form
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/mutation/mapper/DeleteMutationMapper.java:17
Class
DeleteMutationMapper
Represents a {@link com.airbnb.spinaltap.common.util.Mapper} of a {@link DeleteEvent}s to the corresponding list of {@link com.airbnb.spinaltap.mysql.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/mapper/DeleteMutationMapper.java:28
Interface
Destination
Represents the receiving end of the {@link com.airbnb.spinaltap.common.pipe.Pipe}, where {@link Mutation}s are published, i.e. a Sink.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/Destination.java:15
Class
DestinationBuilder
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/DestinationBuilder.java:22
Class
DestinationBuilderTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/destination/DestinationBuilderTest.java:18
Class
DestinationConfiguration
Represents a {@link com.airbnb.spinaltap.common.destination.Destination} configuration.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/config/DestinationConfiguration.java:15
Class
DestinationException
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/exception/DestinationException.java:7
Class
DestinationListener
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/pipe/Pipe.java:218
Class
DestinationMetrics
Responsible for metrics collection for a {@link Destination}.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/DestinationMetrics.java:17
Class
DestinationPool
Represents a pool of {@link Destination}s, where events are routed to the appropriate {@link Destination} given a partitioning function based on {@lin
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/DestinationPool.java:29
Class
DestinationPoolTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/destination/DestinationPoolTest.java:26
Class
DropwizardCounter
Our own version of the Counter class that multiplexes tagged metrics to tagged and non-tagged versions, because Datadog is not capable of averaging ac
spinaltap-common/src/main/java/com/airbnb/common/metrics/DropwizardCounter.java:11
Class
DropwizardHistogram
Our own version of the Histogram class that multiplexes tagged metrics to tagged and non-tagged versions, because Datadog is not capable of averaging
spinaltap-common/src/main/java/com/airbnb/common/metrics/DropwizardHistogram.java:11
Class
DuplicateFilter
Represents a {@link com.airbnb.spinaltap.common.util.Filter} for duplicate {@link BinlogEvent}s that have already been streamed. This is used for serv
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/filter/DuplicateFilter.java:21
Class
EntityDeserializationException
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/exception/EntityDeserializationException.java:7
Interface
ErrorHandler
Responsible for handling {@code SpinaltapException}s.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/ErrorHandler.java:10
Class
EventOrderValidator
Represents a {@link Validator} that asserts {@link BinlogEvent}s are streamed in order of event id (offset). The implement assumes {@code validate} is
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/validator/EventOrderValidator.java:19
Class
EventOrderValidatorTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/EventOrderValidatorTest.java:18
Class
EventTypeFilter
Represents a {@link com.airbnb.spinaltap.common.util.Filter} for {@link BinlogEvent}s based on a predefined whitelist of event class types.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/filter/EventTypeFilter.java:25
Interface
Filter
Responsible for filtering object @param <T> The filtered object type
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/Filter.java:12
Class
GTIDEvent
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/GTIDEvent.java:10
Class
GTIDMapper
Represents a {@link com.airbnb.spinaltap.common.util.Mapper} that keeps track of {@link GTIDEvent}s, which will be included in {@link com.airbnb.spina
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/mapper/GTIDMapper.java:20
Class
GtidSet
This is an improvement of com.github.shyiko.mysql.binlog.GtidSet
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/GtidSet.java:22
Class
GtidSetTest
spinaltap-model/src/test/java/com/airbnb/spinaltap/GtidSetTest.java:13
Interface
Histogram
A Histogram interface used to record and analyze the distribution of values.
spinaltap-common/src/main/java/com/airbnb/common/metrics/Histogram.java:8
Enum
HostRole
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/config/MysqlConfiguration.java:124
Class
InsertMutationMapper
Represents a {@link com.airbnb.spinaltap.common.util.Mapper} that maps a {@link MysqlInsertMutation} to its corresponding thrift {@link Mutation} form
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/mutation/mapper/InsertMutationMapper.java:17
Class
InsertMutationMapper
Represents a {@link com.airbnb.spinaltap.common.util.Mapper} of a {@link WriteEvent} to a list of {@link com.airbnb.spinaltap.mysql.mutation.MysqlMuta
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/mapper/InsertMutationMapper.java:28
Class
Interval
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/GtidSet.java:152
Class
InvalidBinlogPositionException
Reflects that the binlog position set in the {@link com.airbnb.spinaltap.mysql.MysqlSource} client is invalid.
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/exception/InvalidBinlogPositionException.java:13
Interface
Joiner
Joins two objects to produce a third. @param <S> The first object type. @param <T> The second object type. @param <R> The result object type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/Joiner.java:16
Class
JsonSerializationTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/util/JsonSerializationTest.java:24
Class
JsonUtil
Utility class for json operations and components.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/JsonUtil.java:12
Class
KafkaDestination
Represents an implement of {@link com.airbnb.spinaltap.common.destination.Destination} using <a href="https://kafka.apache.org">Apache Kafka</a>.
spinaltap-kafka/src/main/java/com/airbnb/spinaltap/kafka/KafkaDestination.java:33
Class
KafkaDestinationBuilder
Represents an implement of {@link DestinationBuilder} for {@link KafkaDestination}s.
spinaltap-kafka/src/main/java/com/airbnb/spinaltap/kafka/KafkaDestinationBuilder.java:14
Class
KafkaDestinationTest
spinaltap-kafka/src/test/java/com/airbnb/spinaltap/kafka/KafkaDestinationTest.java:50
Class
KafkaProducerConfiguration
Represents the Kafka producer configuration used in {@link KafkaDestination}.
spinaltap-kafka/src/main/java/com/airbnb/spinaltap/kafka/KafkaProducerConfiguration.java:13
Interface
KeyProvider
Responsible for providing a key for an object. @param <T> The object type. @param <T> The key type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/KeyProvider.java:13
Class
ListenableDestination
Base {@link Destination} implement using <a href="https://en.wikipedia.org/wiki/Observer_pattern">observer pattern</a> to allow listening to streamed
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/ListenableDestination.java:17
Class
ListenableDestinationTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/destination/ListenableDestinationTest.java:16
Class
ListenableSource
Base {@link Source} implement using <a href="https://en.wikipedia.org/wiki/Observer_pattern">observer pattern</a> to allow listening to streamed event
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/source/ListenableSource.java:17
Class
ListenableSourceTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/source/ListenableSourceTest.java:14
Class
Listener
Represents a destination listener to get notified of events and lifecycle changes.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/destination/Destination.java:62
Class
Listener
Represents a source listener to get notified of events and lifecycle changes.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/source/Source.java:56
Interface
Mapper
Responsible for mapping between objects. @param <T> The mapped from object type. @param <R> The mapped to object type.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/util/Mapper.java:13
Class
Metadata
spinaltap-model/src/main/java/com/airbnb/spinaltap/Mutation.java:59
Class
Mutation
Base class which represents a data entity change (mutation). @param <T> The data entity type (ex: Row, Record, etc...)
spinaltap-model/src/main/java/com/airbnb/spinaltap/Mutation.java:22
Class
MutationOrderValidator
Responsible for validating that {@link Mutation}s are streamed in order. This is typically used as a {@link com.airbnb.spinaltap.common.source.Source.
spinaltap-common/src/main/java/com/airbnb/spinaltap/common/validator/MutationOrderValidator.java:21
Class
MutationOrderValidatorTest
spinaltap-common/src/test/java/com/airbnb/spinaltap/common/validator/MutationOrderValidatorTest.java:17
Class
MutationSchemaValidator
Represents a {@link Validator} that asserts parity of the {@link com.airbnb.spinaltap.mysql.mutation.schema.Table} schema with the {@link com.airbnb.s
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/validator/MutationSchemaValidator.java:23
Class
MutationSchemaValidatorTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/validator/MutationSchemaValidatorTest.java:20
Class
MutationTest
spinaltap-model/src/test/java/com/airbnb/spinaltap/MutationTest.java:14
Class
MySQLDBNamePrefixAdder
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/schema/MysqlSchemaDatabase.java:182
Class
MysqlClient
Represents a MySQL server connection and context with utility functions
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/MysqlClient.java:17
Class
MysqlColumn
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/schema/MysqlColumn.java:13
Class
MysqlColumnBuilder
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/schema/MysqlColumn.java:23
Class
MysqlColumnTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/schema/MysqlColumnTest.java:15
Class
MysqlConfiguration
Represents the configuration for a {@link com.airbnb.spinaltap.mysql.MysqlSource}
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/config/MysqlConfiguration.java:28
Class
MysqlDeleteMutation
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/mutation/MysqlDeleteMutation.java:11
Class
MysqlDestinationMetrics
Responsible for metrics collection on operations for {@link com.airbnb.spinaltap.common.destination.Destination} and associated components for a given
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/MysqlDestinationMetrics.java:21
Class
MysqlEventFilter
Base {@link com.airbnb.spinaltap.common.util.Filter} implement for MySQL {@link BinlogEvent}s
spinaltap-mysql/src/main/java/com/airbnb/spinaltap/mysql/event/filter/MysqlEventFilter.java:17
Class
MysqlEventFilterTest
spinaltap-mysql/src/test/java/com/airbnb/spinaltap/mysql/event/filter/MysqlEventFilterTest.java:29
Class
MysqlInsertMutation
spinaltap-model/src/main/java/com/airbnb/spinaltap/mysql/mutation/MysqlInsertMutation.java:10
next →
1–100 of 189, ranked by callers