Categorygithub.com/ydb-platform/jaeger-ydb-store
modulepackage
1.9.1
Repository: https://github.com/ydb-platform/jaeger-ydb-store.git
Documentation: pkg.go.dev

# README

YDB storage plugin for Jaeger

PkgGoDev GoDoc tests lint Go Report Card codecov

This is a storage backend using YDB for Jaeger

components

  • collector/query: these are docker images with jaeger-collector/jaeger-query and plugin built-in into image
  • watcher (see cmd/schema/watcher): this is schema-watcher that creates new tables for spans/indexes and removes old ones

docker images

  • cr.yandex/yc/jaeger-ydb-collector
  • cr.yandex/yc/jaeger-ydb-query
  • cr.yandex/yc/jaeger-ydb-watcher

how to run

cp docker-compose.example.yml docker-compose.yml
# edit docker-compose yml to set db dsn
docker-compose up -d

environment variables

NameTypeDefaultDescription
YDB_ADDRESSstringdb endpoint host:port to connect to
YDB_SECURE_CONNECTIONstringis secure connection enabled. One of ["enabled", "disabled"]
YDB_ANONYMOUSboolfalseanonymous auth
YDB_TOKENstringauth token for internal purposes
YDB_SA_META_AUTHboolfalseuse metadata to authorize requests (documentation)
YDB_SA_IDstringdeprecated - use YDB_SA_KEY_JSON variable. service account id for Yandex.Cloud authorization (doc on service accounts: https://cloud.yandex.com/docs/iam/concepts/users/service-accounts)
YDB_SA_KEY_IDstringdeprecated - use YDB_SA_KEY_JSON variable. service account key id for Yandex.Cloud authorization
YDB_SA_PRIVATE_KEY_FILEstringdeprecated - use YDB_SA_KEY_JSON variable. to service account private key for Yandex.Cloud authorization
YDB_SA_KEY_JSONstringservice account key for Yandex.Cloud authorization (doc on service accounts: https://cloud.yandex.com/docs/iam/concepts/users/service-accounts) in JSON. This variable replaces YDB_SA_ID, YDB_SA_KEY_ID and YDB_SA_PRIVATE_KEY_FILE
YDB_PATHstringdatabase path
YDB_FOLDERstringfolder to store data in)
YDB_CONNECT_TIMEOUTduration10sdb connect timeout
YDB_WRITE_TIMEOUTdurationwrite queries timeout
YDB_RETRY_ATTEMPT_TIMEOUTdurationattempt to write queries timeout
YDB_READ_TIMEOUTduration10sread queries timeout
YDB_READ_QUERY_PARALLELinteger16controls number of parallel read subqueries
YDB_READ_OP_LIMITinteger5000max operation names to fetch for service
YDB_READ_SVC_LIMITinteger1000max service names to fetch
YDB_POOL_SIZEinteger100db session pool size
YDB_QUERY_CACHE_SIZEinteger50db query cache size
YDB_WRITER_BUFFER_SIZEinteger1000span buffer size for batch writer
YDB_WRITER_BATCH_SIZEinteger100number of spans in batch write calls
YDB_WRITER_BATCH_WORKERSinteger10number of workers processing batch writes
YDB_INDEXER_BUFFER_SIZEinteger1000span buffer size for indexer
YDB_INDEXER_MAX_TRACESinteger100maximum trace_id count in a single index record
YDB_INDEXER_MAX_TTLduration5smaximum amount of time for indexer to batch trace_ids for index records
YDB_SCHEMA_NUM_PARTITIONSinteger10number of partitioned tables per day. Changing it requires recreating full data set

Configuration options can be passed via config file. Use --grpc-storage-plugin.configuration-file to pass configuration to YDB Plugin. In case of watcher use --config for the same purpose.

schema watcher configuration

NameTypeDefaultDescription
WATCHER_AGEduration24hdelete partition tables older than this value
WATCHER_INTERVALduration5mcheck interval
YDB_FEATURE_SPLIT_BY_LOADboolfalseenable table split by load feature
YDB_FEATURE_COMPRESSIONboolfalseenable table compression feature, used for span storage

conference talks

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author