leo-project/leo_backend_db
52.9
Adequate · 17 September 2026
1.6k
lines of production code
Erlang
primary language
1
measurement over time
What this system is
leo\_backend\_db is an Erlang library that provides a unified API for interacting with local key-value storage engines, specifically supporting Eleveldb and ETS. It exposes standard data operations such as put, get, delete, and fetch, while allowing users to configure backend-specific performance parameters like write buffer sizes and caching hints. The system includes built-in benchmarking tools and comprehensive test suites to validate instance management and data retrieval across different storage backends.
Features
Initial release of leo\_backend\_db with Erlang/OTP 19-28 support
This entry introduces leo\_backend\_db, a wrapper for local key-value stores (bitcask, eleveldb, and ETS) for the LeoFS ecosystem. The project is configured to build with rebar3 and requires Erlang/OTP versions 19 through 28. It includes a Makefile for standard build tasks (compile, test, dialyzer) and depends on leo\_commons 1.3.0, eleveldb riak\_kv-3.0.12, meck 0.9.2, and proper v1.5.0.
(repo-wide) · high confidence
Initial release of the Leo Backend DB module (v2.0.2)
This change introduces the \leo\_backend\_db\ application, providing a unified API for interacting with backend storage engines. The module exposes functions for creating, stopping, and managing database instances, as well as standard data operations including put, get, delete, fetch, and first\_n. It currently supports the eleveldb backend, allowing users to configure options such as fadvise hints and write buffer sizes, and integrates with the system supervision tree for process management.
src · high confidence
Behavioural changes
Added Leo Backend DB benchmarking driver to priv directory
The basho\_bench driver for Leo Backend DB has been moved into the priv directory, making the benchmarking configuration and Erlang source files available as part of the application's private resources. This change ensures that the benchmarking suite (including the driver implementation and its configuration file) is properly bundled with the release, allowing users to run performance tests against the Leo backend database using the standard basho\_bench tooling without needing external file paths.
priv · high confidence
Configurable Eleveldb performance parameters via include header
The system now exposes configuration options for the Eleveldb backend through the new leo\_backend\_db.hrl header file. Users can adjust the write buffer size, maximum open files, SST block size, and the fadvise(WILLNEED) caching hint via application environment variables, with sensible defaults provided for each setting.
include · high confidence
Test coverage
Added property-based and unit tests for the backend database API
This change introduces new test suites in the \test\ directory to validate the \leo\_backend\_db\_api\ module. It adds \leo\_backend\_db\_api\_prop.erl\, which uses the Proper library for property-based testing of database operations like put, get, delete, and first. It also adds \leo\_backend\_db\_api\_tests.erl\, containing EUnit tests that verify instance management, data retrieval, fetching with limits, counting, and compaction status across different backend types (including LevelDB and ETS). Additionally, \leo\_backend\_db\_bench.erl\ is added to provide benchmarking capabilities for database initialization and write performance.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 53.
Lenses
- Code Health 96
- Architecture 100
- Maturity 42
- Readiness 44
- Security 67
Changes since last survey
- 300 commits — 264 feature/other, 36 fixes
By area
- (repo) — 92 commits
- (root) — 88 commits
- src/leo_backend_db.app.src — 58 commits
- src/leo_backend_db_api.erl — 22 commits
- src/leo_backend_db_eleveldb.erl — 11 commits
- src/leo_backend_db_sup.erl — 8 commits
- include/leo_backend_db.hrl — 5 commits
- src/leo_backend_db_bitcask.erl — 4 commits
- src/leo_backend_db_server.erl — 3 commits
- test/leo_backend_db_api_prop.erl — 3 commits
- test/leo_backend_db_api_tests.erl — 2 commits
- priv/basho_bench_driver_leo_backend_db.config — 1 commit
- src/leo_backend_db_app.erl — 1 commit
- test/basho_bench_driver_leo_backend_db.erl — 1 commit
- test/leo_backend_db_bench.erl — 1 commit
Notable commits
- fix: Fix .travis.yml
- fix: Fix a bug of delete fun
- fix: Fix a launch bug
- fix: Fix a mistake
- fix: Fix a wrong return type
- fix: Fix assigned wrong directory
- fix: Fix building leo_backend_db
- fix: Fix delete-bucket to wok in case of the bucket have lots of objects
- fix: Fix elevel-related bugs
- fix: Fix eleveldb-related issues
- fix: Fix ignorance of warnings
- fix: Fix incorrect type definitions at bitcask-handler
- fix: Fix issue leo-project/leofs#362
- fix: Fix iterator handle leak for #712
- fix: Fix leo-project/leofs#526
- fix: Fix leo-project/leofs/issues/247
- fix: Fix leo-project/leofs/issues/366
- fix: Fix leo_commons's version
- fix: Fix rebar.config using leo_commons 1.1.3
- fix: Fix some test cases
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
leo-project/leo_backend_db was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8ab7cd8e90f6f3bc7f33046486e3658fbaf116a1 — the exact code this score is about.
- Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.