15 writes to Usage
Microsoft.Extensions.AI (2)
ChatCompletion\ChatResponse{T}.cs (1)
46Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (1)
396response.Usage = totalUsage;
Microsoft.Extensions.AI.Abstractions (1)
ChatCompletion\ChatResponseExtensions.cs (1)
544(response.Usage ??= new()).Add(usage.Details);
Microsoft.Extensions.AI.Abstractions.Tests (2)
ChatCompletion\ChatResponseTests.cs (2)
70response.Usage = usage; 93Usage = new UsageDetails(),
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
135Usage = usage,
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
546response.Usage = FromOpenAIUsage(tokenUsage);
OpenAIResponsesChatClient.cs (1)
144Usage = ToUsageDetails(openAIResponse),
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIConversionTests.cs (1)
796Usage = new UsageDetails
Microsoft.Extensions.AI.Tests (6)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
29Usage = new(), 106Usage = new(),
ChatCompletion\DistributedCachingChatClientTest.cs (1)
63Usage = new()
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
897return new ChatResponse(output) { Usage = usage };
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1277return new ChatResponse(message) { Usage = usage };
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
42Usage = new UsageDetails
143 references to Usage
Microsoft.Extensions.AI (7)
ChatCompletion\ChatResponse{T}.cs (1)
46Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (3)
357if (response.Usage is not null) 361totalUsage.Add(response.Usage); 365totalUsage = response.Usage;
ChatCompletion\OpenTelemetryChatClient.cs (3)
506if (_tokenUsageHistogram.Enabled && response?.Usage is { } usage) 555if (response.Usage?.InputTokenCount is long inputTokens) 560if (response.Usage?.OutputTokenCount is long outputTokens)
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (2)
127if (AdditionalProperties is not null || Usage is not null) 134if (Usage is { } usage)
Microsoft.Extensions.AI.Abstractions.Tests (8)
ChatCompletion\ChatResponseTests.cs (3)
68Assert.Null(response.Usage); 71Assert.Same(usage, response.Usage); 110Assert.NotNull(result.Usage);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (5)
44Assert.NotNull(response.Usage); 45Assert.Equal(5, response.Usage.InputTokenCount); 46Assert.Equal(7, response.Usage.OutputTokenCount); 728Assert.NotNull(response.Usage); 729Assert.Equal(42, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.AzureAIInference.Tests (16)
AzureAIInferenceChatClientTests.cs (16)
164Assert.NotNull(response.Usage); 165Assert.Equal(8, response.Usage.InputTokenCount); 166Assert.Equal(9, response.Usage.OutputTokenCount); 167Assert.Equal(17, response.Usage.TotalTokenCount); 1013Assert.NotNull(response.Usage); 1014Assert.Equal(42, response.Usage.InputTokenCount); 1015Assert.Equal(15, response.Usage.OutputTokenCount); 1016Assert.Equal(57, response.Usage.TotalTokenCount); 1147Assert.NotNull(response.Usage); 1148Assert.Equal(42, response.Usage.InputTokenCount); 1149Assert.Equal(15, response.Usage.OutputTokenCount); 1150Assert.Equal(57, response.Usage.TotalTokenCount); 1261Assert.NotNull(response.Usage); 1262Assert.Equal(61, response.Usage.InputTokenCount); 1263Assert.Equal(16, response.Usage.OutputTokenCount); 1264Assert.Equal(77, response.Usage.TotalTokenCount);
Microsoft.Extensions.AI.Evaluation (1)
EvaluationMetricExtensions.cs (1)
162if (response.Usage is UsageDetails usage)
Microsoft.Extensions.AI.Evaluation.Reporting (9)
ChatTurnDetails.cs (3)
42/// Returns <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 75/// <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 114/// <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>.
ResponseCachingChatClient.cs (4)
56usage: response.Usage, 90usage: response.Usage, 114usage: value.Usage, 140usage: response.Usage,
SimpleChatClient.cs (2)
51usage: response.Usage)); 92usage: response.Usage));
Microsoft.Extensions.AI.Integration.Tests (6)
ChatClientIntegrationTests.cs (6)
133Assert.True(response.Usage?.InputTokenCount > 1); 134Assert.True(response.Usage?.OutputTokenCount > 1); 135Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount); 392if (response.Usage is { } finalUsage)
Microsoft.Extensions.AI.OpenAI (3)
MicrosoftExtensionsAIChatExtensions.cs (3)
65(int?)response.Usage?.OutputTokenCount ?? 0, 66(int?)response.Usage?.InputTokenCount ?? 0, 67(int?)response.Usage?.TotalTokenCount ?? 0);
Microsoft.Extensions.AI.OpenAI.Tests (79)
OpenAIChatClientTests.cs (40)
170Assert.NotNull(response.Usage); 171Assert.Equal(8, response.Usage.InputTokenCount); 172Assert.Equal(9, response.Usage.OutputTokenCount); 173Assert.Equal(17, response.Usage.TotalTokenCount); 182}, response.Usage.AdditionalCounts); 844Assert.NotNull(response.Usage); 845Assert.Equal(42, response.Usage.InputTokenCount); 846Assert.Equal(15, response.Usage.OutputTokenCount); 847Assert.Equal(57, response.Usage.TotalTokenCount); 856}, response.Usage.AdditionalCounts); 941Assert.NotNull(response.Usage); 942Assert.Equal(42, response.Usage.InputTokenCount); 943Assert.Equal(15, response.Usage.OutputTokenCount); 944Assert.Equal(57, response.Usage.TotalTokenCount); 953}, response.Usage.AdditionalCounts); 1039Assert.NotNull(response.Usage); 1040Assert.Equal(42, response.Usage.InputTokenCount); 1041Assert.Equal(15, response.Usage.OutputTokenCount); 1042Assert.Equal(57, response.Usage.TotalTokenCount); 1051}, response.Usage.AdditionalCounts); 1150Assert.NotNull(response.Usage); 1151Assert.Equal(61, response.Usage.InputTokenCount); 1152Assert.Equal(16, response.Usage.OutputTokenCount); 1153Assert.Equal(77, response.Usage.TotalTokenCount); 1163}, response.Usage.AdditionalCounts); 1234Assert.NotNull(response.Usage); 1235Assert.Equal(61, response.Usage.InputTokenCount); 1236Assert.Equal(16, response.Usage.OutputTokenCount); 1237Assert.Equal(77, response.Usage.TotalTokenCount); 1247}, response.Usage.AdditionalCounts); 1492Assert.NotNull(response.Usage); 1493Assert.Equal(42, response.Usage.InputTokenCount); 1494Assert.Equal(15, response.Usage.OutputTokenCount); 1495Assert.Equal(57, response.Usage.TotalTokenCount); 1504}, response.Usage.AdditionalCounts); 1607Assert.NotNull(response.Usage); 1608Assert.Equal(8513, response.Usage.InputTokenCount); 1609Assert.Equal(56, response.Usage.OutputTokenCount); 1610Assert.Equal(8569, response.Usage.TotalTokenCount); 1619}, response.Usage.AdditionalCounts);
OpenAIConversionTests.cs (8)
611Assert.NotNull(response.Usage); 612Assert.Equal(1, response.Usage.InputTokenCount); 613Assert.Equal(2, response.Usage.OutputTokenCount); 614Assert.Equal(3, response.Usage.TotalTokenCount); 642Assert.NotNull(response.Usage); 643Assert.Equal(1, response.Usage.InputTokenCount); 644Assert.Equal(2, response.Usage.OutputTokenCount); 645Assert.Equal(3, response.Usage.TotalTokenCount);
OpenAIResponseClientTests.cs (31)
168Assert.NotNull(response.Usage); 169Assert.Equal(26, response.Usage.InputTokenCount); 170Assert.Equal(10, response.Usage.OutputTokenCount); 171Assert.Equal(36, response.Usage.TotalTokenCount); 825Assert.NotNull(response.Usage); 826Assert.Equal(26, response.Usage.InputTokenCount); 827Assert.Equal(10, response.Usage.OutputTokenCount); 828Assert.Equal(36, response.Usage.TotalTokenCount); 1095Assert.NotNull(response.Usage); 1096Assert.Equal(542, response.Usage.InputTokenCount); 1097Assert.Equal(72, response.Usage.OutputTokenCount); 1098Assert.Equal(614, response.Usage.TotalTokenCount); 1363Assert.NotNull(response.Usage); 1364Assert.Equal(1329, response.Usage.InputTokenCount); 1365Assert.Equal(123, response.Usage.OutputTokenCount); 1366Assert.Equal(1452, response.Usage.TotalTokenCount); 1777Assert.NotNull(response.Usage); 1778Assert.Equal(1420, response.Usage.InputTokenCount); 1779Assert.Equal(149, response.Usage.OutputTokenCount); 1780Assert.Equal(1569, response.Usage.TotalTokenCount); 2592Assert.NotNull(response.Usage); 2593Assert.Equal(219, response.Usage.InputTokenCount); 2594Assert.Equal(50, response.Usage.OutputTokenCount); 2595Assert.Equal(269, response.Usage.TotalTokenCount); 4227Assert.NotNull(response.Usage); 4228Assert.Equal(50, response.Usage.InputTokenCount); 4229Assert.Equal(25, response.Usage.OutputTokenCount); 4230Assert.Equal(75, response.Usage.TotalTokenCount); 4231Assert.NotNull(response.Usage.AdditionalCounts); 4232Assert.Equal(10, response.Usage.AdditionalCounts["InputTokenDetails.CachedTokenCount"]); 4233Assert.Equal(5, response.Usage.AdditionalCounts["OutputTokenDetails.ReasoningTokenCount"]);
Microsoft.Extensions.AI.Tests (12)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
86Assert.Same(expectedResponse.Usage, response.Usage); 147Assert.Same(expectedResponse.Usage, response.Usage);
ChatCompletion\DistributedCachingChatClientTest.cs (8)
795Assert.Equal(expected.Usage?.InputTokenCount, actual.Usage?.InputTokenCount); 796Assert.Equal(expected.Usage?.OutputTokenCount, actual.Usage?.OutputTokenCount); 797Assert.Equal(expected.Usage?.TotalTokenCount, actual.Usage?.TotalTokenCount); 798Assert.Equal(expected.Usage?.AdditionalCounts, actual.Usage?.AdditionalCounts);
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
910var actualUsage = result.Usage!;
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1292var actualUsage = result.Usage!;