-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Labels
Description
Expected Behavior
DescribeTaskQueueResponse.Stats is populated
Actual Behavior
DescribeTaskQueueResponse.Stats is null
Steps to Reproduce the Problem
var request = new DescribeTaskQueueRequest
{
Namespace = config.Namespace,
TaskQueue = new TaskQueue { Name = queueName },
TaskQueueType = queueType,
ReportStats = true
};
var response = await client.WorkflowService.DescribeTaskQueueAsync(
request,
new RpcOptions { CancellationToken = ct });
response.Stats is null
The following block seems to retrieve what we need. But it leverages obsolete objects/properties/API.
#pragma warning disable CS0612
var request = new DescribeTaskQueueRequest
{
Namespace = config.Namespace,
TaskQueue = new TaskQueue { Name = queueName },
TaskQueueType = queueType,
ApiMode = DescribeTaskQueueMode.Enhanced,
ReportStats = true,
ReportPollers = true,
};
var response = await client.WorkflowService.DescribeTaskQueueAsync(
request,
new RpcOptions { CancellationToken = ct });
var typeName = queueType == TaskQueueType.Workflow ? "workflow" : "activity";
long backlog = 0;
int pollers = 0;
if (response.VersionsInfo.TryGetValue("", out var versionInfo)
&& versionInfo.TypesInfo.TryGetValue((int)queueType, out var typeInfo))
{
backlog = typeInfo.Stats?.ApproximateBacklogCount ?? 0;
pollers = typeInfo.Pollers.Count;
}
#pragma warning restore CS0612
Specifications
With server 1.27.1 or 1.26.2
SDK: dotnet 1.8.0
Reactions are currently unavailable