diff --git a/CHANGELOG.md b/CHANGELOG.md index 1557b01..b89a70f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.8] + +- Make spans visible to cloud console users (tag spans with `internal.visibility = 'user'`) + ## [0.2.7] - Fix a bug introduced in 0.2.6 that would cause responses including a single quote to be serialized as invalid JSON strings diff --git a/Cargo.lock b/Cargo.lock index 74dd8d9..38d5be7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -340,7 +340,7 @@ checksum = "97af0562545a7d7f3d9222fcf909963bec36dcb502afaacab98c6ffac8da47ce" [[package]] name = "common" -version = "0.2.7" +version = "0.2.8" dependencies = [ "bytes", "peg", @@ -1065,7 +1065,7 @@ dependencies = [ [[package]] name = "ndc-clickhouse" -version = "0.2.7" +version = "0.2.8" dependencies = [ "async-trait", "bytes", @@ -1084,7 +1084,7 @@ dependencies = [ [[package]] name = "ndc-clickhouse-cli" -version = "0.2.7" +version = "0.2.8" dependencies = [ "clap", "common", diff --git a/Cargo.toml b/Cargo.toml index 1deae3d..7e4d739 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,5 +6,5 @@ members = [ ] resolver = "2" -package.version = "0.2.7" +package.version = "0.2.8" package.edition = "2021" diff --git a/crates/common/src/client.rs b/crates/common/src/client.rs index 25d8aa8..289ae44 100644 --- a/crates/common/src/client.rs +++ b/crates/common/src/client.rs @@ -27,7 +27,10 @@ pub async fn execute_query( .query(parameters) .body(statement.to_owned()) .send() - .instrument(tracing::info_span!("Execute HTTP request")) + .instrument(tracing::info_span!( + "Execute HTTP request", + internal.visibility = "user" + )) .await?; if response.error_for_status_ref().is_err() { @@ -36,7 +39,10 @@ pub async fn execute_query( let response = response .bytes() - .instrument(tracing::info_span!("Read HTTP response")) + .instrument(tracing::info_span!( + "Read HTTP response", + internal.visibility = "user" + )) .await?; Ok(response) diff --git a/crates/ndc-clickhouse/src/connector/handler/query.rs b/crates/ndc-clickhouse/src/connector/handler/query.rs index a3d5082..a6ad205 100644 --- a/crates/ndc-clickhouse/src/connector/handler/query.rs +++ b/crates/ndc-clickhouse/src/connector/handler/query.rs @@ -23,23 +23,25 @@ pub async fn query( } let (statement_string, parameters) = - tracing::info_span!("Build SQL Query").in_scope(|| -> Result<_, QueryError> { - let statement = QueryBuilder::new(&request, configuration).build()?; + tracing::info_span!("Build SQL Query", internal.visibility = "user").in_scope( + || -> Result<_, QueryError> { + let statement = QueryBuilder::new(&request, configuration).build()?; - #[cfg(debug_assertions)] - { - // this block only present in debug builds, to avoid leaking sensitive information - let unsafe_statement_string = statement.to_unsafe_sql_string(); + #[cfg(debug_assertions)] + { + // this block only present in debug builds, to avoid leaking sensitive information + let unsafe_statement_string = statement.to_unsafe_sql_string(); - tracing::event!(Level::DEBUG, "Generated SQL" = unsafe_statement_string); - } + tracing::event!(Level::DEBUG, "Generated SQL" = unsafe_statement_string); + } - let (statement, parameters) = statement.into_parameterized_statement(); + let (statement, parameters) = statement.into_parameterized_statement(); - let statement_string = statement.to_parameterized_sql_string(); + let statement_string = statement.to_parameterized_sql_string(); - Ok((statement_string, parameters)) - })?; + Ok((statement_string, parameters)) + }, + )?; let client = state .client(configuration) @@ -51,6 +53,7 @@ pub async fn query( db.system = "clickhouse", db.user = configuration.connection.username, db.statement = statement_string, + internal.visibility = "user", ); let rowsets = execute_query(