Skip to content

Commit da9c843

Browse files
authored
refactor: add query_profile and query_details persistent log tables (#17702)
* feat: allow schema change for persistent log table * chore: add QueryProfileTable and QueryDetailsTable * fixup * test: add logic tests * fix: pre-list to fix * fixup * chore: remove columns that may not be useful for now * chore: remove columns that may not be useful for now * apply review suggestions * apply review suggestion * add version number support * fixup clippy * temp change docker config for benchmark * Revert "temp change docker config for benchmark" This reverts commit b17e25f.
1 parent a6e4807 commit da9c843

File tree

11 files changed

+1057
-191
lines changed

11 files changed

+1057
-191
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/common/tracing/src/init.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ impl GlobalLogger {
6363
}
6464

6565
// Get the operator for remote log when it is ready.
66-
pub(crate) async fn get_operator(&self) -> Option<Operator> {
66+
pub async fn get_operator(&self) -> Option<Operator> {
6767
let operator = self.remote_log_operator.read().await;
6868
if let Some(operator) = operator.as_ref() {
6969
return Some(operator.clone());
@@ -383,14 +383,14 @@ pub fn init_logging(
383383
let mut filter_builder =
384384
EnvFilterBuilder::new().filter(Some("databend::log::structlog"), LevelFilter::Off);
385385

386-
if cfg.profile.on && !cfg.profile.dir.is_empty() {
386+
if cfg.profile.on {
387387
filter_builder =
388388
filter_builder.filter(Some("databend::log::profile"), LevelFilter::Trace);
389389
} else {
390390
filter_builder =
391391
filter_builder.filter(Some("databend::log::profile"), LevelFilter::Off);
392392
}
393-
if cfg.query.on && !cfg.query.dir.is_empty() {
393+
if cfg.query.on {
394394
filter_builder =
395395
filter_builder.filter(Some("databend::log::query"), LevelFilter::Trace);
396396
} else {

src/common/tracing/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ pub use crate::remote_log::LogMessage;
5353
pub use crate::remote_log::RemoteLog;
5454
pub use crate::remote_log::RemoteLogElement;
5555
pub use crate::remote_log::RemoteLogGuard;
56+
pub use crate::remote_log::PERSISTENT_LOG_SCHEMA_VERSION;
5657
pub use crate::structlog::DummyReporter;
5758
pub use crate::structlog::StructLogReporter;
5859

src/common/tracing/src/remote_log.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ use serde_json::Map;
5353
use crate::Config;
5454
use crate::GlobalLogger;
5555

56+
pub const PERSISTENT_LOG_SCHEMA_VERSION: usize = 1;
57+
5658
/// An appender that sends log records to persistent storage
5759
#[derive(Debug)]
5860
pub struct RemoteLog {
@@ -178,8 +180,9 @@ impl RemoteLog {
178180
op.as_ref()?;
179181

180182
let path = format!(
181-
"stage/internal/{}/{}.parquet",
183+
"stage/internal/{}_v{}/{}.parquet",
182184
stage_name,
185+
PERSISTENT_LOG_SCHEMA_VERSION,
183186
uuid::Uuid::new_v4()
184187
);
185188

src/query/service/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ databend-common-management = { workspace = true }
6767
databend-common-meta-api = { workspace = true }
6868
databend-common-meta-app = { workspace = true }
6969
databend-common-meta-app-types = { workspace = true }
70+
databend-common-meta-client = { workspace = true }
7071
databend-common-meta-kvapi = { workspace = true }
7172
databend-common-meta-semaphore = { workspace = true }
7273
databend-common-meta-store = { workspace = true }

0 commit comments

Comments
 (0)