mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-09 13:25:11 +00:00
Improve error handling for telemetry uploads
- Use response.raise_for_status when telemetry upload files - Do not send null packets to the destination server
This commit is contained in:
@@ -311,7 +311,8 @@ def upload_telemetry():
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
logger.debug(f"📡 Upload usage telemetry to {constants.telemetry_server}:\n{state.telemetry}")
|
logger.info(f"📡 Uploading telemetry to {constants.telemetry_server}...")
|
||||||
|
logger.debug(f"Telemetry state:\n{state.telemetry}")
|
||||||
for log in state.telemetry:
|
for log in state.telemetry:
|
||||||
for field in log:
|
for field in log:
|
||||||
# Check if the value for the field is JSON serializable
|
# Check if the value for the field is JSON serializable
|
||||||
@@ -319,7 +320,8 @@ def upload_telemetry():
|
|||||||
json.dumps(log[field])
|
json.dumps(log[field])
|
||||||
except TypeError:
|
except TypeError:
|
||||||
log[field] = str(log[field])
|
log[field] = str(log[field])
|
||||||
requests.post(constants.telemetry_server, json=state.telemetry)
|
response = requests.post(constants.telemetry_server, json=state.telemetry)
|
||||||
|
response.raise_for_status()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"📡 Error uploading telemetry: {e}", exc_info=True)
|
logger.error(f"📡 Error uploading telemetry: {e}", exc_info=True)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from khoj.routers.helpers import generate_online_subqueries
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
SERPER_DEV_API_KEY = os.getenv("SERPER_DEV_API_KEY")
|
SERPER_DEV_API_KEY = os.getenv("SERPER_DEV_API_KEY")
|
||||||
|
OLOSTEP_API_KEY = os.getenv("OLOSTEP_API_KEY")
|
||||||
|
|
||||||
url = "https://google.serper.dev/search"
|
url = "https://google.serper.dev/search"
|
||||||
|
|
||||||
|
|||||||
@@ -86,10 +86,10 @@ def update_telemetry_state(
|
|||||||
"user_agent": user_agent or "unknown",
|
"user_agent": user_agent or "unknown",
|
||||||
"referer": referer or "unknown",
|
"referer": referer or "unknown",
|
||||||
"host": host or "unknown",
|
"host": host or "unknown",
|
||||||
"server_id": str(user.uuid) if user else None,
|
"server_id": str(user.uuid),
|
||||||
"subscription_type": subscription.type if subscription else None,
|
"subscription_type": subscription.type,
|
||||||
"is_recurring": subscription.is_recurring if subscription else None,
|
"is_recurring": subscription.is_recurring,
|
||||||
"client_id": str(client_app.name) if client_app else None,
|
"client_id": str(client_app.name) if client_app else "default",
|
||||||
}
|
}
|
||||||
|
|
||||||
if metadata:
|
if metadata:
|
||||||
|
|||||||
Reference in New Issue
Block a user