BanyanDB, as an observability database, aims to ingest, analyze and store Metrics, Tracing and Logging data. It's designed to handle observability data generated by observability platform and APM system, like Apache SkyWalking etc.
BanyanDB, as an observability database, aims to ingest, analyze and store Metrics, Tracing, and Logging data. It's designed to handle observability data generated by Apache SkyWalking. Before BanyanDB emerges, the Databases that SkyWalking adopted are not ideal for the APM data model, especially for saving tracing and logging data. Consequently, There’s room to improve the performance and resource usage based on the nature of SkyWalking data patterns.
The database research community usually uses RUM Conjecture to describe how a database access data. BanyanDB combines several access methods to build a comprehensive APM database to balance read cost, update cost, and memory overhead.
- Submit an issue by selecting the BanyanDB component.
- Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
- Send
Request to join SkyWalking slackmail to the mail list(dev@skywalking.apache.org), we will invite you in. - For Chinese speaker, send
[CN] Request to join SkyWalking slackmail to the mail list(dev@skywalking.apache.org), we will invite you in. - X (Twitter): @BanyanDB and @ASFSkyWalking
The dump trace-source-catalog subcommand validates the frozen downloaded trace benchmark shard and writes its deterministic
core and secondary-index ledgers. It requires --source-path and a new, outside-source --output-path; see the
trace pipeline merge performance design for the source contract.
The dump trace-generate-fixture subcommand consumes that catalog and the immutable downloaded shard, verifies the default
SkyWalking sampler ratio, and writes the deterministic one-day core and secondary-index fixture through the data-node part
receipt path. It requires --source-path, --catalog-path, a new --output-path, and the built sampler --plugin-path.
The trace benchmark receiver can enable per-merge JSONL recording for the primary, boundary-drain, and cooldown phases. Records classify actual sampler execution, preserve merge depth and input lineage, nest secondary-index work under its core merge, and expose reconciled low-cardinality aggregates plus serial-attribution resource deltas.
For developers who want to contribute to this project, see the Contribution Guide.
Artifacts that are committed to this repository — currently the generated license files — are built in a pinned, digest-verified container so that they are byte-identical regardless of the host operating system. It works on Linux, macOS and Windows (Docker Desktop); WSL2 is the smoother option on Windows but is not required for this target:
make docker-license-dep # canonical: regenerate the license files
make check-license-outputs # verify the committed bytes without regeneratingThe container is streamed the source tree and returns only the generated files; your node_modules
and bin/ are never touched. The native make license-dep still works and produces the same bytes.
See CONTRIBUTING.md and
the design.
