Skip to content

Commit a8a9f1b

Browse files
committed
Updated error analyzer logging
1 parent f02886a commit a8a9f1b

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

lib/idp_common_pkg/idp_common/agents/error_analyzer/tools/cloudwatch_tool.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ def cloudwatch_document_logs(
138138
all_results = []
139139
total_events = 0
140140
groups_to_search = log_groups["log_groups"][:max_log_groups]
141+
search_method_used = "none"
141142

142143
for request_id in request_ids_to_search:
143144
function_name = next(
@@ -160,14 +161,16 @@ def cloudwatch_document_logs(
160161
)
161162

162163
if search_result.get("events_found", 0) > 0:
164+
search_method_used = "lambda_request_id"
163165
logger.info(
164-
f"Found {search_result['events_found']} error events in {log_group['name']} for Lambda function {function_name}"
166+
f"Found {search_result['events_found']} error events in {log_group['name']} for Lambda function {function_name} using request ID {request_id}"
165167
)
166168
all_results.append(
167169
{
168170
"log_group": log_group["name"],
169171
"lambda_function_name": function_name,
170172
"request_id": request_id,
173+
"search_method": "lambda_request_id",
171174
"events_found": search_result["events_found"],
172175
"events": search_result["events"],
173176
}
@@ -202,30 +205,36 @@ def cloudwatch_document_logs(
202205
]
203206

204207
if error_events:
208+
search_method_used = "document_specific_fallback"
205209
logger.info(
206-
f"Found {len(error_events)} document-specific error events in {log_group['name']}"
210+
f"Found {len(error_events)} document-specific error events in {log_group['name']} using fallback search"
207211
)
208212
all_results.append(
209213
{
210214
"log_group": log_group["name"],
211-
"search_type": "document_specific",
215+
"search_method": "document_specific_fallback",
212216
"events_found": len(error_events),
213217
"events": error_events,
214218
}
215219
)
216220
total_events += len(error_events)
217221
break
218222

219-
return {
223+
response = {
220224
"analysis_type": "document_specific",
221225
"document_id": document_id,
222226
"document_status": document_status,
223227
"xray_trace_id": xray_trace_id,
224228
"stack_name_used": actual_stack_name,
229+
"search_method_used": search_method_used,
225230
"lambda_functions_found": list(lambda_function_to_request_id_map.keys()),
226231
"total_events_found": total_events,
227232
"results": all_results,
228233
}
234+
logger.info(
235+
f"CloudWatch document logs response - search method: {search_method_used}, events found: {total_events}"
236+
)
237+
return response
229238

230239
except Exception as e:
231240
logger.error(f"Document log search failed for {document_id}: {e}")

lib/idp_common_pkg/idp_common/agents/error_analyzer/tools/dynamodb_tool.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ def dynamodb_status(object_key: str) -> Dict[str, Any]:
5555
- suggestion (str): Alternative tools to use if tracking unavailable
5656
"""
5757
result = dynamodb_record(object_key)
58-
logger.info(f"DynamoDB status response for {object_key}: {result}")
5958

6059
if result.get("document_found"):
6160
document = result.get("document", {})
@@ -72,7 +71,7 @@ def dynamodb_status(object_key: str) -> Dict[str, Any]:
7271
or document.get("ExecutionArn"),
7372
}
7473
)
75-
logger.info(f"DynamoDB status final response for {object_key}: {response}")
74+
logger.info(f"DynamoDB status response for {object_key}: {response}")
7675
return response
7776
return result
7877

@@ -238,7 +237,6 @@ def dynamodb_record(object_key: str) -> Dict[str, Any]:
238237
dynamodb_response = tracking_table.get_item(
239238
Key={"PK": f"doc#{object_key}", "SK": "none"}
240239
)
241-
logger.info(f"DynamoDB get_item response for {object_key}: {dynamodb_response}")
242240

243241
if "Item" in dynamodb_response:
244242
document_item = decimal_to_float(dynamodb_response["Item"])
@@ -250,7 +248,7 @@ def dynamodb_record(object_key: str) -> Dict[str, Any]:
250248
"object_key": object_key,
251249
}
252250
)
253-
logger.info(f"DynamoDB record final response for {object_key}: {response}")
251+
logger.info(f"DynamoDB record response for {object_key}: {response}")
254252
return response
255253
else:
256254
response = create_response(

lib/idp_common_pkg/idp_common/agents/error_analyzer/tools/xray_tool.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def xray_trace(document_id: str, tracking_table_name: str = None) -> Dict[str, A
210210
f"Attempting to get trace details for trace_id: {xray_trace_id}"
211211
)
212212
segments_response = xray_client.batch_get_traces(TraceIds=[xray_trace_id])
213-
logger.info(f"X-Ray batch_get_traces response: {segments_response}")
213+
logger.debug(f"X-Ray batch_get_traces response: {segments_response}")
214214

215215
if not segments_response.get("Traces"):
216216
return create_error_response(
@@ -326,7 +326,7 @@ def extract_lambda_request_ids(xray_trace_id: str) -> Dict[str, str]:
326326
logger.warning(f"Failed to parse segment document: {e}")
327327
continue
328328

329-
logger.info(f"Total Lambda executions found: {lambda_executions}")
329+
logger.debug(f"Total Lambda executions found: {lambda_executions}")
330330

331331
# Convert to function_name -> request_id mapping
332332
lambda_function_to_request_id_map = {}
@@ -337,7 +337,7 @@ def extract_lambda_request_ids(xray_trace_id: str) -> Dict[str, str]:
337337
)
338338

339339
logger.info(
340-
f"Final Lambda function to request ID mapping: {lambda_function_to_request_id_map}"
340+
f"Lambda function to request ID mapping: {lambda_function_to_request_id_map}"
341341
)
342342
return lambda_function_to_request_id_map
343343

0 commit comments

Comments
 (0)