aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsavnik <savnik@yandex-team.com>2023-09-01 14:21:15 +0300
committersavnik <savnik@yandex-team.com>2023-09-01 15:01:47 +0300
commit1d0c54d20dfd90b7c7f9794e488968ea59eb0697 (patch)
tree9dc5c3b2765f1e2d935dbf17ba4d3ad98c498616
parent44ac4e59f8b4b8420d2ccd14b65e1697155141e7 (diff)
downloadydb-1d0c54d20dfd90b7c7f9794e488968ea59eb0697.tar.gz
Kafka metrics error codes as string
-rw-r--r--ydb/core/kafka_proxy/CMakeLists.darwin-x86_64.txt12
-rw-r--r--ydb/core/kafka_proxy/CMakeLists.linux-aarch64.txt12
-rw-r--r--ydb/core/kafka_proxy/CMakeLists.linux-x86_64.txt12
-rw-r--r--ydb/core/kafka_proxy/CMakeLists.windows-x86_64.txt12
-rw-r--r--ydb/core/kafka_proxy/kafka_connection.cpp14
-rw-r--r--ydb/core/kafka_proxy/ya.make2
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