Skip to content

Commit 2dc3014

Browse files
committed
clean up
1 parent 47c7791 commit 2dc3014

File tree

1 file changed

+52
-66
lines changed

1 file changed

+52
-66
lines changed

sentience/cloud_tracing.py

Lines changed: 52 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ def _do_upload(self, on_progress: Callable[[int, int], None] | None = None) -> N
211211
on_progress(0, compressed_size)
212212

213213
# Step 5: Upload cleaned trace to cloud
214-
print(f"📤 [Sentience] Uploading trace to cloud ({compressed_size} bytes)...")
214+
if self.logger:
215+
self.logger.info(f"Uploading trace to cloud ({compressed_size} bytes)")
215216

216217
response = requests.put(
217218
self.upload_url,
@@ -225,7 +226,8 @@ def _do_upload(self, on_progress: Callable[[int, int], None] | None = None) -> N
225226

226227
if response.status_code == 200:
227228
self._upload_successful = True
228-
print("✅ [Sentience] Trace uploaded successfully")
229+
if self.logger:
230+
self.logger.info("Trace uploaded successfully")
229231

230232
# Report progress: complete
231233
if on_progress:
@@ -245,14 +247,17 @@ def _do_upload(self, on_progress: Callable[[int, int], None] | None = None) -> N
245247
cleaned_trace_path.unlink()
246248
else:
247249
self._upload_successful = False
248-
print(f"❌ [Sentience] Upload failed: HTTP {response.status_code}")
249-
print(f" Response: {response.text}")
250-
print(f" Local trace preserved at: {self._path}")
250+
if self.logger:
251+
self.logger.error(
252+
f"Upload failed: HTTP {response.status_code}, Response: {response.text[:200]}"
253+
)
254+
# Don't print - rely on logger or silent failure
251255

252256
except Exception as e:
253257
self._upload_successful = False
254-
print(f"❌ [Sentience] Error uploading trace: {e}")
255-
print(f" Local trace preserved at: {self._path}")
258+
if self.logger:
259+
self.logger.error(f"Error uploading trace: {e}")
260+
# Don't print - rely on logger or silent failure
256261
# Don't raise - preserve trace locally even if upload fails
257262

258263
def _generate_index(self) -> None:
@@ -263,7 +268,8 @@ def _generate_index(self) -> None:
263268
write_trace_index(str(self._path))
264269
except Exception as e:
265270
# Non-fatal: log but don't crash
266-
print(f"⚠️ Failed to generate trace index: {e}")
271+
if self.logger:
272+
self.logger.warning(f"Failed to generate trace index: {e}")
267273

268274
def _upload_index(self) -> None:
269275
"""
@@ -319,8 +325,7 @@ def _upload_index(self) -> None:
319325

320326
if self.logger:
321327
self.logger.info(f"Index file size: {index_size / 1024:.2f} KB")
322-
323-
print(f"📤 [Sentience] Uploading trace index ({index_size} bytes)...")
328+
self.logger.info(f"Uploading trace index ({index_size} bytes)")
324329

325330
# Upload index to cloud storage
326331
index_response = requests.put(
@@ -334,7 +339,8 @@ def _upload_index(self) -> None:
334339
)
335340

336341
if index_response.status_code == 200:
337-
print("✅ [Sentience] Trace index uploaded successfully")
342+
if self.logger:
343+
self.logger.info("Trace index uploaded successfully")
338344

339345
# Delete local index file after successful upload
340346
try:
@@ -344,13 +350,11 @@ def _upload_index(self) -> None:
344350
else:
345351
if self.logger:
346352
self.logger.warning(f"Index upload failed: HTTP {index_response.status_code}")
347-
print(f"⚠️ [Sentience] Index upload failed: HTTP {index_response.status_code}")
348353

349354
except Exception as e:
350355
# Non-fatal: log but don't crash
351356
if self.logger:
352357
self.logger.warning(f"Error uploading trace index: {e}")
353-
print(f"⚠️ [Sentience] Error uploading trace index: {e}")
354358

355359
def _complete_trace(self) -> None:
356360
"""
@@ -428,8 +432,6 @@ def _extract_screenshots_from_trace(self) -> dict[int, dict[str, Any]]:
428432
except Exception as e:
429433
if self.logger:
430434
self.logger.error(f"Error extracting screenshots: {e}")
431-
else:
432-
print(f"⚠️ [Sentience] Error extracting screenshots: {e}")
433435

434436
return screenshots
435437

@@ -472,8 +474,6 @@ def _create_cleaned_trace(self, output_path: Path) -> None:
472474
except Exception as e:
473475
if self.logger:
474476
self.logger.error(f"Error creating cleaned trace: {e}")
475-
else:
476-
print(f"⚠️ [Sentience] Error creating cleaned trace: {e}")
477477
raise
478478

479479
def _request_screenshot_urls(self, sequences: list[int]) -> dict[int, str]:
@@ -511,24 +511,21 @@ def _request_screenshot_urls(self, sequences: list[int]) -> dict[int, str]:
511511
else:
512512
error_msg = f"Failed to get screenshot URLs: HTTP {response.status_code}"
513513
if self.logger:
514-
self.logger.warning(error_msg)
515-
else:
516-
print(f" ⚠️ {error_msg}")
517-
# Try to get error details
518-
try:
519-
error_data = response.json()
520-
error_detail = error_data.get("error") or error_data.get("message", "")
521-
if error_detail:
522-
print(f" Error: {error_detail}")
523-
except Exception:
524-
print(f" Response: {response.text[:200]}")
514+
# Try to get error details
515+
try:
516+
error_data = response.json()
517+
error_detail = error_data.get("error") or error_data.get("message", "")
518+
if error_detail:
519+
self.logger.warning(f"{error_msg}: {error_detail}")
520+
else:
521+
self.logger.warning(f"{error_msg}: {response.text[:200]}")
522+
except Exception:
523+
self.logger.warning(f"{error_msg}: {response.text[:200]}")
525524
return {}
526525
except Exception as e:
527526
error_msg = f"Error requesting screenshot URLs: {e}"
528527
if self.logger:
529528
self.logger.warning(error_msg)
530-
else:
531-
print(f" ⚠️ {error_msg}")
532529
return {}
533530

534531
def _upload_screenshots(
@@ -554,18 +551,17 @@ def _upload_screenshots(
554551

555552
# 1. Request pre-signed URLs from gateway
556553
sequences = sorted(screenshots.keys())
557-
print(f" Requesting upload URLs for {len(sequences)} screenshot(s)...")
554+
if self.logger:
555+
self.logger.info(f"Requesting upload URLs for {len(sequences)} screenshot(s)")
558556
upload_urls = self._request_screenshot_urls(sequences)
559557

560558
if not upload_urls:
561-
print("⚠️ [Sentience] No screenshot upload URLs received, skipping upload")
562-
print(" This may indicate:")
563-
print(" - API key doesn't have permission for screenshot uploads")
564-
print(" - Gateway endpoint /v1/screenshots/init returned an error")
565-
print(" - Network issue connecting to gateway")
559+
if self.logger:
560+
self.logger.warning(
561+
"No screenshot upload URLs received, skipping upload. "
562+
"This may indicate API key permission issue, gateway error, or network problem."
563+
)
566564
return
567-
568-
print(f" ✅ Received {len(upload_urls)} upload URL(s) from gateway")
569565

570566
# 2. Upload screenshots in parallel
571567
uploaded_count = 0
@@ -587,11 +583,6 @@ def upload_one(seq: int, url: str) -> bool:
587583
self.screenshot_total_size_bytes += image_size
588584

589585
# Upload to pre-signed URL
590-
# Extract the base URL for logging (without query params)
591-
upload_base_url = url.split('?')[0] if '?' in url else url
592-
if self.verbose if hasattr(self, 'verbose') else False:
593-
print(f" 📤 Uploading screenshot {seq} ({image_size / 1024:.1f} KB) to: {upload_base_url[:80]}...")
594-
595586
response = requests.put(
596587
url,
597588
data=image_bytes, # Binary image data
@@ -604,32 +595,23 @@ def upload_one(seq: int, url: str) -> bool:
604595
if response.status_code == 200:
605596
if self.logger:
606597
self.logger.info(f"Screenshot {seq} uploaded successfully ({image_size / 1024:.1f} KB)")
607-
else:
608-
# Extract base URL for logging (without query params for security)
609-
upload_base = url.split('?')[0] if '?' in url else url
610-
upload_base_short = upload_base[:80] + "..." if len(upload_base) > 80 else upload_base
611-
print(f" ✅ Screenshot {seq} uploaded: {image_size / 1024:.1f} KB, format={format_str}, URL={upload_base_short}")
612598
return True
613599
else:
614600
error_msg = f"Screenshot {seq} upload failed: HTTP {response.status_code}"
615601
if self.logger:
616-
self.logger.warning(error_msg)
617-
else:
618-
print(f" ⚠️ {error_msg}")
619-
# Try to get error details from response
620-
try:
621-
error_detail = response.text[:200]
622-
if error_detail:
623-
print(f" Response: {error_detail}")
624-
except Exception:
625-
pass
602+
try:
603+
error_detail = response.text[:200]
604+
if error_detail:
605+
self.logger.warning(f"{error_msg}: {error_detail}")
606+
else:
607+
self.logger.warning(error_msg)
608+
except Exception:
609+
self.logger.warning(error_msg)
626610
return False
627611
except Exception as e:
628612
error_msg = f"Screenshot {seq} upload error: {e}"
629613
if self.logger:
630614
self.logger.warning(error_msg)
631-
else:
632-
print(f" ⚠️ {error_msg}")
633615
return False
634616

635617
# Upload in parallel (max 10 concurrent)
@@ -650,13 +632,17 @@ def upload_one(seq: int, url: str) -> bool:
650632
# 3. Report results
651633
if uploaded_count == total_count:
652634
total_size_mb = self.screenshot_total_size_bytes / 1024 / 1024
653-
print(f"✅ [Sentience] All {total_count} screenshots uploaded successfully!")
654-
print(f" 📊 Total screenshot size: {total_size_mb:.2f} MB")
655-
print(f" 📸 Screenshots are now available in cloud storage")
635+
if self.logger:
636+
self.logger.info(
637+
f"All {total_count} screenshots uploaded successfully "
638+
f"(total size: {total_size_mb:.2f} MB)"
639+
)
656640
else:
657-
print(f"⚠️ [Sentience] Uploaded {uploaded_count}/{total_count} screenshots")
658-
if failed_sequences:
659-
print(f" Failed sequences: {failed_sequences}")
641+
if self.logger:
642+
self.logger.warning(
643+
f"Uploaded {uploaded_count}/{total_count} screenshots. "
644+
f"Failed sequences: {failed_sequences if failed_sequences else 'none'}"
645+
)
660646

661647
def _cleanup_files(self) -> None:
662648
"""Delete local files after successful upload."""

0 commit comments

Comments
 (0)