| 
									
										
										
										
											2024-10-22 11:01:32 +08:00
										 |  |  | from configs import dify_config | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  | from dify_app import DifyApp | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-19 17:34:12 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  | def init_app(app: DifyApp): | 
					
						
							|  |  |  |     if dify_config.SENTRY_DSN: | 
					
						
							|  |  |  |         import openai | 
					
						
							|  |  |  |         import sentry_sdk | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |         from langfuse import parse_error  # type: ignore | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  |         from sentry_sdk.integrations.celery import CeleryIntegration | 
					
						
							|  |  |  |         from sentry_sdk.integrations.flask import FlaskIntegration | 
					
						
							|  |  |  |         from werkzeug.exceptions import HTTPException | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  |         from core.model_runtime.errors.invoke import InvokeRateLimitError | 
					
						
							| 
									
										
										
										
											2024-09-13 16:08:08 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  |         def before_send(event, hint): | 
					
						
							|  |  |  |             if "exc_info" in hint: | 
					
						
							|  |  |  |                 exc_type, exc_value, tb = hint["exc_info"] | 
					
						
							|  |  |  |                 if parse_error.defaultErrorResponse in str(exc_value): | 
					
						
							|  |  |  |                     return None | 
					
						
							| 
									
										
										
										
											2024-09-13 16:08:08 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-30 23:05:22 +08:00
										 |  |  |             return event | 
					
						
							| 
									
										
										
										
											2024-09-13 16:08:08 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |         sentry_sdk.init( | 
					
						
							| 
									
										
										
										
											2024-10-22 11:01:32 +08:00
										 |  |  |             dsn=dify_config.SENTRY_DSN, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |             integrations=[FlaskIntegration(), CeleryIntegration()], | 
					
						
							| 
									
										
										
										
											2024-09-19 17:34:12 +08:00
										 |  |  |             ignore_errors=[ | 
					
						
							|  |  |  |                 HTTPException, | 
					
						
							|  |  |  |                 ValueError, | 
					
						
							| 
									
										
										
										
											2024-12-23 22:36:44 +08:00
										 |  |  |                 FileNotFoundError, | 
					
						
							| 
									
										
										
										
											2024-09-19 17:34:12 +08:00
										 |  |  |                 openai.APIStatusError, | 
					
						
							|  |  |  |                 InvokeRateLimitError, | 
					
						
							|  |  |  |                 parse_error.defaultErrorResponse, | 
					
						
							|  |  |  |             ], | 
					
						
							| 
									
										
										
										
											2024-10-22 11:01:32 +08:00
										 |  |  |             traces_sample_rate=dify_config.SENTRY_TRACES_SAMPLE_RATE, | 
					
						
							|  |  |  |             profiles_sample_rate=dify_config.SENTRY_PROFILES_SAMPLE_RATE, | 
					
						
							|  |  |  |             environment=dify_config.DEPLOY_ENV, | 
					
						
							|  |  |  |             release=f"dify-{dify_config.CURRENT_VERSION}-{dify_config.COMMIT_SHA}", | 
					
						
							| 
									
										
										
										
											2024-09-13 16:08:08 +08:00
										 |  |  |             before_send=before_send, | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  |         ) |