Skip to content

Commit 7672737

Browse files
authored
Drop the suffix after the first left parenthesis from UserAgent (#11228)
1 parent 129f0f1 commit 7672737

File tree

8 files changed

+25
-13
lines changed

8 files changed

+25
-13
lines changed

ydb/services/deprecated/persqueue_v0/grpc_pq_read_actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -843,7 +843,7 @@ void TReadSessionActor::SetupBytesReadByUserAgentCounter() {
843843
->GetSubgroup("host", "")
844844
->GetSubgroup("protocol", "pqv0")
845845
->GetSubgroup("consumer", ClientPath)
846-
->GetSubgroup("user_agent", V1::CleanupCounterValueString(UserAgent))
846+
->GetSubgroup("user_agent", V1::DropUserAgentSuffix(V1::CleanupCounterValueString(UserAgent)))
847847
->GetExpiringNamedCounter("sensor", "BytesReadByUserAgent", true);
848848
}
849849

ydb/services/deprecated/persqueue_v0/grpc_pq_write_actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ void TWriteSessionActor::SetupBytesWrittenByUserAgentCounter() {
262262
->GetSubgroup("host", "")
263263
->GetSubgroup("protocol", "pqv0")
264264
->GetSubgroup("topic", FullConverter->GetFederationPath())
265-
->GetSubgroup("user_agent", V1::CleanupCounterValueString(UserAgent))
265+
->GetSubgroup("user_agent", V1::DropUserAgentSuffix(V1::CleanupCounterValueString(UserAgent)))
266266
->GetExpiringNamedCounter("sensor", "BytesWrittenByUserAgent", true);
267267
}
268268

ydb/services/persqueue_v1/actors/helpers.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ bool HasMessages(const Topic::StreamReadMessage::ReadResponse& data) {
2929

3030

3131
TString CleanupCounterValueString(const TString& value) {
32-
// Internal Monitoring system requires metrics values to no longer than 200 characters
32+
// Internal Monitoring system requires metrics values to be no longer than 200 characters
3333
// and prohibits some ASCII characters.
3434

3535
TString clean;
@@ -55,4 +55,15 @@ TString CleanupCounterValueString(const TString& value) {
5555
return clean;
5656
}
5757

58+
59+
TString DropUserAgentSuffix(const TString& userAgent) {
60+
auto ua = TStringBuf(userAgent);
61+
TStringBuf beforeParen, afterParen;
62+
ua.Split('(', beforeParen, afterParen);
63+
while (beforeParen.ends_with(' ')) {
64+
beforeParen.Chop(1);
65+
}
66+
return TString(beforeParen);
67+
}
68+
5869
}

ydb/services/persqueue_v1/actors/helpers.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ bool HasMessages(const PersQueue::V1::MigrationStreamingReadServerMessage::DataB
1818
bool HasMessages(const Topic::StreamReadMessage::ReadResponse& data);
1919

2020
TString CleanupCounterValueString(const TString& value);
21+
TString DropUserAgentSuffix(const TString& userAgent);
2122

2223
}

ydb/services/persqueue_v1/actors/read_session_actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ void TReadSessionActor<UseMigrationProtocol>::SetupBytesReadByUserAgentCounter()
899899
->GetSubgroup("protocol", protocol)
900900
->GetSubgroup("consumer", ClientPath)
901901
->GetSubgroup("sdk_build_info", CleanupCounterValueString(SdkBuildInfo))
902-
->GetSubgroup("user_agent", CleanupCounterValueString(UserAgent))
902+
->GetSubgroup("user_agent", DropUserAgentSuffix(CleanupCounterValueString(UserAgent)))
903903
->GetExpiringNamedCounter("sensor", "BytesReadByUserAgent", true);
904904
}
905905

ydb/services/persqueue_v1/actors/write_session_actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ void TWriteSessionActor<UseMigrationProtocol>::SetupBytesWrittenByUserAgentCount
502502
->GetSubgroup("protocol", protocol)
503503
->GetSubgroup("topic", topicPath)
504504
->GetSubgroup("sdk_build_info", CleanupCounterValueString(SdkBuildInfo))
505-
->GetSubgroup("user_agent", CleanupCounterValueString(UserAgent))
505+
->GetSubgroup("user_agent", DropUserAgentSuffix(CleanupCounterValueString(UserAgent)))
506506
->GetExpiringNamedCounter("sensor", "BytesWrittenByUserAgent", true);
507507
}
508508

ydb/services/persqueue_v1/persqueue_new_schemecache_ut.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ namespace NKikimr::NPersQueueTests {
425425
} else {
426426
UNIT_FAIL("Neither topic nor consumer were provided");
427427
}
428-
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::CleanupCounterValueString(userAgent));
428+
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::DropUserAgentSuffix(NGRpcProxy::V1::CleanupCounterValueString(userAgent)));
429429
}
430430
};
431431

@@ -439,7 +439,7 @@ namespace NKikimr::NPersQueueTests {
439439
UNIT_ASSERT(result.IsSuccess());
440440
}
441441

442-
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| ";
442+
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| (some build info (codename); os 1.0)";
443443

444444
{
445445
auto newDriverCfg = driverCfg;
@@ -624,7 +624,7 @@ namespace NKikimr::NPersQueueTests {
624624
} else {
625625
UNIT_FAIL("Neither topic nor consumer were provided");
626626
}
627-
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::CleanupCounterValueString(userAgent));
627+
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::DropUserAgentSuffix(NGRpcProxy::V1::CleanupCounterValueString(userAgent)));
628628
}
629629
};
630630

@@ -638,7 +638,7 @@ namespace NKikimr::NPersQueueTests {
638638
UNIT_ASSERT(result.IsSuccess());
639639
}
640640

641-
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| ";
641+
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| (some build info (codename); os 1.0)";
642642

643643
{
644644
auto newDriverCfg = driverCfg;

ydb/services/persqueue_v1/persqueue_ut.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3724,7 +3724,8 @@ TPersQueueV1TestServer server{{.CheckACL=true, .NodeCount=1}};
37243724
} else {
37253725
UNIT_FAIL("Neither topic nor consumer were provided");
37263726
}
3727-
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::CleanupCounterValueString(userAgent));
3727+
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), "test-client/v0.1");
3728+
UNIT_ASSERT_VALUES_EQUAL(labels["user_agent"].GetString(), NGRpcProxy::V1::DropUserAgentSuffix(NGRpcProxy::V1::CleanupCounterValueString(userAgent)));
37283729
}
37293730
};
37303731

@@ -3759,7 +3760,7 @@ TPersQueueV1TestServer server{{.CheckACL=true, .NodeCount=1}};
37593760

37603761
auto driver = server.AnnoyingClient->GetDriver();
37613762

3762-
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| ";
3763+
static constexpr auto userAgent = "test-client/v0.1 ' ?*'\"`| (some build info (codename); os 1.0)";
37633764

37643765
auto writer = CreateWriter(
37653766
*driver,
@@ -3913,8 +3914,7 @@ TPersQueueV1TestServer server{{.CheckACL=true, .NodeCount=1}};
39133914
"", "Dc1", consumerName, consumerPath
39143915
);
39153916

3916-
checkUserAgentCounters(server.CleverServer->GetRuntime()->GetMonPort(),
3917-
"BytesReadByUserAgent", "pqv1", userAgent, "", consumerPath);
3917+
checkUserAgentCounters(monPort, "BytesReadByUserAgent", "pqv1", userAgent, "", consumerPath);
39183918
}
39193919
};
39203920

0 commit comments

Comments
 (0)