From 4ed879ff56e859cdaa2c9657a917feeeca380a2b Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 25 Jun 2024 14:56:29 -0300 Subject: [PATCH] Refactor telemetry service payload field names for consistency --- src/backend/base/langflow/api/v1/chat.py | 30 +++++++++---------- src/backend/base/langflow/api/v1/endpoints.py | 19 ++++++++---- .../langflow/services/telemetry/schema.py | 24 +++++++-------- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/src/backend/base/langflow/api/v1/chat.py b/src/backend/base/langflow/api/v1/chat.py index dc44d498b..e19342568 100644 --- a/src/backend/base/langflow/api/v1/chat.py +++ b/src/backend/base/langflow/api/v1/chat.py @@ -121,9 +121,9 @@ async def retrieve_vertices_order( background_tasks.add_task( telemetry_service.log_package_playground, PlaygroundPayload( - seconds=int(time.perf_counter() - start_time), - componentCount=components_count, - success=True, + playgroundSeconds=int(time.perf_counter() - start_time), + playgroundComponentCount=components_count, + playgroundSuccess=True, ), ) return VerticesOrderResponse(ids=first_layer, run_id=graph._run_id, vertices_to_run=vertices_to_run) @@ -131,10 +131,10 @@ async def retrieve_vertices_order( background_tasks.add_task( telemetry_service.log_package_playground, PlaygroundPayload( - seconds=int(time.perf_counter() - start_time), - componentCount=components_count, - success=False, - errorMessage=str(exc), + playgroundSeconds=int(time.perf_counter() - start_time), + playgroundComponentCount=components_count, + playgroundSuccess=False, + playgroundErrorMessage=str(exc), ), ) if "stream or streaming set to True" in str(exc): @@ -280,10 +280,10 @@ async def build_vertex( background_tasks.add_task( telemetry_service.log_package_component, ComponentPayload( - name=vertex_id, - seconds=int(time.perf_counter() - start_time), - success=valid, - errorMessage=params, + componentName=vertex_id, + componentSeconds=int(time.perf_counter() - start_time), + componentSuccess=valid, + componentErrorMessage=params, ), ) return build_response @@ -291,10 +291,10 @@ async def build_vertex( background_tasks.add_task( telemetry_service.log_package_component, ComponentPayload( - name=vertex_id, - seconds=int(time.perf_counter() - start_time), - success=False, - errorMessage=str(exc), + componentName=vertex_id, + componentSeconds=int(time.perf_counter() - start_time), + componentSuccess=False, + componentErrorMessage=str(exc), ), ) logger.error(f"Error building Component:\n\n{exc}") diff --git a/src/backend/base/langflow/api/v1/endpoints.py b/src/backend/base/langflow/api/v1/endpoints.py index d8b5e9da8..92358111a 100644 --- a/src/backend/base/langflow/api/v1/endpoints.py +++ b/src/backend/base/langflow/api/v1/endpoints.py @@ -209,7 +209,7 @@ async def simplified_run_flow( end_time = time.perf_counter() background_tasks.add_task( telemetry_service.log_package_run, - RunPayload(IsWebhook=False, seconds=int(end_time - start_time), success=True, errorMessage=""), + RunPayload(runIsWebhook=False, runSeconds=int(end_time - start_time), runSuccess=True, runErrorMessage=""), ) return result @@ -217,7 +217,9 @@ async def simplified_run_flow( end_time = time.perf_counter() background_tasks.add_task( telemetry_service.log_package_run, - RunPayload(IsWebhook=False, seconds=int(end_time - start_time), success=False, errorMessage=str(exc)), + RunPayload( + runIsWebhook=False, runSeconds=int(end_time - start_time), runSuccess=False, runErrorMessage=str(exc) + ), ) if "badly formed hexadecimal UUID string" in str(exc): # This means the Flow ID is not a valid UUID which means it can't find the flow @@ -231,7 +233,9 @@ async def simplified_run_flow( logger.exception(exc) background_tasks.add_task( telemetry_service.log_package_run, - RunPayload(IsWebhook=False, seconds=int(end_time - start_time), success=False, errorMessage=str(exc)), + RunPayload( + runIsWebhook=False, runSeconds=int(end_time - start_time), runSuccess=False, runErrorMessage=str(exc) + ), ) raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(exc)) from exc @@ -290,14 +294,19 @@ async def webhook_run_flow( ) background_tasks.add_task( telemetry_service.log_package_run, - RunPayload(IsWebhook=True, seconds=int(time.perf_counter() - start_time), success=True, errorMessage=""), + RunPayload( + runIsWebhook=True, runSeconds=int(time.perf_counter() - start_time), runSuccess=True, runErrorMessage="" + ), ) return {"message": "Task started in the background", "status": "in progress"} except Exception as exc: background_tasks.add_task( telemetry_service.log_package_run, RunPayload( - IsWebhook=True, seconds=int(time.perf_counter() - start_time), success=False, errorMessage=str(exc) + runIsWebhook=True, + runSeconds=int(time.perf_counter() - start_time), + runSuccess=False, + runErrorMessage=str(exc), ), ) if "Flow ID is required" in str(exc) or "Request body is empty" in str(exc): diff --git a/src/backend/base/langflow/services/telemetry/schema.py b/src/backend/base/langflow/services/telemetry/schema.py index bba7a23e4..9d62e128a 100644 --- a/src/backend/base/langflow/services/telemetry/schema.py +++ b/src/backend/base/langflow/services/telemetry/schema.py @@ -2,10 +2,10 @@ from pydantic import BaseModel class RunPayload(BaseModel): - IsWebhook: bool = False - seconds: int - success: bool - errorMessage: str = "" + runIsWebhook: bool = False + runSeconds: int + runSuccess: bool + runErrorMessage: str = "" class ShutdownPayload(BaseModel): @@ -23,14 +23,14 @@ class VersionPayload(BaseModel): class PlaygroundPayload(BaseModel): - seconds: int - componentCount: int | None = None - success: bool - errorMessage: str = "" + playgroundSeconds: int + playgroundComponentCount: int | None = None + playgroundSuccess: bool + playgroundErrorMessage: str = "" class ComponentPayload(BaseModel): - name: str - seconds: int - success: bool - errorMessage: str + componentName: str + componentSeconds: int + componentSuccess: bool + componentErrorMessage: str