15 writes to Usage
Microsoft.Extensions.AI (2)
ChatCompletion\ChatResponse{T}.cs (1)
48Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (1)
410response.Usage = totalUsage;
Microsoft.Extensions.AI.Abstractions (1)
ChatCompletion\ChatResponseExtensions.cs (1)
369(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)
136Usage = usage,
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
518response.Usage = FromOpenAIUsage(tokenUsage);
OpenAIResponsesChatClient.cs (1)
98Usage = ToUsageDetails(openAIResponse),
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIConversionTests.cs (1)
408Usage = 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)
816return new ChatResponse(downstreamClientOutput) { Usage = usage };
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1221return new ChatResponse(message) { Usage = usage };
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
42Usage = new UsageDetails
128 references to Usage
Microsoft.Extensions.AI (7)
ChatCompletion\ChatResponse{T}.cs (1)
48Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (3)
371if (response.Usage is not null) 375totalUsage.Add(response.Usage); 379totalUsage = response.Usage;
ChatCompletion\OpenTelemetryChatClient.cs (3)
407if (_tokenUsageHistogram.Enabled && response?.Usage is { } usage) 456if (response.Usage?.InputTokenCount is long inputTokens) 461if (response.Usage?.OutputTokenCount is long outputTokens)
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (2)
111if (AdditionalProperties is not null || Usage is not null) 118if (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); 357Assert.NotNull(response.Usage); 358Assert.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)
160if (response.Usage is UsageDetails usage)
Microsoft.Extensions.AI.Evaluation.Reporting (9)
ChatTurnDetails.cs (3)
47/// Returns <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 80/// <see langword="null"/> if usage details were not available via <see cref="ChatResponse.Usage"/>. 119/// <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)
124Assert.True(response.Usage?.InputTokenCount > 1); 125Assert.True(response.Usage?.OutputTokenCount > 1); 126Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount); 383if (response.Usage is { } finalUsage)
Microsoft.Extensions.AI.OpenAI (3)
MicrosoftExtensionsAIChatExtensions.cs (3)
56(int?)response.Usage?.OutputTokenCount ?? 0, 57(int?)response.Usage?.InputTokenCount ?? 0, 58(int?)response.Usage?.TotalTokenCount ?? 0);
Microsoft.Extensions.AI.OpenAI.Tests (64)
OpenAIChatClientTests.cs (40)
169Assert.NotNull(response.Usage); 170Assert.Equal(8, response.Usage.InputTokenCount); 171Assert.Equal(9, response.Usage.OutputTokenCount); 172Assert.Equal(17, response.Usage.TotalTokenCount); 181}, response.Usage.AdditionalCounts); 811Assert.NotNull(response.Usage); 812Assert.Equal(42, response.Usage.InputTokenCount); 813Assert.Equal(15, response.Usage.OutputTokenCount); 814Assert.Equal(57, response.Usage.TotalTokenCount); 823}, response.Usage.AdditionalCounts); 908Assert.NotNull(response.Usage); 909Assert.Equal(42, response.Usage.InputTokenCount); 910Assert.Equal(15, response.Usage.OutputTokenCount); 911Assert.Equal(57, response.Usage.TotalTokenCount); 920}, response.Usage.AdditionalCounts); 1006Assert.NotNull(response.Usage); 1007Assert.Equal(42, response.Usage.InputTokenCount); 1008Assert.Equal(15, response.Usage.OutputTokenCount); 1009Assert.Equal(57, response.Usage.TotalTokenCount); 1018}, response.Usage.AdditionalCounts); 1117Assert.NotNull(response.Usage); 1118Assert.Equal(61, response.Usage.InputTokenCount); 1119Assert.Equal(16, response.Usage.OutputTokenCount); 1120Assert.Equal(77, response.Usage.TotalTokenCount); 1130}, response.Usage.AdditionalCounts); 1201Assert.NotNull(response.Usage); 1202Assert.Equal(61, response.Usage.InputTokenCount); 1203Assert.Equal(16, response.Usage.OutputTokenCount); 1204Assert.Equal(77, response.Usage.TotalTokenCount); 1214}, response.Usage.AdditionalCounts); 1459Assert.NotNull(response.Usage); 1460Assert.Equal(42, response.Usage.InputTokenCount); 1461Assert.Equal(15, response.Usage.OutputTokenCount); 1462Assert.Equal(57, response.Usage.TotalTokenCount); 1471}, response.Usage.AdditionalCounts); 1574Assert.NotNull(response.Usage); 1575Assert.Equal(8513, response.Usage.InputTokenCount); 1576Assert.Equal(56, response.Usage.OutputTokenCount); 1577Assert.Equal(8569, response.Usage.TotalTokenCount); 1586}, response.Usage.AdditionalCounts);
OpenAIConversionTests.cs (8)
223Assert.NotNull(response.Usage); 224Assert.Equal(1, response.Usage.InputTokenCount); 225Assert.Equal(2, response.Usage.OutputTokenCount); 226Assert.Equal(3, response.Usage.TotalTokenCount); 254Assert.NotNull(response.Usage); 255Assert.Equal(1, response.Usage.InputTokenCount); 256Assert.Equal(2, response.Usage.OutputTokenCount); 257Assert.Equal(3, response.Usage.TotalTokenCount);
OpenAIResponseClientTests.cs (16)
165Assert.NotNull(response.Usage); 166Assert.Equal(26, response.Usage.InputTokenCount); 167Assert.Equal(10, response.Usage.OutputTokenCount); 168Assert.Equal(36, response.Usage.TotalTokenCount); 822Assert.NotNull(response.Usage); 823Assert.Equal(26, response.Usage.InputTokenCount); 824Assert.Equal(10, response.Usage.OutputTokenCount); 825Assert.Equal(36, response.Usage.TotalTokenCount); 1084Assert.NotNull(response.Usage); 1085Assert.Equal(1329, response.Usage.InputTokenCount); 1086Assert.Equal(123, response.Usage.OutputTokenCount); 1087Assert.Equal(1452, response.Usage.TotalTokenCount); 1498Assert.NotNull(response.Usage); 1499Assert.Equal(1420, response.Usage.InputTokenCount); 1500Assert.Equal(149, response.Usage.OutputTokenCount); 1501Assert.Equal(1569, response.Usage.TotalTokenCount);
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)
829var actualUsage = result.Usage!;
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1236var actualUsage = result.Usage!;