Skip to content

Commit b4950af

Browse files
committed
help configure partitioned flag for pulsar topics stats tool
1 parent f7390a0 commit b4950af

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

pkg/mcp/pulsar_admin_topic_tools.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,25 @@ func handleTopicStats(admin cmdutils.Client, request mcp.CallToolRequest) (*mcp.
307307
return mcp.NewToolResultError(fmt.Sprintf("Invalid topic name '%s': %v", topic, err)), nil
308308
}
309309

310+
namespaceName, err := utils.GetNamespaceName(topicName.GetTenant() + "/" + topicName.GetNamespace())
311+
if err != nil {
312+
return mcp.NewToolResultError(fmt.Sprintf("Invalid namespace name '%s': %v", namespaceName, err)), nil
313+
}
314+
315+
// List topics
316+
partitionedTopics, nonPartitionedTopics, err := admin.Topics().List(*namespaceName)
317+
if err != nil {
318+
return mcp.NewToolResultError(fmt.Sprintf("Failed to list topics in namespace '%s': %v",
319+
namespaceName, err)), nil
320+
}
321+
322+
if slices.Contains(partitionedTopics, topicName.String()) {
323+
partitioned = true
324+
}
325+
if slices.Contains(nonPartitionedTopics, topicName.String()) {
326+
partitioned = false
327+
}
328+
310329
var jsonBytes []byte
311330
if partitioned {
312331
// Get partitioned topic stats

0 commit comments

Comments
 (0)