vector/sinks/greptimedb/
mod.rs

1use crate::sinks::prelude::*;
2
3// sub level implementations
4mod logs;
5mod metrics;
6
7/// Compression algorithm for gRPC requests to GreptimeDB.
8#[configurable_component]
9#[derive(Clone, Copy, Debug, Default)]
10#[serde(rename_all = "lowercase")]
11enum GrpcCompression {
12    /// No compression.
13    #[default]
14    None,
15    /// Gzip compression.
16    Gzip,
17    /// Zstandard compression.
18    Zstd,
19}
20
21fn default_dbname() -> String {
22    greptimedb_ingester::DEFAULT_SCHEMA_NAME.to_string()
23}
24
25fn default_dbname_template() -> Template {
26    Template::try_from(default_dbname()).unwrap()
27}
28
29fn default_pipeline_template() -> Template {
30    Template::try_from("greptime_identity").unwrap()
31}
32
33#[derive(Clone, Copy, Debug, Default)]
34struct GreptimeDBDefaultBatchSettings;
35
36impl SinkBatchSettings for GreptimeDBDefaultBatchSettings {
37    const MAX_EVENTS: Option<usize> = Some(20);
38    const MAX_BYTES: Option<usize> = None;
39    const TIMEOUT_SECS: f64 = 1.0;
40}