diff --git a/README.md b/README.md index bded513..143ca39 100644 --- a/README.md +++ b/README.md @@ -225,7 +225,7 @@ Context ctx = Context.newDefault(); // Add a hint to make the database create a table with the specified TTL (time-to-live) ctx = ctx.withHint("ttl", "3d"); // Set the compression algorithm to Zstd. -ctx = ctx.withCompression(Compression.Zstd) +ctx = ctx.withCompression(Compression.Zstd); // Use the ctx when writing data to GreptimeDB CompletableFuture> future = client.write(Arrays.asList(table1, table2), WriteOp.Insert, ctx); ``` diff --git a/ingester-example/README.md b/ingester-example/README.md index 20f6905..5aede21 100644 --- a/ingester-example/README.md +++ b/ingester-example/README.md @@ -34,7 +34,7 @@ These batching approaches can dramatically improve performance compared to makin #### Examples -- [LowLevelApiWriteQuickStart.java](src/main/java/io/greptime/LowLevelApiWriteQuickStart.java) +- [LowLevelApiWriteQuickStart.java](src/main/java/io/greptime/quickstart/write/LowLevelApiWriteQuickStart.java) This example demonstrates how to use the low-level API to write data to GreptimeDB. It covers: * Defining table schemas with tags, timestamps, and fields @@ -42,7 +42,7 @@ These batching approaches can dramatically improve performance compared to makin * Processing write results using the Result pattern * Deleting data using the `WriteOp.Delete` operation -- [HighLevelApiWriteQuickStart.java](src/main/java/io/greptime/HighLevelApiWriteQuickStart.java) +- [HighLevelApiWriteQuickStart.java](src/main/java/io/greptime/quickstart/write/HighLevelApiWriteQuickStart.java) This example demonstrates how to use the high-level API to write data to GreptimeDB. It covers: * Writing data using POJO objects with annotations @@ -61,7 +61,7 @@ This API is particularly well-suited for: #### Examples -- [LowLevelApiStreamWriteQuickStart.java](src/main/java/io/greptime/LowLevelApiStreamWriteQuickStart.java) +- [LowLevelApiStreamWriteQuickStart.java](src/main/java/io/greptime/quickstart/write/LowLevelApiStreamWriteQuickStart.java) This example demonstrates how to use the low-level API to write data to GreptimeDB using stream. It covers: * Defining table schemas with tags, timestamps, and fields @@ -69,7 +69,7 @@ This API is particularly well-suited for: * Finalizing the stream and retrieving write results * Deleting data using the `WriteOp.Delete` operation -- [HighLevelApiStreamWriteQuickStart.java](src/main/java/io/greptime/HighLevelApiStreamWriteQuickStart.java) +- [HighLevelApiStreamWriteQuickStart.java](src/main/java/io/greptime/quickstart/write/HighLevelApiStreamWriteQuickStart.java) This example demonstrates how to use the high-level API to write data to GreptimeDB using stream. It covers: * Writing POJO objects directly to the stream @@ -99,7 +99,7 @@ This API is ideal for scenarios such as: ### Examples -- [BulkWriteApiQuickStart.java](src/main/java/io/greptime/BulkWriteApiQuickStart.java) +- [BulkWriteApiQuickStart.java](src/main/java/io/greptime/quickstart/write/BulkWriteApiQuickStart.java) This example demonstrates how to use the bulk write API to write large volumes of data to a single table with maximum efficiency. It covers: * Configuring the bulk writer for optimal performance diff --git a/ingester-example/src/main/java/io/greptime/bench/DBConnector.java b/ingester-example/src/main/java/io/greptime/bench/DBConnector.java index 505dc26..b4d53b4 100644 --- a/ingester-example/src/main/java/io/greptime/bench/DBConnector.java +++ b/ingester-example/src/main/java/io/greptime/bench/DBConnector.java @@ -18,18 +18,36 @@ import io.greptime.GreptimeDB; import io.greptime.options.GreptimeOptions; +import io.greptime.quickstart.query.QueryJDBCQuickStart; +import java.io.IOException; +import java.util.Properties; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * DBConnector is a helper class to connect to a GreptimeDB instance. */ public class DBConnector { - public static GreptimeDB connectTo(String[] endpoints, String dbname) { - GreptimeOptions opts = GreptimeOptions.newBuilder(endpoints, dbname) + private static final Logger LOG = LoggerFactory.getLogger(DBConnector.class); + + public static GreptimeDB connect() { + Properties prop = new Properties(); + try { + prop.load(QueryJDBCQuickStart.class.getResourceAsStream("/db-connection.properties")); + } catch (IOException e) { + throw new RuntimeException(e); + } + String database = (String) prop.get("db.database"); + String endpointsStr = prop.getProperty("db.endpoints"); + String[] endpoints = endpointsStr.split(","); + GreptimeOptions opts = GreptimeOptions.newBuilder(endpoints, database) .writeMaxRetries(0) .defaultStreamMaxWritePointsPerSecond(Integer.MAX_VALUE) .useZeroCopyWriteInBulkWrite(true) .build(); + LOG.info("Connect to db: {}, endpoint: {}", database, endpointsStr); + return GreptimeDB.create(opts); } } diff --git a/ingester-example/src/main/java/io/greptime/bench/BatchingWriteBenchmark.java b/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java similarity index 90% rename from ingester-example/src/main/java/io/greptime/bench/BatchingWriteBenchmark.java rename to ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java index 10e306e..f76160b 100644 --- a/ingester-example/src/main/java/io/greptime/bench/BatchingWriteBenchmark.java +++ b/ingester-example/src/main/java/io/greptime/bench/benchmark/BatchingWriteBenchmark.java @@ -14,10 +14,12 @@ * limitations under the License. */ -package io.greptime.bench; +package io.greptime.bench.benchmark; import io.greptime.GreptimeDB; import io.greptime.WriteOp; +import io.greptime.bench.DBConnector; +import io.greptime.bench.TableDataProvider; import io.greptime.common.util.MetricsUtil; import io.greptime.common.util.ServiceLoader; import io.greptime.common.util.SystemPropertyUtil; @@ -40,8 +42,6 @@ * BatchingWriteBenchmark is a benchmark for the batching write API of GreptimeDB. * * Env: - * - db_endpoint: the endpoint of the GreptimeDB server - * - db_name: the name of the database * - batch_size_per_request: the batch size per request * - zstd_compression: whether to use zstd compression * - max_points_per_second: the max number of points that can be written per second, exceeding which may cause blockage @@ -51,12 +51,10 @@ public class BatchingWriteBenchmark { private static final Logger LOG = LoggerFactory.getLogger(BatchingWriteBenchmark.class); public static void main(String[] args) throws Exception { - String endpoint = SystemPropertyUtil.get("db_endpoint", "127.0.0.1:4001"); - String dbName = SystemPropertyUtil.get("db_name", "public"); boolean zstdCompression = SystemPropertyUtil.getBool("zstd_compression", true); int batchSize = SystemPropertyUtil.getInt("batch_size_per_request", 64 * 1024); int maxPointsPerSecond = SystemPropertyUtil.getInt("max_points_per_second", Integer.MAX_VALUE); - LOG.info("Connect to db: {}, endpoint: {}", dbName, endpoint); + LOG.info("Using zstd compression: {}", zstdCompression); LOG.info("Batch size: {}", batchSize); LOG.info("Max points per second: {}", maxPointsPerSecond); @@ -64,8 +62,7 @@ public static void main(String[] args) throws Exception { // Start a metrics exporter MetricsExporter metricsExporter = new MetricsExporter(MetricsUtil.metricRegistry()); metricsExporter.init(ExporterOptions.newDefault()); - - GreptimeDB greptimeDB = DBConnector.connectTo(new String[] {endpoint}, dbName); + GreptimeDB greptimeDB = DBConnector.connect(); Compression compression = zstdCompression ? Compression.Zstd : Compression.None; Context ctx = Context.newDefault().withCompression(compression); diff --git a/ingester-example/src/main/java/io/greptime/bench/BulkWriteBenchmark.java b/ingester-example/src/main/java/io/greptime/bench/benchmark/BulkWriteBenchmark.java similarity index 91% rename from ingester-example/src/main/java/io/greptime/bench/BulkWriteBenchmark.java rename to ingester-example/src/main/java/io/greptime/bench/benchmark/BulkWriteBenchmark.java index 67e2998..6029824 100644 --- a/ingester-example/src/main/java/io/greptime/bench/BulkWriteBenchmark.java +++ b/ingester-example/src/main/java/io/greptime/bench/benchmark/BulkWriteBenchmark.java @@ -14,11 +14,13 @@ * limitations under the License. */ -package io.greptime.bench; +package io.greptime.bench.benchmark; import io.greptime.BulkStreamWriter; import io.greptime.BulkWrite; import io.greptime.GreptimeDB; +import io.greptime.bench.DBConnector; +import io.greptime.bench.TableDataProvider; import io.greptime.common.util.MetricsUtil; import io.greptime.common.util.ServiceLoader; import io.greptime.common.util.SystemPropertyUtil; @@ -37,8 +39,6 @@ * BulkWriteBenchmark is a benchmark for the bulk write API of GreptimeDB. * * Env: - * - db_endpoint: the endpoint of the GreptimeDB server - * - db_name: the name of the database * - batch_size_per_request: the batch size per request * - zstd_compression: whether to use zstd compression */ @@ -47,11 +47,8 @@ public class BulkWriteBenchmark { private static final Logger LOG = LoggerFactory.getLogger(BulkWriteBenchmark.class); public static void main(String[] args) throws Exception { - String endpoint = SystemPropertyUtil.get("db_endpoint", "127.0.0.1:4001"); - String dbName = SystemPropertyUtil.get("db_name", "public"); boolean zstdCompression = SystemPropertyUtil.getBool("zstd_compression", true); int batchSize = SystemPropertyUtil.getInt("batch_size_per_request", 64 * 1024); - LOG.info("Connect to db: {}, endpoint: {}", dbName, endpoint); LOG.info("Using zstd compression: {}", zstdCompression); LOG.info("Batch size: {}", batchSize); @@ -59,7 +56,7 @@ public static void main(String[] args) throws Exception { MetricsExporter metricsExporter = new MetricsExporter(MetricsUtil.metricRegistry()); metricsExporter.init(ExporterOptions.newDefault()); - GreptimeDB greptimeDB = DBConnector.connectTo(new String[] {endpoint}, dbName); + GreptimeDB greptimeDB = DBConnector.connect(); BulkWrite.Config cfg = BulkWrite.Config.newBuilder() .allocatorInitReservation(0) diff --git a/ingester-example/src/main/java/io/greptime/bench/StreamingWriteBenchmark.java b/ingester-example/src/main/java/io/greptime/bench/benchmark/StreamingWriteBenchmark.java similarity index 90% rename from ingester-example/src/main/java/io/greptime/bench/StreamingWriteBenchmark.java rename to ingester-example/src/main/java/io/greptime/bench/benchmark/StreamingWriteBenchmark.java index 9fbd164..1f9bbe9 100644 --- a/ingester-example/src/main/java/io/greptime/bench/StreamingWriteBenchmark.java +++ b/ingester-example/src/main/java/io/greptime/bench/benchmark/StreamingWriteBenchmark.java @@ -14,10 +14,12 @@ * limitations under the License. */ -package io.greptime.bench; +package io.greptime.bench.benchmark; import io.greptime.GreptimeDB; import io.greptime.StreamWriter; +import io.greptime.bench.DBConnector; +import io.greptime.bench.TableDataProvider; import io.greptime.common.util.MetricsUtil; import io.greptime.common.util.ServiceLoader; import io.greptime.common.util.SystemPropertyUtil; @@ -37,8 +39,6 @@ * StreamingWriteBenchmark is a benchmark for the streaming write API of GreptimeDB. * * Env: - * - db_endpoint: the endpoint of the GreptimeDB server - * - db_name: the name of the database * - batch_size_per_request: the batch size per request * - zstd_compression: whether to use zstd compression * - max_points_per_second: the max number of points that can be written per second, exceeding which may cause blockage @@ -48,12 +48,9 @@ public class StreamingWriteBenchmark { private static final Logger LOG = LoggerFactory.getLogger(StreamingWriteBenchmark.class); public static void main(String[] args) throws Exception { - String endpoint = SystemPropertyUtil.get("db_endpoint", "127.0.0.1:4001"); - String dbName = SystemPropertyUtil.get("db_name", "public"); boolean zstdCompression = SystemPropertyUtil.getBool("zstd_compression", true); int batchSize = SystemPropertyUtil.getInt("batch_size_per_request", 64 * 1024); int maxPointsPerSecond = SystemPropertyUtil.getInt("max_points_per_second", Integer.MAX_VALUE); - LOG.info("Connect to db: {}, endpoint: {}", dbName, endpoint); LOG.info("Using zstd compression: {}", zstdCompression); LOG.info("Batch size: {}", batchSize); LOG.info("Max points per second: {}", maxPointsPerSecond); @@ -62,7 +59,7 @@ public static void main(String[] args) throws Exception { MetricsExporter metricsExporter = new MetricsExporter(MetricsUtil.metricRegistry()); metricsExporter.init(ExporterOptions.newDefault()); - GreptimeDB greptimeDB = DBConnector.connectTo(new String[] {endpoint}, dbName); + GreptimeDB greptimeDB = DBConnector.connect(); Compression compression = zstdCompression ? Compression.Zstd : Compression.None; Context ctx = Context.newDefault().withCompression(compression); diff --git a/ingester-example/src/main/java/io/greptime/Cpu.java b/ingester-example/src/main/java/io/greptime/metric/Cpu.java similarity index 94% rename from ingester-example/src/main/java/io/greptime/Cpu.java rename to ingester-example/src/main/java/io/greptime/metric/Cpu.java index b6afde5..b7a0caf 100644 --- a/ingester-example/src/main/java/io/greptime/Cpu.java +++ b/ingester-example/src/main/java/io/greptime/metric/Cpu.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.metric; import io.greptime.models.Column; import io.greptime.models.DataType; import io.greptime.models.Metric; /** - * + * Memory metric class that represents CPU usage statistics. */ @Metric(name = "cpu_metric") public class Cpu { diff --git a/ingester-example/src/main/java/io/greptime/Memory.java b/ingester-example/src/main/java/io/greptime/metric/Memory.java similarity index 94% rename from ingester-example/src/main/java/io/greptime/Memory.java rename to ingester-example/src/main/java/io/greptime/metric/Memory.java index 32492cb..5c22690 100644 --- a/ingester-example/src/main/java/io/greptime/Memory.java +++ b/ingester-example/src/main/java/io/greptime/metric/Memory.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.metric; import io.greptime.models.Column; import io.greptime.models.DataType; import io.greptime.models.Metric; /** - * + * Memory metric class that represents memory usage statistics. */ @Metric(name = "mem_metric") public class Memory { diff --git a/ingester-example/src/main/java/io/greptime/TestConnector.java b/ingester-example/src/main/java/io/greptime/quickstart/TestConnector.java similarity index 89% rename from ingester-example/src/main/java/io/greptime/TestConnector.java rename to ingester-example/src/main/java/io/greptime/quickstart/TestConnector.java index 897d896..4d2e086 100644 --- a/ingester-example/src/main/java/io/greptime/TestConnector.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/TestConnector.java @@ -14,13 +14,17 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart; +import io.greptime.GreptimeDB; import io.greptime.common.util.SerializingExecutor; import io.greptime.limit.LimitedPolicy; import io.greptime.models.AuthInfo; import io.greptime.options.GreptimeOptions; +import io.greptime.quickstart.query.QueryJDBCQuickStart; import io.greptime.rpc.RpcOptions; +import java.io.IOException; +import java.util.Properties; /** * @@ -30,11 +34,19 @@ public class TestConnector { public static GreptimeDB connectToDefaultDB() { // GreptimeDB has a default database named "public" in the default catalog "greptime", // we can use it as the test database - String database = "public"; + Properties prop = new Properties(); + + try { + prop.load(QueryJDBCQuickStart.class.getResourceAsStream("/db-connection.properties")); + } catch (IOException e) { + throw new RuntimeException(e); + } + String database = (String) prop.get("db.database"); // By default, GreptimeDB listens on port 4001 using the gRPC protocol. // We can provide multiple endpoints that point to the same GreptimeDB cluster. // The client will make calls to these endpoints based on a load balancing strategy. - String[] endpoints = {"127.0.0.1:4001"}; + String endpointsStr = prop.getProperty("db.endpoints"); + String[] endpoints = endpointsStr.split(","); GreptimeOptions opts = GreptimeOptions.newBuilder(endpoints, database) // Optional, the default value is fine. // Asynchronous thread pool, which is used to handle various asynchronous // tasks in the SDK (You are using a purely asynchronous SDK). If you do not diff --git a/ingester-example/src/main/java/io/greptime/QueryJDBC.java b/ingester-example/src/main/java/io/greptime/quickstart/query/QueryJDBCQuickStart.java similarity index 92% rename from ingester-example/src/main/java/io/greptime/QueryJDBC.java rename to ingester-example/src/main/java/io/greptime/quickstart/query/QueryJDBCQuickStart.java index 09f7f4b..c995c2f 100644 --- a/ingester-example/src/main/java/io/greptime/QueryJDBC.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/query/QueryJDBCQuickStart.java @@ -14,8 +14,11 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.query; +import io.greptime.GreptimeDB; +import io.greptime.metric.Cpu; +import io.greptime.quickstart.TestConnector; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; @@ -33,9 +36,9 @@ /** * */ -public class QueryJDBC { +public class QueryJDBCQuickStart { - private static final Logger LOG = LoggerFactory.getLogger(QueryJDBC.class); + private static final Logger LOG = LoggerFactory.getLogger(QueryJDBCQuickStart.class); public static void main(String[] args) throws Exception { GreptimeDB greptimeDB = TestConnector.connectToDefaultDB(); @@ -82,7 +85,7 @@ public static void main(String[] args) throws Exception { public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException { Properties prop = new Properties(); - prop.load(QueryJDBC.class.getResourceAsStream("/db-connection.properties")); + prop.load(QueryJDBCQuickStart.class.getResourceAsStream("/db-connection.properties")); String dbName = (String) prop.get("db.database-driver"); diff --git a/ingester-example/src/main/java/io/greptime/BulkWriteApiQuickStart.java b/ingester-example/src/main/java/io/greptime/quickstart/write/BulkWriteApiQuickStart.java similarity index 98% rename from ingester-example/src/main/java/io/greptime/BulkWriteApiQuickStart.java rename to ingester-example/src/main/java/io/greptime/quickstart/write/BulkWriteApiQuickStart.java index 114282a..3d4b4c6 100644 --- a/ingester-example/src/main/java/io/greptime/BulkWriteApiQuickStart.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/write/BulkWriteApiQuickStart.java @@ -14,13 +14,16 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.write; +import io.greptime.BulkStreamWriter; import io.greptime.BulkWrite.Config; +import io.greptime.GreptimeDB; import io.greptime.common.util.StringBuilderHelper; import io.greptime.models.DataType; import io.greptime.models.Table; import io.greptime.models.TableSchema; +import io.greptime.quickstart.TestConnector; import io.greptime.rpc.Compression; import io.greptime.rpc.Context; import java.math.BigDecimal; diff --git a/ingester-example/src/main/java/io/greptime/HighLevelApiStreamWriteQuickStart.java b/ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiStreamWriteQuickStart.java similarity index 92% rename from ingester-example/src/main/java/io/greptime/HighLevelApiStreamWriteQuickStart.java rename to ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiStreamWriteQuickStart.java index dfe55fd..22215fd 100644 --- a/ingester-example/src/main/java/io/greptime/HighLevelApiStreamWriteQuickStart.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiStreamWriteQuickStart.java @@ -14,9 +14,15 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.write; +import io.greptime.GreptimeDB; +import io.greptime.StreamWriter; +import io.greptime.WriteOp; +import io.greptime.metric.Cpu; +import io.greptime.metric.Memory; import io.greptime.models.WriteOk; +import io.greptime.quickstart.TestConnector; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; diff --git a/ingester-example/src/main/java/io/greptime/HighLevelApiWriteQuickStart.java b/ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiWriteQuickStart.java similarity index 95% rename from ingester-example/src/main/java/io/greptime/HighLevelApiWriteQuickStart.java rename to ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiWriteQuickStart.java index fa64542..a2c34a4 100644 --- a/ingester-example/src/main/java/io/greptime/HighLevelApiWriteQuickStart.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/write/HighLevelApiWriteQuickStart.java @@ -14,11 +14,16 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.write; +import io.greptime.GreptimeDB; +import io.greptime.WriteOp; +import io.greptime.metric.Cpu; +import io.greptime.metric.Memory; import io.greptime.models.Err; import io.greptime.models.Result; import io.greptime.models.WriteOk; +import io.greptime.quickstart.TestConnector; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/ingester-example/src/main/java/io/greptime/LowLevelApiStreamWriteQuickStart.java b/ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiStreamWriteQuickStart.java similarity index 96% rename from ingester-example/src/main/java/io/greptime/LowLevelApiStreamWriteQuickStart.java rename to ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiStreamWriteQuickStart.java index 397a0c1..700a5cc 100644 --- a/ingester-example/src/main/java/io/greptime/LowLevelApiStreamWriteQuickStart.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiStreamWriteQuickStart.java @@ -14,12 +14,16 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.write; +import io.greptime.GreptimeDB; +import io.greptime.StreamWriter; +import io.greptime.WriteOp; import io.greptime.models.DataType; import io.greptime.models.Table; import io.greptime.models.TableSchema; import io.greptime.models.WriteOk; +import io.greptime.quickstart.TestConnector; import io.greptime.rpc.Compression; import io.greptime.rpc.Context; import java.util.concurrent.CompletableFuture; diff --git a/ingester-example/src/main/java/io/greptime/LowLevelApiWriteQuickStart.java b/ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiWriteQuickStart.java similarity index 97% rename from ingester-example/src/main/java/io/greptime/LowLevelApiWriteQuickStart.java rename to ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiWriteQuickStart.java index 6e2115d..af59596 100644 --- a/ingester-example/src/main/java/io/greptime/LowLevelApiWriteQuickStart.java +++ b/ingester-example/src/main/java/io/greptime/quickstart/write/LowLevelApiWriteQuickStart.java @@ -14,14 +14,17 @@ * limitations under the License. */ -package io.greptime; +package io.greptime.quickstart.write; +import io.greptime.GreptimeDB; +import io.greptime.WriteOp; import io.greptime.models.DataType; import io.greptime.models.Err; import io.greptime.models.Result; import io.greptime.models.Table; import io.greptime.models.TableSchema; import io.greptime.models.WriteOk; +import io.greptime.quickstart.TestConnector; import java.util.Arrays; import java.util.List; import java.util.concurrent.CompletableFuture; diff --git a/ingester-example/src/main/resources/db-connection.properties b/ingester-example/src/main/resources/db-connection.properties index dc7f61a..77eb5fd 100644 --- a/ingester-example/src/main/resources/db-connection.properties +++ b/ingester-example/src/main/resources/db-connection.properties @@ -15,5 +15,7 @@ # DataSource db.database-driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:4002/public +db.endpoints=localhost:4001 +db.database=public db.username= db.password= \ No newline at end of file diff --git a/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/ExporterOptions.java b/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/ExporterOptions.java index 8121797..db5f72f 100644 --- a/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/ExporterOptions.java +++ b/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/ExporterOptions.java @@ -24,12 +24,12 @@ */ public class ExporterOptions implements Copiable { private Endpoint bindAddr; - private boolean deamon; + private boolean daemon; public static ExporterOptions newDefault() { ExporterOptions opts = new ExporterOptions(); opts.bindAddr = new Endpoint("0.0.0.0", 8090); - opts.deamon = true; + opts.daemon = true; return opts; } @@ -41,24 +41,24 @@ public void setBindAddr(Endpoint bindAddr) { this.bindAddr = bindAddr; } - public boolean isDeamon() { - return deamon; + public boolean isDaemon() { + return daemon; } - public void setDeamon(boolean deamon) { - this.deamon = deamon; + public void setDaemon(boolean daemon) { + this.daemon = daemon; } @Override public ExporterOptions copy() { ExporterOptions opts = new ExporterOptions(); opts.bindAddr = this.bindAddr; - opts.deamon = this.deamon; + opts.daemon = this.daemon; return opts; } @Override public String toString() { - return "ExporterOptions{" + "bindAddr=" + bindAddr + ", deamon=" + deamon + '}'; + return "ExporterOptions{" + "bindAddr=" + bindAddr + ", daemon=" + daemon + '}'; } } diff --git a/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/MetricsExporter.java b/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/MetricsExporter.java index 66c4bce..d215778 100644 --- a/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/MetricsExporter.java +++ b/ingester-prometheus-metrics/src/main/java/io/greptime/metrics/MetricsExporter.java @@ -51,7 +51,7 @@ public boolean init(ExporterOptions opts) { try { Endpoint bindAddr = opts.getBindAddr(); InetSocketAddress socketAddress = new InetSocketAddress(bindAddr.getAddr(), bindAddr.getPort()); - this.server = new HTTPServer(socketAddress, this.prometheusMetricRegistry, opts.isDeamon()); + this.server = new HTTPServer(socketAddress, this.prometheusMetricRegistry, opts.isDaemon()); LOG.info("Metrics exporter started at `http://{}/metrics`", bindAddr.toString()); return true; } catch (IOException e) {