diff options
author | savnik <savnik@yandex-team.com> | 2023-09-01 14:21:15 +0300 |
---|---|---|
committer | savnik <savnik@yandex-team.com> | 2023-09-01 15:01:47 +0300 |
commit | 1d0c54d20dfd90b7c7f9794e488968ea59eb0697 (patch) | |
tree | 9dc5c3b2765f1e2d935dbf17ba4d3ad98c498616 | |
parent | 44ac4e59f8b4b8420d2ccd14b65e1697155141e7 (diff) | |
download | ydb-1d0c54d20dfd90b7c7f9794e488968ea59eb0697.tar.gz |
Kafka metrics error codes as string
-rw-r--r-- | ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt | 12 | ||||
-rw-r--r-- | ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt | 12 | ||||
-rw-r--r-- | ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt | 12 | ||||
-rw-r--r-- | ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt | 12 | ||||
-rw-r--r-- | ydb/core/kafka_proxy/kafka_connection.cpp | 14 | ||||
-rw-r--r-- | ydb/core/kafka_proxy/ya.make | 2 |
6 files changed, 58 insertions, 6 deletions
diff --git a/ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt b/ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt index b5e422d9e17..e5665674bfa 100644 --- a/ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt +++ b/ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt @@ -7,11 +7,18 @@ add_subdirectory(ut) +get_built_tool_path( + TOOL_enum_parser_bin + TOOL_enum_parser_dependency + tools/enum_parser/enum_parser + enum_parser +) add_library(ydb-core-kafka_proxy) target_link_libraries(ydb-core-kafka_proxy PUBLIC contrib-libs-cxxsupp yutil + tools-enum_parser-enum_serialization_runtime cpp-actors-core cpp-actors-protos ydb-core-base @@ -33,3 +40,8 @@ target_sources(ydb-core-kafka_proxy PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_records.cpp ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_metrics.cpp ) +generate_enum_serilization(ydb-core-kafka_proxy + ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka.h + INCLUDE_HEADERS + ydb/core/kafka_proxy/kafka.h +) diff --git a/ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt b/ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt index 64ae0928906..b78f33c0f11 100644 --- a/ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt +++ b/ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt @@ -7,12 +7,19 @@ add_subdirectory(ut) +get_built_tool_path( + TOOL_enum_parser_bin + TOOL_enum_parser_dependency + tools/enum_parser/enum_parser + enum_parser +) add_library(ydb-core-kafka_proxy) target_link_libraries(ydb-core-kafka_proxy PUBLIC contrib-libs-linux-headers contrib-libs-cxxsupp yutil + tools-enum_parser-enum_serialization_runtime cpp-actors-core cpp-actors-protos ydb-core-base @@ -34,3 +41,8 @@ target_sources(ydb-core-kafka_proxy PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_records.cpp ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_metrics.cpp ) +generate_enum_serilization(ydb-core-kafka_proxy + ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka.h + INCLUDE_HEADERS + ydb/core/kafka_proxy/kafka.h +) diff --git a/ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt b/ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt index 64ae0928906..b78f33c0f11 100644 --- a/ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt +++ b/ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt @@ -7,12 +7,19 @@ add_subdirectory(ut) +get_built_tool_path( + TOOL_enum_parser_bin + TOOL_enum_parser_dependency + tools/enum_parser/enum_parser + enum_parser +) add_library(ydb-core-kafka_proxy) target_link_libraries(ydb-core-kafka_proxy PUBLIC contrib-libs-linux-headers contrib-libs-cxxsupp yutil + tools-enum_parser-enum_serialization_runtime cpp-actors-core cpp-actors-protos ydb-core-base @@ -34,3 +41,8 @@ target_sources(ydb-core-kafka_proxy PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_records.cpp ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_metrics.cpp ) +generate_enum_serilization(ydb-core-kafka_proxy + ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka.h + INCLUDE_HEADERS + ydb/core/kafka_proxy/kafka.h +) diff --git a/ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt b/ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt index b5e422d9e17..e5665674bfa 100644 --- a/ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt +++ b/ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt @@ -7,11 +7,18 @@ add_subdirectory(ut) +get_built_tool_path( + TOOL_enum_parser_bin + TOOL_enum_parser_dependency + tools/enum_parser/enum_parser + enum_parser +) add_library(ydb-core-kafka_proxy) target_link_libraries(ydb-core-kafka_proxy PUBLIC contrib-libs-cxxsupp yutil + tools-enum_parser-enum_serialization_runtime cpp-actors-core cpp-actors-protos ydb-core-base @@ -33,3 +40,8 @@ target_sources(ydb-core-kafka_proxy PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_records.cpp ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka_metrics.cpp ) +generate_enum_serilization(ydb-core-kafka_proxy + ${CMAKE_SOURCE_DIR}/ydb/core/kafka_proxy/kafka.h + INCLUDE_HEADERS + ydb/core/kafka_proxy/kafka.h +) diff --git a/ydb/core/kafka_proxy/kafka_connection.cpp b/ydb/core/kafka_proxy/kafka_connection.cpp index 8f7ea0ce1bb..d8f0c042c13 100644 --- a/ydb/core/kafka_proxy/kafka_connection.cpp +++ b/ydb/core/kafka_proxy/kafka_connection.cpp @@ -2,12 +2,13 @@ #include <ydb/core/raw_socket/sock_config.h> #include <ydb/core/util/address_classifier.h> +#include "actors/actors.h" #include "kafka_connection.h" #include "kafka_events.h" #include "kafka_log_impl.h" -#include "actors/actors.h" #include "kafka_metrics.h" + #include <strstream> #include <sstream> #include <iosfwd> @@ -175,13 +176,14 @@ protected: } } - void SendResponseMetrics(const TString method, const TInstant requestStartTime, EKafkaErrors errorCode, const TActorContext& ctx) { + void SendResponseMetrics(const TString method, const TInstant requestStartTime, i32 bytes, EKafkaErrors errorCode, const TActorContext& ctx) { TDuration duration = TInstant::Now() - requestStartTime; ctx.Send(MakeKafkaMetricsServiceID(), - new TEvKafka::TEvUpdateHistCounter(static_cast<i64>(duration.MilliSeconds()), 1, BuildLabels(Context, method, "", "api.kafka.response.duration_milliseconds", "") - )); + new TEvKafka::TEvUpdateHistCounter(static_cast<i64>(duration.MilliSeconds()), 1, BuildLabels(Context, method, "", "api.kafka.response.duration_milliseconds", ""))); + ctx.Send(MakeKafkaMetricsServiceID(), + new TEvKafka::TEvUpdateCounter(1, BuildLabels(Context, method, "", "api.kafka.response.count", ToString(errorCode)))); ctx.Send(MakeKafkaMetricsServiceID(), - new TEvKafka::TEvUpdateCounter(1, BuildLabels(Context, method, "", "api.kafka.response.count", TStringBuilder() << (i16)errorCode))); + new TEvKafka::TEvUpdateCounter(bytes, BuildLabels(Context, method, "", "api.kafka.response.bytes", ""))); } void OnAccept() { @@ -367,7 +369,7 @@ protected: TBufferedWriter buffer(Socket.Get(), Context->Config.GetPacketSize()); TKafkaWritable writable(buffer); - SendResponseMetrics(method, requestStartTime, errorCode, ctx); + SendResponseMetrics(method, requestStartTime, size, errorCode, ctx); try { writable << size; responseHeader.Write(writable, headerVersion); diff --git a/ydb/core/kafka_proxy/ya.make b/ydb/core/kafka_proxy/ya.make index 832dfc03ed4..0be9f1bc89a 100644 --- a/ydb/core/kafka_proxy/ya.make +++ b/ydb/core/kafka_proxy/ya.make @@ -23,6 +23,8 @@ SRCS( kafka_metrics.cpp ) +GENERATE_ENUM_SERIALIZATION(kafka.h) + PEERDIR( library/cpp/actors/core library/cpp/actors/protos |