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