vitess: github.com/youtube/vitess/go

Directories

PathSynopsis
aclPackage acl contains functions to enforce access control lists.
bytes2
cachePackage cache implements a LRU cache.
cacheservice
cgzipPackage cgzip wraps the C library for gzip.
cmd/automation_client
cmd/automation_server
cmd/l2vtgate
cmd/mysqlctlmysqlctl initializes and controls mysqld with Vitess-specific configuration.
cmd/mysqlctldmysqlctld is a daemon that starts or initializes mysqld and provides an RPC interface for vttablet to stop and start mysqld from a different container without having to restart the container running mysqlctld.
cmd/query_analyzer
cmd/topo2topo
cmd/vtclient
cmd/vtcombovtcombo: a single binary that contains: - a ZK topology server based on an in-memory map.
cmd/vtctl
cmd/vtctlclient
cmd/vtctld
cmd/vtexplain
cmd/vtgate
cmd/vtgateclienttestPackage main is the implementation of vtgateclienttest.
cmd/vtgateclienttest/goclienttest
cmd/vtgateclienttest/grpcclienttest
cmd/vtgateclienttest/servicesPackage services exposes all the services for the vtgateclienttest binary.
cmd/vttablet
cmd/vttestservervttestserver is a native Go implementation of `run_local_server.py`.
cmd/vttlstest
cmd/vtworkervtworker is the main program to run a worker job.
cmd/vtworkerclient
cmd/zk
cmd/zkctlzkctl initializes and controls ZooKeeper with Vitess-specific configuration.
cmd/zkctldzkctld is a daemon that starts or initializes ZooKeeper with Vitess-specific configuration.
eventPackage event provides a reflect-based framework for low-frequency global dispatching of events, which are values of any arbitrary type, to a set of listener functions, which are usually registered by plugin packages during init().
event/sysloggerPackage syslogger uses the event package to listen for any event that implements the Syslogger interface.
exitPackage exit provides an alternative to os.Exit(int).
fileutilPackage fileutil contains utility functions related to files and paths.
flagutilPackage flagutil contains flags that parse string lists and string maps.
hackPackage hack gives you some efficient functionality at the cost of breaking some Go rules.
historyPackage history implements a circular buffer with adjacent-item deduplication.
ioutil2Package ioutil2 provides extra functionality along similar lines to io/ioutil.
jsonutilPackage jsonutil contains json-related utility functions
memcachePackage memcache is a client for memcached.
mysqlPackage mysql is a library to support MySQL binary protocol, both client and server sides.
mysql/endtoendPackage endtoend is a test-only package.
mysql/fakesqldbPackage fakesqldb provides a MySQL server for tests.
mysql/ldapauthserver
netutilPackage netutil contains network-related utility functions.
poolsPackage pools provides functionality to manage and reuse resources like connections.
procPackage proc allows you to configure servers to be restarted with negligible downtime.
race
ratelimiterPackage ratelimiter implements rate limiting functionality.
sqlescape
sqltypesPackage sqltypes implements interfaces and types that represent SQL values.
statsPackage stats is a wrapper for expvar.
stats/influxdbbackendPackage influxdbbackend is useful for publishing metrics to an InfluxDB backend (tested on v0.88).
stats/promstatsPackage promstats contains adapters to publish stats variables to prometheus (http://prometheus.io)
streamlogPackage streamlog provides a non-blocking message broadcaster.
sync2Package sync2 provides extra functionality along the same lines as sync.
tbPackage tb exposes some handy traceback functionality buried in the runtime.
testfilesPackage testfiles locates test files within the Vitess directory tree.
timerPackage timer provides various enhanced timer functions.
tracePackage trace contains a helper interface that allows various tracing tools to be plugged in to components using this interface.
vt/automationPackage automation contains code to execute high-level cluster operations (e.g.
vt/binlog
vt/binlog/binlogplayerPackage binlogplayer contains the code that plays a filtered replication stream on a client database.
vt/binlog/binlogplayertest
vt/binlog/eventtokenPackage eventtoken includes utility methods for event token handling.
vt/binlog/grpcbinlogplayer
vt/binlog/grpcbinlogstreamerPackage grpcbinlogstreamer contains the gRPC implementation of the binlog streamer server component.
vt/calleridPackage callerid stores/retrives CallerIDs (immediate CallerID and effective CallerID) to/from the Context
vt/callerid/testsuite
vt/callinfoPackage callinfo stores custom values into the Context (related to the RPC source)
vt/callinfo/fakecallinfo
vt/concurrency
vt/dbconfigsPackage dbconfigs is reusable by vt tools to load the db configs file.
vt/dbconnpoolPackage dbconnpool exposes a single DBConnection object with wrapped access to a single DB connection, and a ConnectionPool object to pool these DBConnections.
vt/discoveryPackage discovery provides a way to discover all tablets e.g.
vt/dtidsPackage dtids contains dtid convenience functions.
vt/env
vt/etcdtopoPackage etcdtopo implements topo.Server with etcd as the backend.
vt/eventsPackage events defines common structures used for events dispatched from various other package.
vt/grpcclient
vt/grpccommon
vt/health
vt/hook
vt/key
vt/logutil
vt/logzPackage logz provides an infrastructure to expose a list of entries as a sortable table on a webpage.
vt/mysqlctl
vt/mysqlctl/backupstoragePackage backupstorage contains the interface and file system implementation of the backup system.
vt/mysqlctl/cephbackupstoragePackage cephbackupstorage implements the BackupStorage interface for Ceph Cloud Storage.
vt/mysqlctl/filebackupstoragePackage filebackupstorage implements the BackupStorage interface for a local filesystem (which can be an NFS mount).
vt/mysqlctl/gcsbackupstoragePackage gcsbackupstorage implements the BackupStorage interface for Google Cloud Storage.
vt/mysqlctl/grpcmysqlctlclientPackage grpcmysqlctlclient contains the gRPC1 version of the mysqlctl client protocol.
vt/mysqlctl/grpcmysqlctlserverPackage grpcmysqlctlserver contains the gRPC implementation of the server side of the remote execution of mysqlctl commands.
vt/mysqlctl/mysqlctlclientPackage mysqlctlclient contains the generic client side of the remote mysqlctl protocol.
vt/mysqlctl/s3backupstoragePackage s3backupstorage implements the BackupStorage interface for AWS S3.
vt/mysqlctl/tmutilsPackage tmutils contains helper methods to deal with the tabletmanagerdata proto3 structures.
vt/proto/automationPackage automation is a generated protocol buffer package.
vt/proto/automationservicePackage automationservice is a generated protocol buffer package.
vt/proto/binlogdataPackage binlogdata is a generated protocol buffer package.
vt/proto/binlogservicePackage binlogservice is a generated protocol buffer package.
vt/proto/logutilPackage logutil is a generated protocol buffer package.
vt/proto/mysqlctlPackage mysqlctl is a generated protocol buffer package.
vt/proto/queryPackage query is a generated protocol buffer package.
vt/proto/queryservicePackage queryservice is a generated protocol buffer package.
vt/proto/replicationdataPackage replicationdata is a generated protocol buffer package.
vt/proto/tableaclPackage tableacl is a generated protocol buffer package.
vt/proto/tabletmanagerdataPackage tabletmanagerdata is a generated protocol buffer package.
vt/proto/tabletmanagerservicePackage tabletmanagerservice is a generated protocol buffer package.
vt/proto/throttlerdataPackage throttlerdata is a generated protocol buffer package.
vt/proto/throttlerservicePackage throttlerservice is a generated protocol buffer package.
vt/proto/topodataPackage topodata is a generated protocol buffer package.
vt/proto/vschemaPackage vschema is a generated protocol buffer package.
vt/proto/vtctldataPackage vtctldata is a generated protocol buffer package.
vt/proto/vtctlservicePackage vtctlservice is a generated protocol buffer package.
vt/proto/vtgatePackage vtgate is a generated protocol buffer package.
vt/proto/vtgateservicePackage vtgateservice is a generated protocol buffer package.
vt/proto/vtrpcPackage vtrpc is a generated protocol buffer package.
vt/proto/vttestPackage vttest is a generated protocol buffer package.
vt/proto/vtworkerdataPackage vtworkerdata is a generated protocol buffer package.
vt/proto/vtworkerservicePackage vtworkerservice is a generated protocol buffer package.
vt/proto/workflowPackage workflow is a generated protocol buffer package.
vt/schemamanager
vt/schemamanager/schemaswap
vt/servenvPackage servenv contains functionality that is common for all Vitess server programs.
vt/servenv/grpcutils
vt/sqlannotationPackage sqlannotation provides functions for annotating DML statements with keyspace-id comments and parsing them.
vt/sqlparser
vt/statusPackage status defines a few useful functions for our binaries, mainly to link the status page with a vtctld instance.
vt/tableacl
vt/tableacl/acl
vt/tableacl/simpleacl
vt/tableacl/testlib
vt/throttlerPackage throttler provides a client-side, local throttler which is used to throttle (and actively pace) writes during the resharding process.
vt/throttler/demo
vt/throttler/grpcthrottlerclientPackage grpcthrottlerclient contains the gRPC version of the throttler client protocol.
vt/throttler/grpcthrottlerserverPackage grpcthrottlerserver contains the gRPC implementation of the server side of the throttler service.
vt/throttler/throttlerclientPackage throttlerclient defines the generic RPC client interface for the throttler service.
vt/throttler/throttlerclienttestPackage throttlerclienttest contains the testsuite against which each RPC implementation of the throttlerclient interface must be tested.
vt/tlstestPackage tlstest contains utility methods to create test certificates.
vt/topo
vt/topo/consultopoPackage consultopo implements topo.Server with consul as the backend.
vt/topo/etcd2topoPackage etcd2topo implements topo.Server with etcd as the backend.
vt/topo/eventsPackage events defines the structures used for events relating directly to individual topology elements, like keyspaces, shards, and tablets.
vt/topo/helpersPackage helpers contains a few utility classes to handle topo.Server objects, and transitions from one topo implementation to another.
vt/topo/memorytopoPackage memorytopo contains an implementation of the topo.Backend API based on an in-process memory map.
vt/topo/testPackage test contains utilities to test topo.Impl implementations.
vt/topo/test/faketopoPackage faketopo contains utitlities for tests that have to interact with a Vitess topology.
vt/topotoolsPackage topotools contains high level functions based on vt/topo and vt/actionnode.
vt/topotools/eventsPackage events defines the structures used for events dispatched from the wrangler package.
vt/topo/topoprotoPackage topoproto contains utility functions to deal with the proto3 structures defined in proto/topodata.
vt/topo/topotestsPackage topotests contains all the unit tests for the topo.Server code that is based on topo.Backend.
vt/topo/zk2topo
vt/vitessdriverPackage vitessdriver contains the Vitess Go SQL driver.
vt/vtctl
vt/vtctldPackage vtctld contains all the code to expose a vtctld server based on the provided topo.Server.
vt/vtctld/explorer
vt/vtctl/fakevtctlclientPackage fakevtctlclient contains a fake for the vtctlclient interface.
vt/vtctl/grpcvtctlclientPackage grpcvtctlclient contains the gRPC version of the vtctl client protocol
vt/vtctl/grpcvtctlserverPackage grpcvtctlserver contains the gRPC implementation of the server side of the remote execution of vtctl commands.
vt/vtctl/vtctlclientPackage vtctlclient contains the generic client side of the remote vtctl protocol.
vt/vtctl/vtctlclienttestPackage vtctlclienttest contains the testsuite against which each RPC implementation of the vtctlclient interface must be tested.
vt/vterrorsPackage vterrors provides helpers for propagating internal errors through the Vitess system (including across RPC boundaries) in a structured way.
vt/vtexplainPackage vtexplain analyzes a set of sql statements and returns the corresponding vtgate and vttablet query plans that will be executed on the given statements
vt/vtgatePackage vtgate provides query routing rpc services for vttablets.
vt/vtgate/bufferPackage buffer provides a buffer for MASTER traffic during failovers.
vt/vtgate/engine
vt/vtgate/fakerpcvtgateconnPackage fakerpcvtgateconn provides a fake implementation of vtgateconn.Impl that doesn't do any RPC, but uses a local map to return results.
vt/vtgate/gatewayPackage gateway contains the routing layer of vtgate.
vt/vtgate/gatewaytestPackage gatewaytest contains a test suite to run against a Gateway object.
vt/vtgate/grpcvtgateconnPackage grpcvtgateconn provides gRPC connectivity for VTGate.
vt/vtgate/grpcvtgateservicePackage grpcvtgateservice provides the gRPC glue for vtgate
vt/vtgate/l2vtgatePackage l2vtgate provides the core functionnality of a second-layer vtgate to route queries from an original vtgate to a subset of tablets.
vt/vtgate/masterbufferPackage masterbuffer contains experimental logic to buffer master requests in VTGate.
vt/vtgate/planbuilderPackage planbuilder allows you to build execution plans that describe how to fulfill a query that may span multiple keyspaces or shards.
vt/vtgate/vindexes
vt/vtgate/vtgateconn
vt/vtgate/vtgateconntestPackage vtgateconntest provides the test methods to make sure a vtgateconn/vtgateservice pair over RPC works correctly.
vt/vtgate/vtgateservicePackage vtgateservice provides to interface definition for the vtgate service
vt/vtgate/vtgateservice/vtgateservice_testing
vt/vttablet/agentrpctest
vt/vttablet/customrule/filecustomrulePackage filecustomrule implements static custom rule from a config file
vt/vttablet/customrule/zkcustomrule
vt/vttablet/endtoendPackage endtoend is a test-only package.
vt/vttablet/endtoend/framework
vt/vttablet/faketmclient
vt/vttablet/grpcqueryservice
vt/vttablet/grpctabletconn
vt/vttablet/grpctmclient
vt/vttablet/grpctmserver
vt/vttablet/heartbeatPackage heartbeat contains a writer and reader of heartbeats for a master-slave cluster.
vt/vttablet/queryservicePackage queryservice contains the interface for the service definition of the Query Service.
vt/vttablet/queryservice/fakes
vt/vttablet/sandboxconnPackage sandboxconn provides a fake QueryService implementation for tests.
vt/vttablet/syslogloggerPackage sysloglogger implements an optional plugin that logs all queries to syslog.
vt/vttablet/tabletconn
vt/vttablet/tabletconntestPackage tabletconntest provides the test methods to make sure a tabletconn/queryservice pair over RPC works correctly.
vt/vttablet/tabletmanagerPackage tabletmanager exports the ActionAgent object.
vt/vttablet/tabletmanager/eventsPackage events contains event structs used by the tabletmanager package.
vt/vttablet/tabletserver
vt/vttablet/tabletserver/connpool
vt/vttablet/tabletserver/messager
vt/vttablet/tabletservermockPackage tabletservermock provides mock interfaces for tabletserver.
vt/vttablet/tabletserver/planbuilder
vt/vttablet/tabletserver/rules
vt/vttablet/tabletserver/schema
vt/vttablet/tabletserver/schema/schematestPackage schematest provides support for testing packages that depend on schema
vt/vttablet/tabletserver/splitqueryPackage splitquery contains the logic needed for implementing the tabletserver's SplitQuery RPC.
vt/vttablet/tabletserver/splitquery/splitquery_testing
vt/vttablet/tabletserver/tabletenvPackage tabletenv maintains environment variables and types that are common for all packages of tabletserver.
vt/vttablet/tabletserver/txserializerPackage txserializer provides the vttablet hot row protection.
vt/vttablet/tabletserver/txthrottler
vt/vttablet/tmclient
vt/vttestPackage vttest provides the functionality to bring up a test cluster.
vt/vttimePackage vttime contains the definitions and implementations for the Vitess time library.
vt/vttls
vt/workerPackage worker contains the framework, utility methods and core functions for long running actions.
vt/worker/events
vt/worker/fakevtworkerclientPackage fakevtworkerclient contains a fake for the vtworkerclient interface.
vt/worker/grpcvtworkerclientPackage grpcvtworkerclient contains the gRPC version of the vtworker client protocol.
vt/worker/grpcvtworkerserverPackage grpcvtworkerserver contains the gRPC implementation of the server side of the remote execution of vtworker commands.
vt/worker/vtworkerclientPackage vtworkerclient contains the generic client side of the remote vtworker protocol.
vt/worker/vtworkerclienttestPackage vtworkerclienttest contains the testsuite against which each RPC implementation of the vtworkerclient interface must be tested.
vt/workflow
vt/workflow/resharding
vt/workflow/topovalidatorPackage topovalidator contains a workflow that validates the topology data.
vt/wranglerPackage wrangler contains the Wrangler object to manage complex topology actions.
vt/wrangler/testlibPackage testlib contains utility methods to include in unit tests to deal with topology common tasks, like fake tablets and action loops.
zk
zk/zkctl

Updated 2017-11-19. Refresh now. Tools for package owners.