hvoss-techfak commited on
Commit
9f2e1e5
·
1 Parent(s): 8513b12

more sentry logging and removing dummy button

Browse files
Files changed (1) hide show
  1. app.py +18 -16
app.py CHANGED
@@ -2,7 +2,7 @@ import uuid
2
  import os
3
  import logging
4
  import sentry_sdk
5
- from sentry_sdk import capture_exception
6
  from sentry_sdk.integrations.logging import LoggingIntegration
7
  from sentry_sdk.integrations.starlette import StarletteIntegration
8
  from sentry_sdk.integrations.fastapi import FastApiIntegration
@@ -124,15 +124,6 @@ def rgba_to_hex(col: str) -> str:
124
  r, g, b = (int(float(x)) for x in m.groups()[:3])
125
  return "#{:02X}{:02X}{:02X}".format(r, g, b)
126
 
127
- def sentry_wrap(fn):
128
- def _inner(*args, **kwargs):
129
- try:
130
- return fn(*args, **kwargs)
131
- except Exception as exc:
132
- capture_exception(exc) # send to Sentry
133
- flush(timeout=2) # make sure the event is really sent
134
- raise # let Gradio show its own error dialog
135
- return _inner
136
 
137
  # --- Helper Functions ---
138
  def get_script_args_info(exclude_args=None):
@@ -277,8 +268,6 @@ def get_script_args_info(exclude_args=None):
277
  ]
278
  return [arg for arg in all_args_info if arg["name"] not in exclude_args]
279
 
280
- def boom():
281
- raise RuntimeError("Sentry test – should appear in dashboard")
282
 
283
  # Initial filament data
284
  initial_filament_data = {
@@ -549,8 +538,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
549
  visible=False,
550
  )
551
  with gr.Row():
552
- test_btn = gr.Button("Trigger Sentry test error")
553
- test_btn.click(boom)
554
  with gr.Accordion("Adjust Autoforge Parameters", open=False):
555
  args_for_accordion = get_script_args_info(
556
  exclude_args=["--input_image"]
@@ -708,8 +695,14 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
708
  )
709
 
710
  yield create_empty_error_outputs(log_output) # clear UI and show header
711
- sentry_sdk.capture_message(
712
- f"Autoforge process started with command: {' '.join(command)}"
 
 
 
 
 
 
713
  )
714
  process = subprocess.Popen(
715
  command,
@@ -797,6 +790,15 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
797
  if return_code == 0
798
  else f"\nAutoforge process failed with exit code {return_code}."
799
  )
 
 
 
 
 
 
 
 
 
800
 
801
  # make sure we show the final preview (if any)
802
  final_preview = _maybe_new_preview() or os.path.join(
 
2
  import os
3
  import logging
4
  import sentry_sdk
5
+ from sentry_sdk import capture_exception, push_scope, capture_message
6
  from sentry_sdk.integrations.logging import LoggingIntegration
7
  from sentry_sdk.integrations.starlette import StarletteIntegration
8
  from sentry_sdk.integrations.fastapi import FastApiIntegration
 
124
  r, g, b = (int(float(x)) for x in m.groups()[:3])
125
  return "#{:02X}{:02X}{:02X}".format(r, g, b)
126
 
 
 
 
 
 
 
 
 
 
127
 
128
  # --- Helper Functions ---
129
  def get_script_args_info(exclude_args=None):
 
268
  ]
269
  return [arg for arg in all_args_info if arg["name"] not in exclude_args]
270
 
 
 
271
 
272
  # Initial filament data
273
  initial_filament_data = {
 
538
  visible=False,
539
  )
540
  with gr.Row():
 
 
541
  with gr.Accordion("Adjust Autoforge Parameters", open=False):
542
  args_for_accordion = get_script_args_info(
543
  exclude_args=["--input_image"]
 
695
  )
696
 
697
  yield create_empty_error_outputs(log_output) # clear UI and show header
698
+ cmd_str = " ".join(command)
699
+ sentry_sdk.capture_event(
700
+ {
701
+ "message": "Autoforge process started",
702
+ "level": "info",
703
+ "fingerprint": ["autoforge-process-start"], # every start groups here
704
+ "extra": {"command": cmd_str}, # still searchable
705
+ }
706
  )
707
  process = subprocess.Popen(
708
  command,
 
790
  if return_code == 0
791
  else f"\nAutoforge process failed with exit code {return_code}."
792
  )
793
+ log_str = " ".join(log_output)
794
+ sentry_sdk.capture_event(
795
+ {
796
+ "message": "Autoforge process finished",
797
+ "level": "info",
798
+ "fingerprint": ["autoforge-process-finished"], # every start groups here
799
+ "extra": {"log": log_str}, # still searchable
800
+ }
801
+ )
802
 
803
  # make sure we show the final preview (if any)
804
  final_preview = _maybe_new_preview() or os.path.join(