quraite 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. quraite/__init__.py +3 -0
  2. quraite/adapters/__init__.py +134 -0
  3. quraite/adapters/agno_adapter.py +159 -0
  4. quraite/adapters/base.py +123 -0
  5. quraite/adapters/bedrock_agents_adapter.py +343 -0
  6. quraite/adapters/flowise_adapter.py +275 -0
  7. quraite/adapters/google_adk_adapter.py +209 -0
  8. quraite/adapters/http_adapter.py +239 -0
  9. quraite/adapters/langflow_adapter.py +192 -0
  10. quraite/adapters/langgraph_adapter.py +304 -0
  11. quraite/adapters/langgraph_server_adapter.py +252 -0
  12. quraite/adapters/n8n_adapter.py +220 -0
  13. quraite/adapters/openai_agents_adapter.py +269 -0
  14. quraite/adapters/pydantic_ai_adapter.py +312 -0
  15. quraite/adapters/smolagents_adapter.py +152 -0
  16. quraite/logger.py +62 -0
  17. quraite/schema/__init__.py +0 -0
  18. quraite/schema/message.py +54 -0
  19. quraite/schema/response.py +16 -0
  20. quraite/serve/__init__.py +1 -0
  21. quraite/serve/cloudflared.py +210 -0
  22. quraite/serve/local_agent.py +360 -0
  23. quraite/traces/traces_adk_openinference.json +379 -0
  24. quraite/traces/traces_agno_multi_agent.json +669 -0
  25. quraite/traces/traces_agno_openinference.json +321 -0
  26. quraite/traces/traces_crewai_openinference.json +155 -0
  27. quraite/traces/traces_langgraph_openinference.json +349 -0
  28. quraite/traces/traces_langgraph_openinference_multi_agent.json +2705 -0
  29. quraite/traces/traces_langgraph_traceloop.json +510 -0
  30. quraite/traces/traces_openai_agents_multi_agent_1.json +402 -0
  31. quraite/traces/traces_openai_agents_openinference.json +341 -0
  32. quraite/traces/traces_pydantic_openinference.json +286 -0
  33. quraite/traces/traces_pydantic_openinference_multi_agent_1.json +399 -0
  34. quraite/traces/traces_pydantic_openinference_multi_agent_2.json +398 -0
  35. quraite/traces/traces_smol_agents_openinference.json +397 -0
  36. quraite/traces/traces_smol_agents_tool_calling_openinference.json +704 -0
  37. quraite/tracing/__init__.py +24 -0
  38. quraite/tracing/constants.py +16 -0
  39. quraite/tracing/span_exporter.py +115 -0
  40. quraite/tracing/span_processor.py +49 -0
  41. quraite/tracing/tool_extractors.py +290 -0
  42. quraite/tracing/trace.py +494 -0
  43. quraite/tracing/types.py +179 -0
  44. quraite/tracing/utils.py +170 -0
  45. quraite/utils/__init__.py +0 -0
  46. quraite/utils/json_utils.py +269 -0
  47. quraite-0.0.1.dist-info/METADATA +44 -0
  48. quraite-0.0.1.dist-info/RECORD +49 -0
  49. quraite-0.0.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,510 @@
1
+ [
2
+ {
3
+ "trace_id": "bfd65b73",
4
+ "spans": [
5
+ {
6
+ "name": "GET",
7
+ "context": {
8
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
9
+ "span_id": "0x054fc6f5e1daaef7",
10
+ "trace_state": "[]"
11
+ },
12
+ "kind": "SpanKind.CLIENT",
13
+ "parent_id": "0x1977a9cf2eb9b7da",
14
+ "start_time": "2025-11-25T12:29:55.228471Z",
15
+ "end_time": "2025-11-25T12:29:55.549673Z",
16
+ "status": {
17
+ "status_code": "UNSET"
18
+ },
19
+ "attributes": {
20
+ "http.method": "GET",
21
+ "http.url": "https://api.smith.langchain.com/info",
22
+ "http.status_code": 200
23
+ },
24
+ "events": [],
25
+ "links": [],
26
+ "resource": {
27
+ "attributes": {
28
+ "telemetry.sdk.language": "python",
29
+ "telemetry.sdk.name": "opentelemetry",
30
+ "telemetry.sdk.version": "1.38.0",
31
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
32
+ },
33
+ "schema_url": ""
34
+ }
35
+ },
36
+ {
37
+ "name": "POST",
38
+ "context": {
39
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
40
+ "span_id": "0x083521f7ea3fafa4",
41
+ "trace_state": "[]"
42
+ },
43
+ "kind": "SpanKind.CLIENT",
44
+ "parent_id": "0x1977a9cf2eb9b7da",
45
+ "start_time": "2025-11-25T12:29:55.602527Z",
46
+ "end_time": "2025-11-25T12:29:55.895524Z",
47
+ "status": {
48
+ "status_code": "UNSET"
49
+ },
50
+ "attributes": {
51
+ "http.method": "POST",
52
+ "http.url": "https://api.smith.langchain.com/runs/multipart",
53
+ "http.status_code": 202
54
+ },
55
+ "events": [],
56
+ "links": [],
57
+ "resource": {
58
+ "attributes": {
59
+ "telemetry.sdk.language": "python",
60
+ "telemetry.sdk.name": "opentelemetry",
61
+ "telemetry.sdk.version": "1.38.0",
62
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
63
+ },
64
+ "schema_url": ""
65
+ }
66
+ },
67
+ {
68
+ "name": "ChatGoogleGenerativeAI.chat",
69
+ "context": {
70
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
71
+ "span_id": "0x60bcb8c1682da795",
72
+ "trace_state": "[]"
73
+ },
74
+ "kind": "SpanKind.CLIENT",
75
+ "parent_id": "0xd9b2b710f638f3ac",
76
+ "start_time": "2025-11-25T12:29:55.245436Z",
77
+ "end_time": "2025-11-25T12:29:56.836210Z",
78
+ "status": {
79
+ "status_code": "UNSET"
80
+ },
81
+ "attributes": {
82
+ "traceloop.workflow.name": "calculator_agent",
83
+ "traceloop.entity.path": "model",
84
+ "traceloop.association.properties.langgraph_step": 1,
85
+ "traceloop.association.properties.langgraph_node": "model",
86
+ "traceloop.association.properties.langgraph_triggers": [
87
+ "branch:to:model"
88
+ ],
89
+ "traceloop.association.properties.langgraph_path": [
90
+ "__pregel_pull",
91
+ "model"
92
+ ],
93
+ "traceloop.association.properties.langgraph_checkpoint_ns": "model:c44088f3-20dd-57f0-41cb-cd361ead3373",
94
+ "traceloop.association.properties.checkpoint_ns": "model:c44088f3-20dd-57f0-41cb-cd361ead3373",
95
+ "traceloop.association.properties.ls_provider": "google_genai",
96
+ "traceloop.association.properties.ls_model_name": "gemini-2.5-flash",
97
+ "traceloop.association.properties.ls_model_type": "chat",
98
+ "traceloop.association.properties.ls_temperature": 0.7,
99
+ "gen_ai.system": "Google",
100
+ "llm.request.type": "chat",
101
+ "llm.request.functions.0.name": "add",
102
+ "llm.request.functions.0.description": "Add two numbers.",
103
+ "llm.request.functions.0.parameters": "{\"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}",
104
+ "llm.request.functions.1.name": "multiply",
105
+ "llm.request.functions.1.description": "Multiply two numbers.",
106
+ "llm.request.functions.1.parameters": "{\"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}",
107
+ "gen_ai.request.model": "models/gemini-2.5-flash",
108
+ "gen_ai.response.model": "models/gemini-2.5-flash",
109
+ "gen_ai.request.temperature": 0.7,
110
+ "gen_ai.prompt.0.role": "system",
111
+ "gen_ai.prompt.0.content": "You are a calculator agent.",
112
+ "gen_ai.prompt.1.role": "user",
113
+ "gen_ai.prompt.1.content": "what's the result of 1 + 1?",
114
+ "gen_ai.usage.input_tokens": 109,
115
+ "gen_ai.usage.output_tokens": 86,
116
+ "llm.usage.total_tokens": 195,
117
+ "gen_ai.usage.cache_read_input_tokens": 0,
118
+ "gen_ai.completion.0.finish_reason": "STOP",
119
+ "gen_ai.completion.0.role": "assistant",
120
+ "gen_ai.completion.0.tool_calls.0.id": "befb666d-f1a8-4d65-b2a8-10b84ce68ae6",
121
+ "gen_ai.completion.0.tool_calls.0.name": "add",
122
+ "gen_ai.completion.0.tool_calls.0.arguments": "{\"b\": 1, \"a\": 1}"
123
+ },
124
+ "events": [],
125
+ "links": [],
126
+ "resource": {
127
+ "attributes": {
128
+ "telemetry.sdk.language": "python",
129
+ "telemetry.sdk.name": "opentelemetry",
130
+ "telemetry.sdk.version": "1.38.0",
131
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
132
+ },
133
+ "schema_url": ""
134
+ }
135
+ },
136
+ {
137
+ "name": "model.task",
138
+ "context": {
139
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
140
+ "span_id": "0xd9b2b710f638f3ac",
141
+ "trace_state": "[]"
142
+ },
143
+ "kind": "SpanKind.INTERNAL",
144
+ "parent_id": "0x8c3b2c28c8cd7d4d",
145
+ "start_time": "2025-11-25T12:29:55.242985Z",
146
+ "end_time": "2025-11-25T12:29:56.836970Z",
147
+ "status": {
148
+ "status_code": "UNSET"
149
+ },
150
+ "attributes": {
151
+ "traceloop.workflow.name": "calculator_agent",
152
+ "traceloop.entity.path": "",
153
+ "traceloop.association.properties.langgraph_step": 1,
154
+ "traceloop.association.properties.langgraph_node": "model",
155
+ "traceloop.association.properties.langgraph_triggers": [
156
+ "branch:to:model"
157
+ ],
158
+ "traceloop.association.properties.langgraph_path": [
159
+ "__pregel_pull",
160
+ "model"
161
+ ],
162
+ "traceloop.association.properties.langgraph_checkpoint_ns": "model:c44088f3-20dd-57f0-41cb-cd361ead3373",
163
+ "traceloop.span.kind": "task",
164
+ "traceloop.entity.name": "model",
165
+ "traceloop.entity.input": "{\"inputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"HumanMessage\"], \"kwargs\": {\"content\": \"what's the result of 1 + 1?\", \"type\": \"human\", \"id\": \"37bb2e27-df01-405e-a7f5-4152c0769f09\"}}]}, \"tags\": [\"graph:step:1\"], \"metadata\": {\"langgraph_step\": 1, \"langgraph_node\": \"model\", \"langgraph_triggers\": [\"branch:to:model\"], \"langgraph_path\": [\"__pregel_pull\", \"model\"], \"langgraph_checkpoint_ns\": \"model:c44088f3-20dd-57f0-41cb-cd361ead3373\"}, \"kwargs\": {\"name\": \"model\"}}",
166
+ "traceloop.entity.output": "{\"outputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"\", \"additional_kwargs\": {\"function_call\": {\"name\": \"add\", \"arguments\": \"{\\\"b\\\": 1, \\\"a\\\": 1}\"}}, \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--8c49b666-e757-4a40-a0f2-9245d8f14143-0\", \"tool_calls\": [{\"name\": \"add\", \"args\": {\"b\": 1, \"a\": 1}, \"id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"type\": \"tool_call\"}], \"usage_metadata\": {\"input_tokens\": 109, \"output_tokens\": 86, \"total_tokens\": 195, \"input_token_details\": {\"cache_read\": 0}, \"output_token_details\": {\"reasoning\": 68}}, \"invalid_tool_calls\": []}}]}, \"kwargs\": {\"tags\": [\"graph:step:1\"]}}"
167
+ },
168
+ "events": [],
169
+ "links": [],
170
+ "resource": {
171
+ "attributes": {
172
+ "telemetry.sdk.language": "python",
173
+ "telemetry.sdk.name": "opentelemetry",
174
+ "telemetry.sdk.version": "1.38.0",
175
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
176
+ },
177
+ "schema_url": ""
178
+ }
179
+ },
180
+ {
181
+ "name": "custom_add",
182
+ "context": {
183
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
184
+ "span_id": "0x74a5cfd234062720",
185
+ "trace_state": "[]"
186
+ },
187
+ "kind": "SpanKind.INTERNAL",
188
+ "parent_id": "0xadfab182bec5121b",
189
+ "start_time": "2025-11-25T12:29:56.838434Z",
190
+ "end_time": "2025-11-25T12:29:56.838442Z",
191
+ "status": {
192
+ "status_code": "UNSET"
193
+ },
194
+ "attributes": {},
195
+ "events": [],
196
+ "links": [],
197
+ "resource": {
198
+ "attributes": {
199
+ "telemetry.sdk.language": "python",
200
+ "telemetry.sdk.name": "opentelemetry",
201
+ "telemetry.sdk.version": "1.38.0",
202
+ "service.name": "unknown_service"
203
+ },
204
+ "schema_url": ""
205
+ }
206
+ },
207
+ {
208
+ "name": "add.tool",
209
+ "context": {
210
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
211
+ "span_id": "0xadfab182bec5121b",
212
+ "trace_state": "[]"
213
+ },
214
+ "kind": "SpanKind.INTERNAL",
215
+ "parent_id": "0x15aafd75b4028939",
216
+ "start_time": "2025-11-25T12:29:56.838037Z",
217
+ "end_time": "2025-11-25T12:29:56.838521Z",
218
+ "status": {
219
+ "status_code": "UNSET"
220
+ },
221
+ "attributes": {
222
+ "traceloop.association.properties.langgraph_step": 2,
223
+ "traceloop.association.properties.langgraph_node": "tools",
224
+ "traceloop.association.properties.langgraph_triggers": [
225
+ "__pregel_push"
226
+ ],
227
+ "traceloop.association.properties.langgraph_path": [
228
+ "__pregel_push",
229
+ "0",
230
+ "False"
231
+ ],
232
+ "traceloop.association.properties.langgraph_checkpoint_ns": "tools:aba1af4a-ddea-4a50-1caa-4073c498ec47",
233
+ "traceloop.workflow.name": "calculator_agent",
234
+ "traceloop.entity.path": "tools",
235
+ "traceloop.span.kind": "tool",
236
+ "traceloop.entity.name": "add",
237
+ "traceloop.entity.input": "{\"input_str\": \"{'b': 1, 'a': 1}\", \"tags\": [\"seq:step:1\"], \"metadata\": {\"langgraph_step\": 2, \"langgraph_node\": \"tools\", \"langgraph_triggers\": [\"__pregel_push\"], \"langgraph_path\": [\"__pregel_push\", 0, false], \"langgraph_checkpoint_ns\": \"tools:aba1af4a-ddea-4a50-1caa-4073c498ec47\", \"checkpoint_ns\": \"tools:aba1af4a-ddea-4a50-1caa-4073c498ec47\"}, \"inputs\": {\"b\": 1, \"a\": 1}, \"kwargs\": {\"color\": \"green\", \"name\": null}}",
238
+ "traceloop.entity.output": "{\"output\": {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"ToolMessage\"], \"kwargs\": {\"content\": \"2.0\", \"type\": \"tool\", \"name\": \"add\", \"tool_call_id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"status\": \"success\"}}, \"kwargs\": {\"tags\": [\"seq:step:1\"], \"color\": \"green\", \"name\": \"add\"}}"
239
+ },
240
+ "events": [],
241
+ "links": [],
242
+ "resource": {
243
+ "attributes": {
244
+ "telemetry.sdk.language": "python",
245
+ "telemetry.sdk.name": "opentelemetry",
246
+ "telemetry.sdk.version": "1.38.0",
247
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
248
+ },
249
+ "schema_url": ""
250
+ }
251
+ },
252
+ {
253
+ "name": "tools.task",
254
+ "context": {
255
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
256
+ "span_id": "0x15aafd75b4028939",
257
+ "trace_state": "[]"
258
+ },
259
+ "kind": "SpanKind.INTERNAL",
260
+ "parent_id": "0x8c3b2c28c8cd7d4d",
261
+ "start_time": "2025-11-25T12:29:56.837455Z",
262
+ "end_time": "2025-11-25T12:29:56.838900Z",
263
+ "status": {
264
+ "status_code": "UNSET"
265
+ },
266
+ "attributes": {
267
+ "traceloop.workflow.name": "calculator_agent",
268
+ "traceloop.entity.path": "",
269
+ "traceloop.association.properties.langgraph_step": 2,
270
+ "traceloop.association.properties.langgraph_node": "tools",
271
+ "traceloop.association.properties.langgraph_triggers": [
272
+ "__pregel_push"
273
+ ],
274
+ "traceloop.association.properties.langgraph_path": [
275
+ "__pregel_push",
276
+ "0",
277
+ "False"
278
+ ],
279
+ "traceloop.association.properties.langgraph_checkpoint_ns": "tools:aba1af4a-ddea-4a50-1caa-4073c498ec47",
280
+ "traceloop.span.kind": "task",
281
+ "traceloop.entity.name": "tools",
282
+ "traceloop.entity.input": "{\"inputs\": {\"__type\": \"tool_call_with_context\", \"tool_call\": {\"name\": \"add\", \"args\": {\"b\": 1, \"a\": 1}, \"id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"type\": \"tool_call\"}, \"state\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"HumanMessage\"], \"kwargs\": {\"content\": \"what's the result of 1 + 1?\", \"type\": \"human\", \"id\": \"37bb2e27-df01-405e-a7f5-4152c0769f09\"}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"\", \"additional_kwargs\": {\"function_call\": {\"name\": \"add\", \"arguments\": \"{\\\"b\\\": 1, \\\"a\\\": 1}\"}}, \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--8c49b666-e757-4a40-a0f2-9245d8f14143-0\", \"tool_calls\": [{\"name\": \"add\", \"args\": {\"b\": 1, \"a\": 1}, \"id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"type\": \"tool_call\"}], \"usage_metadata\": {\"input_tokens\": 109, \"output_tokens\": 86, \"total_tokens\": 195, \"input_token_details\": {\"cache_read\": 0}, \"output_token_details\": {\"reasoning\": 68}}, \"invalid_tool_calls\": []}}]}}, \"tags\": [\"graph:step:2\"], \"metadata\": {\"langgraph_step\": 2, \"langgraph_node\": \"tools\", \"langgraph_triggers\": [\"__pregel_push\"], \"langgraph_path\": [\"__pregel_push\", 0, false], \"langgraph_checkpoint_ns\": \"tools:aba1af4a-ddea-4a50-1caa-4073c498ec47\"}, \"kwargs\": {\"name\": \"tools\"}}",
283
+ "traceloop.entity.output": "{\"outputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"ToolMessage\"], \"kwargs\": {\"content\": \"2.0\", \"type\": \"tool\", \"name\": \"add\", \"id\": \"df09e7ce-722a-44b7-9db5-989b75c9ebb0\", \"tool_call_id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"status\": \"success\"}}]}, \"kwargs\": {\"tags\": [\"graph:step:2\"]}}"
284
+ },
285
+ "events": [],
286
+ "links": [],
287
+ "resource": {
288
+ "attributes": {
289
+ "telemetry.sdk.language": "python",
290
+ "telemetry.sdk.name": "opentelemetry",
291
+ "telemetry.sdk.version": "1.38.0",
292
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
293
+ },
294
+ "schema_url": ""
295
+ }
296
+ },
297
+ {
298
+ "name": "POST",
299
+ "context": {
300
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
301
+ "span_id": "0xe8940c4677bee2a5",
302
+ "trace_state": "[]"
303
+ },
304
+ "kind": "SpanKind.CLIENT",
305
+ "parent_id": "0x1977a9cf2eb9b7da",
306
+ "start_time": "2025-11-25T12:29:57.376891Z",
307
+ "end_time": "2025-11-25T12:29:57.691483Z",
308
+ "status": {
309
+ "status_code": "UNSET"
310
+ },
311
+ "attributes": {
312
+ "http.method": "POST",
313
+ "http.url": "https://api.smith.langchain.com/runs/multipart",
314
+ "http.status_code": 202
315
+ },
316
+ "events": [],
317
+ "links": [],
318
+ "resource": {
319
+ "attributes": {
320
+ "telemetry.sdk.language": "python",
321
+ "telemetry.sdk.name": "opentelemetry",
322
+ "telemetry.sdk.version": "1.38.0",
323
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
324
+ },
325
+ "schema_url": ""
326
+ }
327
+ },
328
+ {
329
+ "name": "ChatGoogleGenerativeAI.chat",
330
+ "context": {
331
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
332
+ "span_id": "0xc0e30db3ef7a511e",
333
+ "trace_state": "[]"
334
+ },
335
+ "kind": "SpanKind.CLIENT",
336
+ "parent_id": "0x2c204bfe4c3e35e3",
337
+ "start_time": "2025-11-25T12:29:56.841146Z",
338
+ "end_time": "2025-11-25T12:29:57.943421Z",
339
+ "status": {
340
+ "status_code": "UNSET"
341
+ },
342
+ "attributes": {
343
+ "traceloop.workflow.name": "calculator_agent",
344
+ "traceloop.entity.path": "model",
345
+ "traceloop.association.properties.langgraph_step": 3,
346
+ "traceloop.association.properties.langgraph_node": "model",
347
+ "traceloop.association.properties.langgraph_triggers": [
348
+ "branch:to:model"
349
+ ],
350
+ "traceloop.association.properties.langgraph_path": [
351
+ "__pregel_pull",
352
+ "model"
353
+ ],
354
+ "traceloop.association.properties.langgraph_checkpoint_ns": "model:bffdc3ea-3fc8-e243-a9c3-99a872ffa30a",
355
+ "traceloop.association.properties.checkpoint_ns": "model:bffdc3ea-3fc8-e243-a9c3-99a872ffa30a",
356
+ "traceloop.association.properties.ls_provider": "google_genai",
357
+ "traceloop.association.properties.ls_model_name": "gemini-2.5-flash",
358
+ "traceloop.association.properties.ls_model_type": "chat",
359
+ "traceloop.association.properties.ls_temperature": 0.7,
360
+ "gen_ai.system": "Google",
361
+ "llm.request.type": "chat",
362
+ "llm.request.functions.0.name": "add",
363
+ "llm.request.functions.0.description": "Add two numbers.",
364
+ "llm.request.functions.0.parameters": "{\"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}",
365
+ "llm.request.functions.1.name": "multiply",
366
+ "llm.request.functions.1.description": "Multiply two numbers.",
367
+ "llm.request.functions.1.parameters": "{\"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}",
368
+ "gen_ai.request.model": "models/gemini-2.5-flash",
369
+ "gen_ai.response.model": "models/gemini-2.5-flash",
370
+ "gen_ai.request.temperature": 0.7,
371
+ "gen_ai.prompt.0.role": "system",
372
+ "gen_ai.prompt.0.content": "You are a calculator agent.",
373
+ "gen_ai.prompt.1.role": "user",
374
+ "gen_ai.prompt.1.content": "what's the result of 1 + 1?",
375
+ "gen_ai.prompt.2.role": "assistant",
376
+ "gen_ai.prompt.2.tool_calls.0.id": "befb666d-f1a8-4d65-b2a8-10b84ce68ae6",
377
+ "gen_ai.prompt.2.tool_calls.0.name": "add",
378
+ "gen_ai.prompt.2.tool_calls.0.arguments": "{\"b\": 1, \"a\": 1}",
379
+ "gen_ai.prompt.2.content": "",
380
+ "gen_ai.prompt.3.role": "tool",
381
+ "gen_ai.prompt.3.content": "2.0",
382
+ "gen_ai.prompt.3.tool_call_id": "befb666d-f1a8-4d65-b2a8-10b84ce68ae6",
383
+ "gen_ai.usage.input_tokens": 140,
384
+ "gen_ai.usage.output_tokens": 12,
385
+ "llm.usage.total_tokens": 152,
386
+ "gen_ai.usage.cache_read_input_tokens": 0,
387
+ "gen_ai.completion.0.role": "unknown",
388
+ "gen_ai.completion.0.content": "The result of 1 + 1 is 2.",
389
+ "gen_ai.completion.0.finish_reason": "STOP"
390
+ },
391
+ "events": [],
392
+ "links": [],
393
+ "resource": {
394
+ "attributes": {
395
+ "telemetry.sdk.language": "python",
396
+ "telemetry.sdk.name": "opentelemetry",
397
+ "telemetry.sdk.version": "1.38.0",
398
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
399
+ },
400
+ "schema_url": ""
401
+ }
402
+ },
403
+ {
404
+ "name": "model.task",
405
+ "context": {
406
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
407
+ "span_id": "0x2c204bfe4c3e35e3",
408
+ "trace_state": "[]"
409
+ },
410
+ "kind": "SpanKind.INTERNAL",
411
+ "parent_id": "0x8c3b2c28c8cd7d4d",
412
+ "start_time": "2025-11-25T12:29:56.839182Z",
413
+ "end_time": "2025-11-25T12:29:57.944004Z",
414
+ "status": {
415
+ "status_code": "UNSET"
416
+ },
417
+ "attributes": {
418
+ "traceloop.workflow.name": "calculator_agent",
419
+ "traceloop.entity.path": "",
420
+ "traceloop.association.properties.langgraph_step": 3,
421
+ "traceloop.association.properties.langgraph_node": "model",
422
+ "traceloop.association.properties.langgraph_triggers": [
423
+ "branch:to:model"
424
+ ],
425
+ "traceloop.association.properties.langgraph_path": [
426
+ "__pregel_pull",
427
+ "model"
428
+ ],
429
+ "traceloop.association.properties.langgraph_checkpoint_ns": "model:bffdc3ea-3fc8-e243-a9c3-99a872ffa30a",
430
+ "traceloop.span.kind": "task",
431
+ "traceloop.entity.name": "model",
432
+ "traceloop.entity.input": "{\"inputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"HumanMessage\"], \"kwargs\": {\"content\": \"what's the result of 1 + 1?\", \"type\": \"human\", \"id\": \"37bb2e27-df01-405e-a7f5-4152c0769f09\"}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"\", \"additional_kwargs\": {\"function_call\": {\"name\": \"add\", \"arguments\": \"{\\\"b\\\": 1, \\\"a\\\": 1}\"}}, \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--8c49b666-e757-4a40-a0f2-9245d8f14143-0\", \"tool_calls\": [{\"name\": \"add\", \"args\": {\"b\": 1, \"a\": 1}, \"id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"type\": \"tool_call\"}], \"usage_metadata\": {\"input_tokens\": 109, \"output_tokens\": 86, \"total_tokens\": 195, \"input_token_details\": {\"cache_read\": 0}, \"output_token_details\": {\"reasoning\": 68}}, \"invalid_tool_calls\": []}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"ToolMessage\"], \"kwargs\": {\"content\": \"2.0\", \"type\": \"tool\", \"name\": \"add\", \"id\": \"df09e7ce-722a-44b7-9db5-989b75c9ebb0\", \"tool_call_id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"status\": \"success\"}}]}, \"tags\": [\"graph:step:3\"], \"metadata\": {\"langgraph_step\": 3, \"langgraph_node\": \"model\", \"langgraph_triggers\": [\"branch:to:model\"], \"langgraph_path\": [\"__pregel_pull\", \"model\"], \"langgraph_checkpoint_ns\": \"model:bffdc3ea-3fc8-e243-a9c3-99a872ffa30a\"}, \"kwargs\": {\"name\": \"model\"}}",
433
+ "traceloop.entity.output": "{\"outputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"The result of 1 + 1 is 2.\", \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--6c59ed4e-f35a-4f36-93e8-fe133036c775-0\", \"usage_metadata\": {\"input_tokens\": 140, \"output_tokens\": 12, \"total_tokens\": 152, \"input_token_details\": {\"cache_read\": 0}}, \"tool_calls\": [], \"invalid_tool_calls\": []}}]}, \"kwargs\": {\"tags\": [\"graph:step:3\"]}}"
434
+ },
435
+ "events": [],
436
+ "links": [],
437
+ "resource": {
438
+ "attributes": {
439
+ "telemetry.sdk.language": "python",
440
+ "telemetry.sdk.name": "opentelemetry",
441
+ "telemetry.sdk.version": "1.38.0",
442
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
443
+ },
444
+ "schema_url": ""
445
+ }
446
+ },
447
+ {
448
+ "name": "calculator_agent.workflow",
449
+ "context": {
450
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
451
+ "span_id": "0x8c3b2c28c8cd7d4d",
452
+ "trace_state": "[]"
453
+ },
454
+ "kind": "SpanKind.INTERNAL",
455
+ "parent_id": "0x1977a9cf2eb9b7da",
456
+ "start_time": "2025-11-25T12:29:55.222666Z",
457
+ "end_time": "2025-11-25T12:29:57.944403Z",
458
+ "status": {
459
+ "status_code": "UNSET"
460
+ },
461
+ "attributes": {
462
+ "traceloop.workflow.name": "calculator_agent",
463
+ "traceloop.entity.path": "",
464
+ "traceloop.span.kind": "workflow",
465
+ "traceloop.entity.name": "calculator_agent",
466
+ "traceloop.entity.input": "{\"inputs\": {\"messages\": [{\"role\": \"user\", \"content\": \"what's the result of 1 + 1?\"}]}, \"tags\": [], \"metadata\": {}, \"kwargs\": {\"name\": \"calculator_agent\"}}",
467
+ "traceloop.entity.output": "{\"outputs\": {\"messages\": [{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"HumanMessage\"], \"kwargs\": {\"content\": \"what's the result of 1 + 1?\", \"type\": \"human\", \"id\": \"37bb2e27-df01-405e-a7f5-4152c0769f09\"}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"\", \"additional_kwargs\": {\"function_call\": {\"name\": \"add\", \"arguments\": \"{\\\"b\\\": 1, \\\"a\\\": 1}\"}}, \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--8c49b666-e757-4a40-a0f2-9245d8f14143-0\", \"tool_calls\": [{\"name\": \"add\", \"args\": {\"b\": 1, \"a\": 1}, \"id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"type\": \"tool_call\"}], \"usage_metadata\": {\"input_tokens\": 109, \"output_tokens\": 86, \"total_tokens\": 195, \"input_token_details\": {\"cache_read\": 0}, \"output_token_details\": {\"reasoning\": 68}}, \"invalid_tool_calls\": []}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"ToolMessage\"], \"kwargs\": {\"content\": \"2.0\", \"type\": \"tool\", \"name\": \"add\", \"id\": \"df09e7ce-722a-44b7-9db5-989b75c9ebb0\", \"tool_call_id\": \"befb666d-f1a8-4d65-b2a8-10b84ce68ae6\", \"status\": \"success\"}}, {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"The result of 1 + 1 is 2.\", \"response_metadata\": {\"prompt_feedback\": {\"block_reason\": 0, \"safety_ratings\": []}, \"finish_reason\": \"STOP\", \"model_name\": \"gemini-2.5-flash\", \"safety_ratings\": [], \"model_provider\": \"google_genai\"}, \"type\": \"ai\", \"id\": \"lc_run--6c59ed4e-f35a-4f36-93e8-fe133036c775-0\", \"usage_metadata\": {\"input_tokens\": 140, \"output_tokens\": 12, \"total_tokens\": 152, \"input_token_details\": {\"cache_read\": 0}}, \"tool_calls\": [], \"invalid_tool_calls\": []}}]}, \"kwargs\": {\"tags\": []}}"
468
+ },
469
+ "events": [],
470
+ "links": [],
471
+ "resource": {
472
+ "attributes": {
473
+ "telemetry.sdk.language": "python",
474
+ "telemetry.sdk.name": "opentelemetry",
475
+ "telemetry.sdk.version": "1.38.0",
476
+ "service.name": "/Users/shivmohith/learning/local-span-tracer-obs/.venv/lib/python3.13/site-packages/ipykernel_launcher.py"
477
+ },
478
+ "schema_url": ""
479
+ }
480
+ },
481
+ {
482
+ "name": "quraite/testcase-1",
483
+ "context": {
484
+ "trace_id": "0xbfd65b73da53f5224e7371038d752176",
485
+ "span_id": "0x1977a9cf2eb9b7da",
486
+ "trace_state": "[]"
487
+ },
488
+ "kind": "SpanKind.INTERNAL",
489
+ "parent_id": null,
490
+ "start_time": "2025-11-25T12:29:55.221874Z",
491
+ "end_time": "2025-11-25T12:29:57.944644Z",
492
+ "status": {
493
+ "status_code": "UNSET"
494
+ },
495
+ "attributes": {},
496
+ "events": [],
497
+ "links": [],
498
+ "resource": {
499
+ "attributes": {
500
+ "telemetry.sdk.language": "python",
501
+ "telemetry.sdk.name": "opentelemetry",
502
+ "telemetry.sdk.version": "1.38.0",
503
+ "service.name": "unknown_service"
504
+ },
505
+ "schema_url": ""
506
+ }
507
+ }
508
+ ]
509
+ }
510
+ ]