From 0e9cc3610d1f7f69d860377954a640b61b677596 Mon Sep 17 00:00:00 2001 From: Qijun Niu Date: Thu, 20 Feb 2025 13:27:14 +0800 Subject: [PATCH] Feature/issue 7350 more ddl telemetry (#7351) (#905) * enhancement ddl telemetry * clang-format --- src/Interpreters/CollectCreateTelemetry.cpp | 11 ++++++++++- src/Interpreters/TelemetryElement.h | 15 ++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Interpreters/CollectCreateTelemetry.cpp b/src/Interpreters/CollectCreateTelemetry.cpp index f7bb750ca4..825045e663 100644 --- a/src/Interpreters/CollectCreateTelemetry.cpp +++ b/src/Interpreters/CollectCreateTelemetry.cpp @@ -68,9 +68,18 @@ void collectCreateTelemetry(const StoragePtr & storage, ContextPtr context) builder.isExternalTarget(!materialized_view->getExternalTargetTableID().empty()); if (auto target = materialized_view->tryGetTargetTable()) - builder.withTargetStorageType(target->getName()); + { + if (auto * target_external_stream = target->as()) + builder.withTargetStorageType(target_external_stream->getType()); + else if (auto * target_external_table = target->as()) + builder.withTargetStorageType(target_external_table->getType()); + else + builder.withTargetStorageType(target->getName()); + } else + { builder.withTargetStorageType("Stream"); + } }); } else if (auto random_stream = storage->as()) diff --git a/src/Interpreters/TelemetryElement.h b/src/Interpreters/TelemetryElement.h index 78b080db30..21e1dec6dd 100644 --- a/src/Interpreters/TelemetryElement.h +++ b/src/Interpreters/TelemetryElement.h @@ -51,6 +51,7 @@ class TelemetryElementBuilderBase getObject()->set("properties", properties); withServerUUID(); + withEdition(); } std::shared_ptr build() { return std::move(element); } @@ -73,6 +74,8 @@ class TelemetryElementBuilderBase setProperty("server_id", server_uuid_str); } + void withEdition() { setProperty("edition", EDITION); } + private: std::shared_ptr element; Poco::JSON::Object::Ptr properties; @@ -84,11 +87,7 @@ class TelemetryStatsElementBuilder final : public TelemetryElementBuilderBase public: using Self = TelemetryStatsElementBuilder; - TelemetryStatsElementBuilder() : TelemetryElementBuilderBase("proton_ping") - { - setEdition(); - setVersion(); - } + TelemetryStatsElementBuilder() : TelemetryElementBuilderBase("proton_ping") { setVersion(); } Self & useCPU(unsigned int cpu_) { @@ -163,12 +162,6 @@ class TelemetryStatsElementBuilder final : public TelemetryElementBuilderBase } private: - Self & setEdition() - { - setProperty("edition", EDITION); - return *this; - } - Self & setVersion() { setProperty("version", VERSION_STRING);