20 writes to Usage
Microsoft.Extensions.AI (2)
ChatCompletion\ChatResponse{T}.cs (1)
46Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (1)
429response.Usage = totalUsage;
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponseExtensions.cs (1)
626(response.Usage ??= new()).Add(usage.Details);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
203Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage = value!,
Microsoft.Extensions.AI.Abstractions.Tests (4)
ChatCompletion\ChatResponseTests.cs (3)
70response.Usage = usage; 94Usage = new UsageDetails(), 131Usage = new UsageDetails(),
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (1)
202Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage = value!,
Microsoft.Extensions.AI.Evaluation.Reporting (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
204Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage = value!,
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
204Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage = value!,
Microsoft.Extensions.AI.OpenAI (2)
OpenAIChatClient.cs (1)
591response.Usage = FromOpenAIUsage(tokenUsage);
OpenAIResponsesChatClient.cs (1)
146Usage = ToUsageDetails(responseResult),
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIConversionTests.cs (1)
1530Usage = new UsageDetails
Microsoft.Extensions.AI.Tests (7)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
29Usage = new(), 106Usage = new(),
ChatCompletion\DistributedCachingChatClientTest.cs (1)
64Usage = new()
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
1981return new ChatResponse(output) { Usage = usage };
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2228return new ChatResponse(message) { Usage = usage };
ChatCompletion\OpenTelemetryChatClientTests.cs (1)
45Usage = new UsageDetails
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (1)
202Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage = value!,
166 references to Usage
Microsoft.Extensions.AI (9)
ChatCompletion\ChatResponse{T}.cs (1)
46Usage = response.Usage;
ChatCompletion\FunctionInvokingChatClient.cs (3)
390if (response.Usage is not null) 394totalUsage.Add(response.Usage); 398totalUsage = response.Usage;
ChatCompletion\OpenTelemetryChatClient.cs (5)
417if (_tokenUsageHistogram.Enabled && response?.Usage is { } usage) 466if (response.Usage?.InputTokenCount is long inputTokens) 471if (response.Usage?.OutputTokenCount is long outputTokens) 476if (response.Usage?.CachedInputTokenCount is long cachedInputTokens) 481if (response.Usage?.ReasoningTokenCount is long reasoningTokens)
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\ChatResponse.cs (2)
125if (AdditionalProperties is not null || Usage is not null) 132if (Usage is { } usage)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
202Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage,
Microsoft.Extensions.AI.Abstractions.Tests (14)
ChatCompletion\ChatResponseTests.cs (8)
68Assert.Null(response.Usage); 71Assert.Same(usage, response.Usage); 112Assert.NotNull(result.Usage); 150Assert.NotNull(result.Usage); 217Assert.NotNull(result.Usage); 218Assert.Equal(10, result.Usage.InputTokenCount); 219Assert.Equal(20, result.Usage.OutputTokenCount); 220Assert.Equal(30, result.Usage.TotalTokenCount);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (5)
44Assert.NotNull(response.Usage); 45Assert.Equal(5, response.Usage.InputTokenCount); 46Assert.Equal(7, response.Usage.OutputTokenCount); 813Assert.NotNull(response.Usage); 814Assert.Equal(42, response.Usage.TotalTokenCount);
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (1)
201Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage,
Microsoft.Extensions.AI.Evaluation (1)
EvaluationMetricExtensions.cs (1)
162if (response.Usage is UsageDetails usage)
Microsoft.Extensions.AI.Evaluation.Reporting (10)
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"/>.
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
203Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponse)obj).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.Evaluation.Reporting.Azure (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (1)
203Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage,
Microsoft.Extensions.AI.Integration.Tests (6)
ChatClientIntegrationTests.cs (6)
123Assert.True(response.Usage?.InputTokenCount > 1); 124Assert.True(response.Usage?.OutputTokenCount > 1); 125Assert.Equal(response.Usage?.InputTokenCount + response.Usage?.OutputTokenCount, response.Usage?.TotalTokenCount); 382if (response.Usage is { } finalUsage)
Microsoft.Extensions.AI.OpenAI (4)
MicrosoftExtensionsAIChatExtensions.cs (3)
69(int?)response.Usage?.OutputTokenCount ?? 0, 70(int?)response.Usage?.InputTokenCount ?? 0, 71(int?)response.Usage?.TotalTokenCount ?? 0);
MicrosoftExtensionsAIResponsesExtensions.cs (1)
107Usage = OpenAIResponsesChatClient.ToResponseTokenUsage(response.Usage),
Microsoft.Extensions.AI.OpenAI.Tests (103)
OpenAIChatClientTests.cs (56)
172Assert.NotNull(response.Usage); 173Assert.Equal(8, response.Usage.InputTokenCount); 174Assert.Equal(9, response.Usage.OutputTokenCount); 175Assert.Equal(17, response.Usage.TotalTokenCount); 176Assert.Equal(13, response.Usage.CachedInputTokenCount); 177Assert.Equal(90, response.Usage.ReasoningTokenCount); 184}, response.Usage.AdditionalCounts); 846Assert.NotNull(response.Usage); 847Assert.Equal(42, response.Usage.InputTokenCount); 848Assert.Equal(15, response.Usage.OutputTokenCount); 849Assert.Equal(57, response.Usage.TotalTokenCount); 850Assert.Equal(13, response.Usage.CachedInputTokenCount); 851Assert.Equal(90, response.Usage.ReasoningTokenCount); 858}, response.Usage.AdditionalCounts); 943Assert.NotNull(response.Usage); 944Assert.Equal(42, response.Usage.InputTokenCount); 945Assert.Equal(15, response.Usage.OutputTokenCount); 946Assert.Equal(57, response.Usage.TotalTokenCount); 947Assert.Equal(13, response.Usage.CachedInputTokenCount); 948Assert.Equal(90, response.Usage.ReasoningTokenCount); 955}, response.Usage.AdditionalCounts); 1041Assert.NotNull(response.Usage); 1042Assert.Equal(42, response.Usage.InputTokenCount); 1043Assert.Equal(15, response.Usage.OutputTokenCount); 1044Assert.Equal(57, response.Usage.TotalTokenCount); 1045Assert.Equal(13, response.Usage.CachedInputTokenCount); 1046Assert.Equal(90, response.Usage.ReasoningTokenCount); 1053}, response.Usage.AdditionalCounts); 1152Assert.NotNull(response.Usage); 1153Assert.Equal(61, response.Usage.InputTokenCount); 1154Assert.Equal(16, response.Usage.OutputTokenCount); 1155Assert.Equal(77, response.Usage.TotalTokenCount); 1156Assert.Equal(13, response.Usage.CachedInputTokenCount); 1157Assert.Equal(90, response.Usage.ReasoningTokenCount); 1165}, response.Usage.AdditionalCounts); 1237Assert.NotNull(response.Usage); 1238Assert.Equal(61, response.Usage.InputTokenCount); 1239Assert.Equal(16, response.Usage.OutputTokenCount); 1240Assert.Equal(77, response.Usage.TotalTokenCount); 1241Assert.Equal(13, response.Usage.CachedInputTokenCount); 1242Assert.Equal(90, response.Usage.ReasoningTokenCount); 1250}, response.Usage.AdditionalCounts); 1495Assert.NotNull(response.Usage); 1496Assert.Equal(42, response.Usage.InputTokenCount); 1497Assert.Equal(15, response.Usage.OutputTokenCount); 1498Assert.Equal(57, response.Usage.TotalTokenCount); 1499Assert.Equal(20, response.Usage.CachedInputTokenCount); 1500Assert.Equal(90, response.Usage.ReasoningTokenCount); 1507}, response.Usage.AdditionalCounts); 1610Assert.NotNull(response.Usage); 1611Assert.Equal(8513, response.Usage.InputTokenCount); 1612Assert.Equal(56, response.Usage.OutputTokenCount); 1613Assert.Equal(8569, response.Usage.TotalTokenCount); 1614Assert.Equal(0, response.Usage.CachedInputTokenCount); 1615Assert.Equal(0, response.Usage.ReasoningTokenCount); 1622}, response.Usage.AdditionalCounts);
OpenAIConversionTests.cs (8)
899Assert.NotNull(response.Usage); 900Assert.Equal(1, response.Usage.InputTokenCount); 901Assert.Equal(2, response.Usage.OutputTokenCount); 902Assert.Equal(3, response.Usage.TotalTokenCount); 930Assert.NotNull(response.Usage); 931Assert.Equal(1, response.Usage.InputTokenCount); 932Assert.Equal(2, response.Usage.OutputTokenCount); 933Assert.Equal(3, response.Usage.TotalTokenCount);
OpenAIResponseClientTests.cs (39)
169Assert.NotNull(response.Usage); 170Assert.Equal(26, response.Usage.InputTokenCount); 171Assert.Equal(10, response.Usage.OutputTokenCount); 172Assert.Equal(36, response.Usage.TotalTokenCount); 917Assert.NotNull(response.Usage); 918Assert.Equal(18, response.Usage.InputTokenCount); 919Assert.Equal(53, response.Usage.OutputTokenCount); 920Assert.Equal(71, response.Usage.TotalTokenCount); 1380Assert.NotNull(response.Usage); 1381Assert.Equal(26, response.Usage.InputTokenCount); 1382Assert.Equal(10, response.Usage.OutputTokenCount); 1383Assert.Equal(36, response.Usage.TotalTokenCount); 1646Assert.NotNull(response.Usage); 1647Assert.Equal(542, response.Usage.InputTokenCount); 1648Assert.Equal(72, response.Usage.OutputTokenCount); 1649Assert.Equal(614, response.Usage.TotalTokenCount); 2034Assert.NotNull(response.Usage); 2035Assert.Equal(1329, response.Usage.InputTokenCount); 2036Assert.Equal(123, response.Usage.OutputTokenCount); 2037Assert.Equal(1452, response.Usage.TotalTokenCount); 2445Assert.NotNull(response.Usage); 2446Assert.Equal(1420, response.Usage.InputTokenCount); 2447Assert.Equal(149, response.Usage.OutputTokenCount); 2448Assert.Equal(1569, response.Usage.TotalTokenCount); 2642Assert.NotNull(response.Usage); 2643Assert.Equal(500, response.Usage.InputTokenCount); 2644Assert.Equal(50, response.Usage.OutputTokenCount); 2645Assert.Equal(550, response.Usage.TotalTokenCount); 3628Assert.NotNull(response.Usage); 3629Assert.Equal(219, response.Usage.InputTokenCount); 3630Assert.Equal(50, response.Usage.OutputTokenCount); 3631Assert.Equal(269, response.Usage.TotalTokenCount); 5514Assert.NotNull(response.Usage); 5515Assert.Null(response.Usage.AdditionalCounts); 5516Assert.Equal(50, response.Usage.InputTokenCount); 5517Assert.Equal(25, response.Usage.OutputTokenCount); 5518Assert.Equal(75, response.Usage.TotalTokenCount); 5519Assert.Equal(10, response.Usage.CachedInputTokenCount); 5520Assert.Equal(5, response.Usage.ReasoningTokenCount);
Microsoft.Extensions.AI.Tests (15)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (4)
86Assert.Same(expectedResponse.Usage, response.Usage); 147Assert.Same(expectedResponse.Usage, response.Usage);
ChatCompletion\DistributedCachingChatClientTest.cs (8)
793Assert.Equal(expected.Usage?.InputTokenCount, actual.Usage?.InputTokenCount); 794Assert.Equal(expected.Usage?.OutputTokenCount, actual.Usage?.OutputTokenCount); 795Assert.Equal(expected.Usage?.TotalTokenCount, actual.Usage?.TotalTokenCount); 796Assert.Equal(expected.Usage?.AdditionalCounts, actual.Usage?.AdditionalCounts);
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
1994var actualUsage = result.Usage!;
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2243var actualUsage = result.Usage!;
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (1)
201Getter = static obj => ((global::Microsoft.Extensions.AI.ChatResponse)obj).Usage,