Skip to content

feat: greptimedb plugin as skywalking backend storage#1

Open
killme2008 wants to merge 8 commits intomasterfrom
feature/greptimedb-plugin
Open

feat: greptimedb plugin as skywalking backend storage#1
killme2008 wants to merge 8 commits intomasterfrom
feature/greptimedb-plugin

Conversation

@killme2008
Copy link
Owner

  • If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
  • Update the CHANGES log.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds GreptimeDB as a new storage backend for Apache SkyWalking. GreptimeDB is an open-source, cloud-native time-series database. The implementation uses a dual-protocol architecture: gRPC for high-throughput asynchronous writes (port 4001) and MySQL protocol via JDBC for queries and DDL (port 4002). The plugin implements all 36 DAO interfaces required by SkyWalking and leverages GreptimeDB's native features including TTL management, merge modes for metrics, and append mode for records.

Changes:

  • Added complete GreptimeDB storage plugin with client, schema management, and 36 DAO implementations
  • Integrated plugin into build system and module configuration
  • Added comprehensive unit tests, integration tests, and E2E tests
  • Added documentation for setup and configuration

Reviewed changes

Copilot reviewed 63 out of 63 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pom.xml Added GreptimeDB plugin module and Maven dependencies including ingester SDK, gRPC, and MySQL connector
GreptimeDBStorageProvider.java Main module provider registering all storage services and DAO implementations
GreptimeDBStorageClient.java Dual-protocol client managing gRPC connection for writes and JDBC connection pool for reads
GreptimeDBStorageConfig.java Configuration class for connection settings, TTLs, and performance tuning
GreptimeDBConverter.java Data type mapping and conversion utilities between SkyWalking and GreptimeDB
GreptimeDBTableInstaller.java Schema installation with DDL generation for tables, indexes, and TTL options
SchemaRegistry.java Caches table schemas and column mappings for write operations
dao/*.java 36 DAO implementations covering metrics, traces, logs, profiling, and management data
test/**/*.java Unit tests, integration tests with Testcontainers
e2e-v2/cases/storage/greptimedb/* E2E test configuration and scenarios
docs/**/*.md Setup documentation and architecture description
application.yml Configuration template with environment variables

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 67 out of 67 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
@killme2008 killme2008 force-pushed the feature/greptimedb-plugin branch from 8e9f727 to 32e163f Compare March 3, 2026 10:07
Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants