Skip to content
CAI
Software that uses CAICheck a score

GreptimeTeam/greptimedb-ingester-erl

53.9

Adequate · 17 September 2026

1.3k

lines of production code

Erlang

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is an Erlang client library for GreptimeDB that facilitates data interaction via gRPC. It provides capabilities for synchronous and asynchronous batch writes, streaming inserts, and health checks, while managing connections and serialization through established Erlang libraries.

Features

Initial release of GreptimeDB Erlang client with gRPC support

This change introduces the GreptimeDB Erlang client library, enabling users to connect to GreptimeDB via gRPC. The client supports writing data points with configurable time units (milliseconds, nanoseconds, etc.) and custom timestamp column names. It provides basic, batch, async, and streaming write capabilities, along with connection options for authentication and SSL. The implementation relies on the grpcbox and ecpool libraries for gRPC communication and connection pooling, respectively.

(repo-wide) · high confidence

Initial release of GreptimeDB v1 protocol definitions

This change introduces the core protocol buffer definitions for the GreptimeDB v1 API, establishing the contract for client-server communication. The new protos define the \GreptimeDatabase\ service for handling data operations (inserts, queries, deletes) and the \HealthCheck\ service for monitoring. It specifies message structures for row-based and column-based data formats, comprehensive data types (including timestamps, decimals, and complex types like lists and structs), and Data Definition Language (DDL) expressions for managing database objects such as tables, flows, and views.

protos · high confidence

Initial release of the GreptimeDB Erlang client library

This change introduces the first version (0.1.0) of the GreptimeDB Erlang client. It provides a complete API for interacting with GreptimeDB via gRPC, including synchronous and asynchronous batch writes, streaming inserts, and health checks. The library leverages \ecpool\ for connection management and \grpcbox\ for the transport layer, while automatically generated protocol buffer modules handle data serialization for all supported data types.

src · high confidence

Test coverage

Added comprehensive test suite for GreptimeDB client operations

Added a new Common Test suite (greptimedb\_SUITE.erl) that validates core client functionality, including authentication, row-based and streaming writes, decimal128 support, and stale channel recovery.

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 54.

Lenses

  • Code Health 100
  • Architecture 69
  • Maturity 32
  • Readiness 64
  • Security 84
  • Event Sourcing 100

Changes since last survey

  • 78 commits — 60 feature/other, 18 fixes

By area

  • (root) — 40 commits
  • .github/workflows — 16 commits
  • src/greptimedb.erl — 7 commits
  • src/greptimedb_worker.erl — 4 commits
  • (repo) — 2 commits
  • protos/health.proto — 2 commits
  • src/greptimedb.app.src — 2 commits
  • src/greptimedb_encoder.erl — 2 commits
  • src/greptime_v_1_greptime_database_bhvr.erl — 1 commit
  • src/greptimedb_stream.erl — 1 commit
  • test/greptimedb_SUITE.erl — 1 commit

Notable commits

  • fix: fix: action workflow
  • fix: fix: async write callback with wrong result (#30)
  • fix: fix: atom and process leaks (#47)
  • fix: fix: coverage
  • fix: fix: coverage
  • fix: fix: coverage
  • fix: fix: coverage
  • fix: fix: erlang image version
  • fix: fix: greptimedb_sup
  • fix: fix: last try
  • fix: fix: log
  • fix: fix: null mask encoder (#50)
  • fix: fix: pad_null_mask and adjust batch parameters (#48)
  • fix: fix: readme
  • fix: fix: recover stale grpc channels (#58)
  • fix: fix: return any possible error reasons from greptimedb:is_alive(Client, true) (#40)
  • fix: fix: should reply the error when fail to shoot (#31)
  • fix: fix: values order
  • change: Create erlang.yml
  • change: Merge pull request #1 from GreptimeTeam/develop
  • …and 58 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

GreptimeTeam/greptimedb-ingester-erl 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 75f5b87ee33ece5ea842fb53dffa4b8b763538d5 — the exact code this score is about.
  • Scored under rubric-2026.09.12 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-f94092f054c1.