@@ -19,12 +19,17 @@ public class KernelMemory
1919 public static void AddAPIs ( WebApplication app )
2020 {
2121 //Registration the files
22- app . MapPost ( "/Documents/ImportDocument" , async ( IFormFile file ,
22+ app . MapPost ( "/Documents/ImportDocument" , async ( HttpContext httpContext ,
23+ IFormFile file ,
2324 DPS . API . KernelMemory kernelMemory ,
2425 TelemetryHelper telemetryHelper ,
2526 ILogger < KernelMemory > logger
2627 ) =>
2728 {
29+ // Generate unique request ID for tracking
30+ var requestId = httpContext . TraceIdentifier ;
31+ telemetryHelper . SetActivityTag ( "requestId" , requestId ) ;
32+
2833 try
2934 {
3035 var fileStream = file . OpenReadStream ( ) ;
@@ -48,6 +53,7 @@ ILogger<KernelMemory> logger
4853 {
4954 telemetryHelper . TrackEvent ( "DocumentImportUnsupportedFileType" , new Dictionary < string , string >
5055 {
56+ { "requestId" , requestId } ,
5157 { "fileExtension" , fileExtension } ,
5258 { "contentType" , contentType }
5359 } ) ;
@@ -61,6 +67,7 @@ ILogger<KernelMemory> logger
6167 {
6268 telemetryHelper . TrackEvent ( "DocumentImportEmptyFile" , new Dictionary < string , string >
6369 {
70+ { "requestId" , requestId } ,
6471 { "fileName" , file ? . FileName ?? "unknown" }
6572 } ) ;
6673 return Results . BadRequest ( new DocumentImportedResult ( )
@@ -76,6 +83,7 @@ ILogger<KernelMemory> logger
7683 // Track successful document import
7784 telemetryHelper . TrackEvent ( "DocumentImportSuccess" , new Dictionary < string , string >
7885 {
86+ { "requestId" , requestId } ,
7987 { "documentId" , result . DocumentId } ,
8088 { "mimeType" , result . MimeType ?? "unknown" } ,
8189 { "fileSize" , file . Length . ToString ( ) }
@@ -94,9 +102,10 @@ ILogger<KernelMemory> logger
94102 catch ( IOException ex )
95103 {
96104 // Log the exception
97- logger . LogError ( ex , "An error occurred while uploading the document" ) ;
105+ logger . LogError ( ex , "An error occurred while uploading the document. RequestId: {RequestId}" , requestId ) ;
98106 telemetryHelper . TrackException ( ex , new Dictionary < string , string >
99107 {
108+ { "requestId" , requestId } ,
100109 { "endpoint" , "/Documents/ImportDocument" } ,
101110 { "errorType" , "IOException" }
102111 } ) ;
@@ -105,9 +114,10 @@ ILogger<KernelMemory> logger
105114 catch ( Exception ex )
106115 {
107116 // Log the exception
108- logger . LogError ( ex , "An unexpected error occurred" ) ;
117+ logger . LogError ( ex , "An unexpected error occurred. RequestId: {RequestId}" , requestId ) ;
109118 telemetryHelper . TrackException ( ex , new Dictionary < string , string >
110119 {
120+ { "requestId" , requestId } ,
111121 { "endpoint" , "/Documents/ImportDocument" } ,
112122 { "errorType" , ex . GetType ( ) . Name }
113123 } ) ;
@@ -117,27 +127,34 @@ ILogger<KernelMemory> logger
117127 } )
118128 . DisableAntiforgery ( ) ;
119129
120- app . MapDelete ( "/Documents/{documentId}" , async ( string documentId ,
130+ app . MapDelete ( "/Documents/{documentId}" , async ( HttpContext httpContext ,
131+ string documentId ,
121132 DPS . API . KernelMemory kernelMemory ,
122133 TelemetryHelper telemetryHelper ,
123134 ILogger < KernelMemory > logger ) =>
124135 {
136+ // Generate unique request ID for tracking
137+ var requestId = httpContext . TraceIdentifier ;
138+ telemetryHelper . SetActivityTag ( "requestId" , requestId ) ;
139+
125140 try
126141 {
127142 await kernelMemory . DeleteDocument ( documentId ) ;
128143
129144 telemetryHelper . TrackEvent ( "DocumentDeleteSuccess" , new Dictionary < string , string >
130145 {
146+ { "requestId" , requestId } ,
131147 { "documentId" , documentId }
132148 } ) ;
133149
134150 return Results . Ok ( new DocumentDeletedResult ( ) { IsDeleted = true } ) ;
135151 }
136152 catch ( Exception ex )
137153 {
138- logger . LogError ( ex , "Error deleting document: {DocumentId}" , documentId ) ;
154+ logger . LogError ( ex , "Error deleting document: {DocumentId}. RequestId: {RequestId} " , documentId , requestId ) ;
139155 telemetryHelper . TrackException ( ex , new Dictionary < string , string >
140156 {
157+ { "requestId" , requestId } ,
141158 { "endpoint" , "/Documents/{documentId}" } ,
142159 { "documentId" , documentId } ,
143160 { "errorType" , ex . GetType ( ) . Name }
0 commit comments