feat: enterprise otel exporter (#33138)

Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Xiyuan Chen
2026-03-27 07:56:31 +00:00
committed by GitHub
co-authored by QuantumGhost Yunlu Wen Copilot autofix-ci[bot]
parent 689761bfcb
commit 5a8a68cab8
51 changed files with 9650 additions and 46 deletions
+13 -1
View File
@@ -12,7 +12,7 @@ from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
from core.model_manager import ModelManager
from core.tools.tool_manager import ToolManager
from core.tools.utils.configuration import ToolParameterConfigurationManager
from events.app_event import app_was_created
from events.app_event import app_was_created, app_was_deleted, app_was_updated
from extensions.ext_database import db
from graphon.model_runtime.entities.model_entities import ModelPropertyKey, ModelType
from graphon.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
@@ -281,6 +281,8 @@ class AppService:
app.updated_at = naive_utc_now()
db.session.commit()
app_was_updated.send(app)
return app
def update_app_name(self, app: App, name: str) -> App:
@@ -296,6 +298,8 @@ class AppService:
app.updated_at = naive_utc_now()
db.session.commit()
app_was_updated.send(app)
return app
def update_app_icon(self, app: App, icon: str, icon_background: str) -> App:
@@ -313,6 +317,8 @@ class AppService:
app.updated_at = naive_utc_now()
db.session.commit()
app_was_updated.send(app)
return app
def update_app_site_status(self, app: App, enable_site: bool) -> App:
@@ -330,6 +336,8 @@ class AppService:
app.updated_at = naive_utc_now()
db.session.commit()
app_was_updated.send(app)
return app
def update_app_api_status(self, app: App, enable_api: bool) -> App:
@@ -348,6 +356,8 @@ class AppService:
app.updated_at = naive_utc_now()
db.session.commit()
app_was_updated.send(app)
return app
def delete_app(self, app: App):
@@ -355,6 +365,8 @@ class AppService:
Delete app
:param app: App instance
"""
app_was_deleted.send(app)
db.session.delete(app)
db.session.commit()
+14
View File
@@ -46,6 +46,7 @@ from core.workflow.system_variables import (
)
from core.workflow.variable_pool_initializer import add_variables_to_pool
from core.workflow.workflow_entry import WorkflowEntry
from enterprise.telemetry.draft_trace import enqueue_draft_node_execution_trace
from extensions.ext_database import db
from graphon.entities.workflow_node_execution import (
WorkflowNodeExecution,
@@ -577,6 +578,13 @@ class RagPipelineService:
outputs=workflow_node_execution.outputs,
)
session.commit()
if workflow_node_execution_db_model is not None:
enqueue_draft_node_execution_trace(
execution=workflow_node_execution_db_model,
outputs=workflow_node_execution.outputs,
workflow_execution_id=None,
user_id=account.id,
)
return workflow_node_execution_db_model
def run_datasource_workflow_node(
@@ -1339,6 +1347,12 @@ class RagPipelineService:
outputs=workflow_node_execution.outputs,
)
session.commit()
enqueue_draft_node_execution_trace(
execution=workflow_node_execution_db_model,
outputs=workflow_node_execution.outputs,
workflow_execution_id=None,
user_id=current_user.id,
)
return workflow_node_execution_db_model
def get_recommended_plugins(self, type: str) -> dict:
+8
View File
@@ -27,6 +27,7 @@ from core.workflow.node_runtime import DifyHumanInputNodeRuntime, apply_dify_deb
from core.workflow.system_variables import build_bootstrap_variables, build_system_variables, default_system_variables
from core.workflow.variable_pool_initializer import add_node_inputs_to_pool, add_variables_to_pool
from core.workflow.workflow_entry import WorkflowEntry
from enterprise.telemetry.draft_trace import enqueue_draft_node_execution_trace
from enums.cloud_plan import CloudPlan
from events.app_event import app_draft_workflow_was_synced, app_published_workflow_was_updated
from extensions.ext_database import db
@@ -849,6 +850,13 @@ class WorkflowService:
draft_var_saver.save(process_data=node_execution.process_data, outputs=outputs)
session.commit()
enqueue_draft_node_execution_trace(
execution=workflow_node_execution,
outputs=outputs,
workflow_execution_id=None,
user_id=account.id,
)
return workflow_node_execution
def get_human_input_form_preview(