MCPcopy Create free account
hub / github.com/AgentOps-AI/agentops / to_span

Method to_span

app/api/agentops/exporter/models.py:253–289  ·  view source on GitHub ↗

Convert an Agent to a Span

(
        self,
        trace_id: Optional[str] = None,
        parent_span_id: Optional[str] = None,
        project_id: Optional[str] = None,
    )

Source from the content-addressed store, hash-verified

251 logs: Optional[str] = None
252
253 async def to_span(
254 self,
255 trace_id: Optional[str] = None,
256 parent_span_id: Optional[str] = None,
257 project_id: Optional[str] = None,
258 ) -> Span:
259 """Convert an Agent to a Span"""
260 span_attributes = {
261 "agent.id": str(self.id),
262 "agent.name": self.name or "",
263 "session.id": str(self.session_id),
264 }
265
266 events = []
267 if self.logs:
268 events.append(
269 {
270 "timestamp": 0, # we don't have a timestamp
271 "name": "logs",
272 "attributes": {"log.message": self.logs},
273 }
274 )
275
276 return Span(
277 name=f"agent:{self.name}" if self.name else f"agent:{self.id}",
278 trace_id=trace_id,
279 span_id=str(self.id),
280 parent_span_id=parent_span_id,
281 kind=SpanKind.INTERNAL,
282 project_id=project_id,
283 service_name=DEFAULT_SERVICE_NAME,
284 scope_name=f"{DEFAULT_SCOPE_NAME}.agent",
285 scope_version=DEFAULT_VERSION,
286 resource_attributes={},
287 span_attributes=span_attributes,
288 events=events,
289 )
290
291
292class ActionEvent(BaseModel):

Callers 2

create_agentFunction · 0.95
get_session_as_traceFunction · 0.45

Calls 1

SpanClass · 0.70

Tested by

no test coverage detected