mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
754dfb2c9d
* .NET: Add TTLs to durable agent sessions * Remove unnecessary async * PR feedback: clarify UTC * PR feedback: limit minimum signal delay to <= 5 minutes * PR feedback: Fix TTL disablement * Linter: use auto-property * Fix build break from OpenAI SDK change * Updated CHANGELOG.md * PR feedback * Reduce default TTL to 14 days to work around DTS bug
104 lines
3.8 KiB
C#
104 lines
3.8 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using Microsoft.Agents.AI.DurableTask;
|
|
using Microsoft.Extensions.AI;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
internal static partial class Logs
|
|
{
|
|
[LoggerMessage(
|
|
EventId = 1,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] Request: [{Role}] {Content}")]
|
|
public static partial void LogAgentRequest(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
ChatRole role,
|
|
string content);
|
|
|
|
[LoggerMessage(
|
|
EventId = 2,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] Response: [{Role}] {Content} (Input tokens: {InputTokenCount}, Output tokens: {OutputTokenCount}, Total tokens: {TotalTokenCount})")]
|
|
public static partial void LogAgentResponse(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
ChatRole role,
|
|
string content,
|
|
long? inputTokenCount,
|
|
long? outputTokenCount,
|
|
long? totalTokenCount);
|
|
|
|
[LoggerMessage(
|
|
EventId = 3,
|
|
Level = LogLevel.Information,
|
|
Message = "Signalling agent with session ID '{SessionId}'")]
|
|
public static partial void LogSignallingAgent(this ILogger logger, AgentSessionId sessionId);
|
|
|
|
[LoggerMessage(
|
|
EventId = 4,
|
|
Level = LogLevel.Information,
|
|
Message = "Polling agent with session ID '{SessionId}' for response with correlation ID '{CorrelationId}'")]
|
|
public static partial void LogStartPollingForResponse(this ILogger logger, AgentSessionId sessionId, string correlationId);
|
|
|
|
[LoggerMessage(
|
|
EventId = 5,
|
|
Level = LogLevel.Information,
|
|
Message = "Found response for agent with session ID '{SessionId}' with correlation ID '{CorrelationId}'")]
|
|
public static partial void LogDonePollingForResponse(this ILogger logger, AgentSessionId sessionId, string correlationId);
|
|
|
|
[LoggerMessage(
|
|
EventId = 6,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] TTL expiration time updated to {ExpirationTime:O}")]
|
|
public static partial void LogTTLExpirationTimeUpdated(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
DateTime expirationTime);
|
|
|
|
[LoggerMessage(
|
|
EventId = 7,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] TTL deletion signal scheduled for {ScheduledTime:O}")]
|
|
public static partial void LogTTLDeletionScheduled(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
DateTime scheduledTime);
|
|
|
|
[LoggerMessage(
|
|
EventId = 8,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] TTL deletion check running. Expiration time: {ExpirationTime:O}, Current time: {CurrentTime:O}")]
|
|
public static partial void LogTTLDeletionCheck(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
DateTime? expirationTime,
|
|
DateTime currentTime);
|
|
|
|
[LoggerMessage(
|
|
EventId = 9,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] Entity expired and deleted due to TTL. Expiration time: {ExpirationTime:O}")]
|
|
public static partial void LogTTLEntityExpired(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
DateTime expirationTime);
|
|
|
|
[LoggerMessage(
|
|
EventId = 10,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] TTL deletion signal rescheduled for {ScheduledTime:O}")]
|
|
public static partial void LogTTLRescheduled(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId,
|
|
DateTime scheduledTime);
|
|
|
|
[LoggerMessage(
|
|
EventId = 11,
|
|
Level = LogLevel.Information,
|
|
Message = "[{SessionId}] TTL expiration time cleared (TTL disabled)")]
|
|
public static partial void LogTTLExpirationTimeCleared(
|
|
this ILogger logger,
|
|
AgentSessionId sessionId);
|
|
}
|