mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-02 07:42:40 +00:00
Emit task created (#875)
* Emit task created * Limit data to shared crews
This commit is contained in:
@@ -13,8 +13,7 @@ from pydantic_core import PydanticCustomError
|
|||||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||||
from crewai.tasks.task_output import TaskOutput
|
from crewai.tasks.task_output import TaskOutput
|
||||||
from crewai.telemetry.telemetry import Telemetry
|
from crewai.telemetry.telemetry import Telemetry
|
||||||
from crewai.utilities.converter import ConverterError
|
from crewai.utilities.converter import Converter, ConverterError
|
||||||
from crewai.utilities.converter import Converter
|
|
||||||
from crewai.utilities.i18n import I18N
|
from crewai.utilities.i18n import I18N
|
||||||
from crewai.utilities.printer import Printer
|
from crewai.utilities.printer import Printer
|
||||||
from crewai.utilities.pydantic_schema_parser import PydanticSchemaParser
|
from crewai.utilities.pydantic_schema_parser import PydanticSchemaParser
|
||||||
@@ -186,8 +185,6 @@ class Task(BaseModel):
|
|||||||
Output of the task.
|
Output of the task.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
self._execution_span = self._telemetry.task_started(self)
|
|
||||||
|
|
||||||
agent = agent or self.agent
|
agent = agent or self.agent
|
||||||
if not agent:
|
if not agent:
|
||||||
raise Exception(
|
raise Exception(
|
||||||
@@ -195,6 +192,8 @@ class Task(BaseModel):
|
|||||||
"and should be executed in a Crew using a specific process that support that, like hierarchical."
|
"and should be executed in a Crew using a specific process that support that, like hierarchical."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self._execution_span = self._telemetry.task_started(crew=agent.crew, task=self)
|
||||||
|
|
||||||
if self.context:
|
if self.context:
|
||||||
internal_context = []
|
internal_context = []
|
||||||
for task in self.context:
|
for task in self.context:
|
||||||
|
|||||||
@@ -156,14 +156,31 @@ class Telemetry:
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def task_started(self, task: Task) -> Span | None:
|
def task_started(self, crew: Crew, task: Task) -> Span | None:
|
||||||
"""Records task started in a crew."""
|
"""Records task started in a crew."""
|
||||||
if self.ready:
|
if self.ready:
|
||||||
try:
|
try:
|
||||||
tracer = trace.get_tracer("crewai.telemetry")
|
tracer = trace.get_tracer("crewai.telemetry")
|
||||||
span = tracer.start_span("Task Execution")
|
span = tracer.start_span("Task Execution")
|
||||||
|
|
||||||
|
created_span = tracer.start_span("Task Created")
|
||||||
|
|
||||||
|
self._add_attribute(created_span, "task_id", str(task.id))
|
||||||
|
|
||||||
|
if crew.share_crew:
|
||||||
|
self._add_attribute(
|
||||||
|
created_span, "formatted_description", task.description
|
||||||
|
)
|
||||||
|
self._add_attribute(
|
||||||
|
created_span, "formatted_expected_output", task.expected_output
|
||||||
|
)
|
||||||
|
|
||||||
|
created_span.set_status(Status(StatusCode.OK))
|
||||||
|
created_span.end()
|
||||||
|
|
||||||
self._add_attribute(span, "task_id", str(task.id))
|
self._add_attribute(span, "task_id", str(task.id))
|
||||||
|
|
||||||
|
if crew.share_crew:
|
||||||
self._add_attribute(span, "formatted_description", task.description)
|
self._add_attribute(span, "formatted_description", task.description)
|
||||||
self._add_attribute(
|
self._add_attribute(
|
||||||
span, "formatted_expected_output", task.expected_output
|
span, "formatted_expected_output", task.expected_output
|
||||||
|
|||||||
Reference in New Issue
Block a user