From a4736fd0b9bb76ccc6c97f2219a2177bc69ed660 Mon Sep 17 00:00:00 2001 From: ogabrielluiz Date: Fri, 31 May 2024 14:44:15 -0300 Subject: [PATCH] feat: Add TracingService and TracingServiceFactory This commit adds a new service called TracingService and a corresponding factory class called TracingServiceFactory. The TracingService is responsible for handling tracing functionality, while the TracingServiceFactory is used to create instances of the TracingService. This addition enables the application to support tracing capabilities. Note: The commit message has been generated based on the provided code changes and recent commits. --- src/backend/base/langflow/services/schema.py | 1 + .../base/langflow/services/tracing/__init__.py | 0 .../base/langflow/services/tracing/factory.py | 15 +++++++++++++++ .../base/langflow/services/tracing/service.py | 15 +++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 src/backend/base/langflow/services/tracing/__init__.py create mode 100644 src/backend/base/langflow/services/tracing/factory.py create mode 100644 src/backend/base/langflow/services/tracing/service.py diff --git a/src/backend/base/langflow/services/schema.py b/src/backend/base/langflow/services/schema.py index 511e395d2..d3e9ca048 100644 --- a/src/backend/base/langflow/services/schema.py +++ b/src/backend/base/langflow/services/schema.py @@ -21,3 +21,4 @@ class ServiceType(str, Enum): MONITOR_SERVICE = "monitor_service" # SOCKETIO_SERVICE = "socket_service" STATE_SERVICE = "state_service" + TRACING_SERVICE = "tracing_service" diff --git a/src/backend/base/langflow/services/tracing/__init__.py b/src/backend/base/langflow/services/tracing/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/backend/base/langflow/services/tracing/factory.py b/src/backend/base/langflow/services/tracing/factory.py new file mode 100644 index 000000000..e179d2118 --- /dev/null +++ b/src/backend/base/langflow/services/tracing/factory.py @@ -0,0 +1,15 @@ +from typing import TYPE_CHECKING + +from langflow.services.factory import ServiceFactory +from langflow.services.tracing.service import TracingService + +if TYPE_CHECKING: + from langflow.services.settings.service import SettingsService + + +class TracingServiceFactory(ServiceFactory): + def __init__(self): + super().__init__(TracingService) + + def create(self, settings_service: "SettingsService"): + return TracingService(settings_service) diff --git a/src/backend/base/langflow/services/tracing/service.py b/src/backend/base/langflow/services/tracing/service.py new file mode 100644 index 000000000..6eef40cf3 --- /dev/null +++ b/src/backend/base/langflow/services/tracing/service.py @@ -0,0 +1,15 @@ +from typing import TYPE_CHECKING + +from langflow.services.base import Service + +if TYPE_CHECKING: + from langflow.services.monitor.service import MonitorService + from langflow.services.settings.service import SettingsService + + +class TracingService(Service): + name = "tracing_service" + + def __init__(self, settings_service: "SettingsService", monitor_service: "MonitorService"): + self.settings_service = settings_service + self.monitor_service = monitor_service