1from apify_client import ApifyClient
2
3
4
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7
8run_input = {
9 "traces": [{
10 "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
11 "spans": [
12 {
13 "span_id": "a1",
14 "service": "frontend",
15 "name": "GET /api/checkout",
16 "kind": "server",
17 "start_ms": 0,
18 "duration_ms": 2350,
19 "attributes": {
20 "http.request.method": "GET",
21 "http.route": "/api/checkout",
22 "http.response.status_code": 200,
23 },
24 },
25 {
26 "span_id": "b1",
27 "parent_span_id": "a1",
28 "service": "frontend",
29 "name": "POST /orders",
30 "kind": "client",
31 "start_ms": 12,
32 "duration_ms": 2323,
33 "attributes": {
34 "peer.service": "orders",
35 "http.response.status_code": 200,
36 },
37 },
38 {
39 "span_id": "c1",
40 "parent_span_id": "b1",
41 "service": "orders",
42 "name": "POST /orders",
43 "kind": "server",
44 "start_ms": 20,
45 "duration_ms": 2300,
46 },
47 {
48 "span_id": "c2",
49 "parent_span_id": "c1",
50 "service": "orders",
51 "name": "SELECT shop.customers",
52 "kind": "client",
53 "start_ms": 25,
54 "duration_ms": 12,
55 "attributes": {
56 "db.system.name": "postgresql",
57 "db.query.text": "SELECT * FROM customers WHERE id = 42",
58 },
59 },
60 {
61 "span_id": "i0",
62 "parent_span_id": "c1",
63 "service": "orders",
64 "name": "SELECT shop.order_items",
65 "kind": "client",
66 "start_ms": 40,
67 "duration_ms": 40,
68 "attributes": {
69 "db.system.name": "postgresql",
70 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9001",
71 },
72 },
73 {
74 "span_id": "i1",
75 "parent_span_id": "c1",
76 "service": "orders",
77 "name": "SELECT shop.order_items",
78 "kind": "client",
79 "start_ms": 82,
80 "duration_ms": 40,
81 "attributes": {
82 "db.system.name": "postgresql",
83 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9002",
84 },
85 },
86 {
87 "span_id": "i2",
88 "parent_span_id": "c1",
89 "service": "orders",
90 "name": "SELECT shop.order_items",
91 "kind": "client",
92 "start_ms": 124,
93 "duration_ms": 40,
94 "attributes": {
95 "db.system.name": "postgresql",
96 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9003",
97 },
98 },
99 {
100 "span_id": "i3",
101 "parent_span_id": "c1",
102 "service": "orders",
103 "name": "SELECT shop.order_items",
104 "kind": "client",
105 "start_ms": 166,
106 "duration_ms": 40,
107 "attributes": {
108 "db.system.name": "postgresql",
109 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9004",
110 },
111 },
112 {
113 "span_id": "i4",
114 "parent_span_id": "c1",
115 "service": "orders",
116 "name": "SELECT shop.order_items",
117 "kind": "client",
118 "start_ms": 208,
119 "duration_ms": 40,
120 "attributes": {
121 "db.system.name": "postgresql",
122 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9005",
123 },
124 },
125 {
126 "span_id": "i5",
127 "parent_span_id": "c1",
128 "service": "orders",
129 "name": "SELECT shop.order_items",
130 "kind": "client",
131 "start_ms": 250,
132 "duration_ms": 40,
133 "attributes": {
134 "db.system.name": "postgresql",
135 "db.query.text": "SELECT * FROM order_items WHERE order_id = 9006",
136 },
137 },
138 {
139 "span_id": "d1",
140 "parent_span_id": "c1",
141 "service": "orders",
142 "name": "SELECT shop.inventory",
143 "kind": "client",
144 "start_ms": 295,
145 "duration_ms": 1450,
146 "attributes": {
147 "db.system.name": "postgresql",
148 "db.query.text": "SELECT * FROM inventory WHERE lower(sku) = 'sku-123'",
149 },
150 },
151 {
152 "span_id": "e1",
153 "parent_span_id": "c1",
154 "service": "orders",
155 "name": "POST /charge",
156 "kind": "client",
157 "start_ms": 1750,
158 "duration_ms": 550,
159 "attributes": {
160 "peer.service": "payment",
161 "http.response.status_code": 200,
162 },
163 },
164 {
165 "span_id": "e2",
166 "parent_span_id": "e1",
167 "service": "payment",
168 "name": "POST /charge",
169 "kind": "server",
170 "start_ms": 1760,
171 "duration_ms": 530,
172 },
173 {
174 "span_id": "e3",
175 "parent_span_id": "e2",
176 "service": "payment",
177 "name": "POST /v1/charges",
178 "kind": "client",
179 "start_ms": 1770,
180 "duration_ms": 500,
181 "attributes": {
182 "server.address": "api.stripe.com",
183 "http.response.status_code": 200,
184 },
185 },
186 ],
187 }],
188 "latencySloMs": 1000,
189}
190
191
192run = client.actor("michiganpublictech/trace-root-cause-analyzer").call(run_input=run_input)
193
194
195print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
196for item in client.dataset(run.default_dataset_id).iterate_items():
197 print(item)
198
199