@tracepanel/js 0.5.0 → 0.6.0
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.
- package/README.md +221 -12
- package/dist/agent.d.ts +5 -1
- package/dist/agent.js +12 -3
- package/dist/agent.js.map +1 -1
- package/dist/aws.d.ts +27 -0
- package/dist/aws.js +368 -0
- package/dist/aws.js.map +1 -0
- package/dist/bun.js +6 -82
- package/dist/bun.js.map +1 -1
- package/dist/calls.d.ts +5 -0
- package/dist/calls.js +7 -0
- package/dist/calls.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/explain.d.ts +5 -0
- package/dist/explain.js +56 -7
- package/dist/explain.js.map +1 -1
- package/dist/fastify.d.ts +2 -0
- package/dist/fastify.js +100 -0
- package/dist/fastify.js.map +1 -0
- package/dist/frameworks.js +3 -0
- package/dist/frameworks.js.map +1 -1
- package/dist/hono.d.ts +2 -0
- package/dist/hono.js +63 -0
- package/dist/hono.js.map +1 -0
- package/dist/koa.d.ts +2 -0
- package/dist/koa.js +119 -0
- package/dist/koa.js.map +1 -0
- package/dist/llm.d.ts +20 -0
- package/dist/llm.js +632 -0
- package/dist/llm.js.map +1 -0
- package/dist/memory.d.ts +69 -0
- package/dist/memory.js +203 -0
- package/dist/memory.js.map +1 -0
- package/dist/model.d.ts +22 -1
- package/dist/model.js.map +1 -1
- package/dist/next.js +4 -4
- package/dist/next.js.map +1 -1
- package/dist/processor.d.ts +40 -4
- package/dist/processor.js +156 -29
- package/dist/processor.js.map +1 -1
- package/dist/profile.d.ts +34 -8
- package/dist/profile.js +98 -13
- package/dist/profile.js.map +1 -1
- package/dist/queries.d.ts +20 -0
- package/dist/queries.js +75 -0
- package/dist/queries.js.map +1 -0
- package/dist/respond.d.ts +12 -0
- package/dist/respond.js +85 -0
- package/dist/respond.js.map +1 -0
- package/dist/setup.js +22 -5
- package/dist/setup.js.map +1 -1
- package/dist/sql.d.ts +1 -0
- package/dist/sql.js +11 -2
- package/dist/sql.js.map +1 -1
- package/dist/sqlite.d.ts +13 -0
- package/dist/sqlite.js +291 -0
- package/dist/sqlite.js.map +1 -0
- package/dist/stack.d.ts +3 -1
- package/dist/stack.js +30 -6
- package/dist/stack.js.map +1 -1
- package/dist/testing.d.ts +128 -0
- package/dist/testing.js +362 -0
- package/dist/testing.js.map +1 -0
- package/dist/transactions.d.ts +11 -1
- package/dist/transactions.js +70 -34
- package/dist/transactions.js.map +1 -1
- package/dist/view.d.ts +17 -0
- package/dist/view.js +71 -0
- package/dist/view.js.map +1 -0
- package/dist/vitest-setup.d.ts +1 -0
- package/dist/vitest-setup.js +63 -0
- package/dist/vitest-setup.js.map +1 -0
- package/dist/vitest.d.ts +57 -0
- package/dist/vitest.js +130 -0
- package/dist/vitest.js.map +1 -0
- package/dist/widget.d.ts +16 -0
- package/dist/widget.js +33 -1
- package/dist/widget.js.map +1 -1
- package/package.json +69 -4
package/README.md
CHANGED
|
@@ -4,20 +4,50 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@tracepanel/js)
|
|
5
5
|
[](https://www.npmjs.com/package/@tracepanel/js)
|
|
6
6
|
|
|
7
|
-
**See what your app
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
console.
|
|
7
|
+
**See what your Node.js or Bun app is really doing.** Tracepanel records each
|
|
8
|
+
request and background job of your app with its SQL queries, Redis and
|
|
9
|
+
MongoDB commands, outgoing HTTP calls, logs and errors. It points out N+1
|
|
10
|
+
queries and calls, duplicates, slow SQL and slow HTTP calls, and names the
|
|
11
|
+
line of code to fix. You read it in a panel on your pages and in a console.
|
|
12
12
|
|
|
13
13
|
It runs while you develop, and everything stays on your machine.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
[](https://tracepanel.dev/video/demo-js.mp4)
|
|
16
|
+
|
|
17
|
+
▶ [Watch the 40-second demo](https://tracepanel.dev/video/demo-js.mp4)
|
|
18
|
+
|
|
19
|
+
## Works with
|
|
20
|
+
|
|
21
|
+
| | Supported |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| **Runtimes** | Node.js 20.19 and later, tested in CI on 20.19, 22, 24 and 26. Bun. |
|
|
24
|
+
| **Frameworks** | Express 4.18 and later, Fastify 5, Koa 3 with `@koa/router`, Hono 4.8 and later on Node and on Bun, NestJS on Express, Next.js in its Node.js runtime, Nuxt, and `Bun.serve`. On Bun also any fetch handler, such as Elysia's. Any other server on Node's `node:http` at the request level. |
|
|
25
|
+
| **Databases** | `pg` and `mysql2`, and so Drizzle, Knex, Sequelize, TypeORM and Prisma's driver adapters, with Prisma's operations as steps. SQLite through `better-sqlite3`, `node:sqlite` and `libsql`. Transactions and their savepoints. EXPLAIN on PostgreSQL, MySQL and SQLite. |
|
|
26
|
+
| **Redis and MongoDB** | `ioredis` and `redis`, and the MongoDB driver, with their own N+1 and duplicates. |
|
|
27
|
+
| **HTTP clients** | `fetch()`, and `node:http` clients such as axios, on Node and on Bun. |
|
|
28
|
+
| **AWS** | The AWS SDK's v3 clients (`@aws-sdk/client-*`): S3 as storage calls, DynamoDB commands with their N+1 and duplicates, SQS and SNS messages, and every other service's calls, with their errors and retries. |
|
|
29
|
+
| **LLMs** | OpenAI's and Anthropic's SDKs, and the AI SDK's OpenAI and Anthropic providers: each call's model, tokens, cost, time to the first chunk of a stream, and errors. |
|
|
30
|
+
| **Background jobs** | BullMQ: each job a worker runs is a task, each job the app adds a step, and the jobs in flight are listed live. |
|
|
31
|
+
| **Logs** | `console`, pino, winston and Nest's `Logger`, each line on the request or job that wrote it. |
|
|
32
|
+
| **Errors** | Thrown in a handler, with your frames, their source and, on Node, their local variables. |
|
|
33
|
+
| **Profiling** | Where a request's CPU time goes, and on request its memory and garbage collections, on Node. |
|
|
34
|
+
| **Tests** | Vitest 4.1 and later: a test fails when it makes an N+1 or duplicate queries. |
|
|
35
|
+
| **Browser** | The badge and its panel on server-rendered pages, in Next.js through `<Tracepanel />` and in an SPA through the Vite plugin. The pages' views and clicks with their `fetch()` calls, linked to the API's traces. |
|
|
36
|
+
|
|
37
|
+
The settings and what each integration records are in the
|
|
38
|
+
[JavaScript docs](https://tracepanel.dev/docs/javascript).
|
|
39
|
+
|
|
40
|
+
## Install
|
|
16
41
|
|
|
17
42
|
```bash
|
|
18
43
|
npm install @tracepanel/js
|
|
19
44
|
```
|
|
20
45
|
|
|
46
|
+
It brings the agent for your platform, `@tracepanel/agent`, which keeps the
|
|
47
|
+
traces and serves the console.
|
|
48
|
+
|
|
49
|
+
## Setup
|
|
50
|
+
|
|
21
51
|
Tracepanel is on unless `NODE_ENV` is `production`. `TRACEPANEL_ENABLED=0`
|
|
22
52
|
turns it off and `TRACEPANEL_ENABLED=1` turns it on. It starts its agent on
|
|
23
53
|
the first request. The agent keeps the traces in `.tracepanel/` in your
|
|
@@ -62,6 +92,85 @@ await import("./server.js");
|
|
|
62
92
|
|
|
63
93
|
The agent starts by itself either way, on the app's first request.
|
|
64
94
|
|
|
95
|
+
### Fastify
|
|
96
|
+
|
|
97
|
+
Load Tracepanel before the app as for Express, and register the plugin
|
|
98
|
+
before the routes, so it sees each one as it is added:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
node --import @tracepanel/js/register server.js
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```js
|
|
105
|
+
import Fastify from "fastify";
|
|
106
|
+
import { tracepanel } from "@tracepanel/js/fastify";
|
|
107
|
+
|
|
108
|
+
const app = Fastify();
|
|
109
|
+
await app.register(tracepanel());
|
|
110
|
+
app.get("/books/:id", async (request) => findBook(request.params.id));
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Each request is named by its route (`GET /books/:id`), and its handler is a
|
|
114
|
+
step of its own, with the line that added the route. HTML pages get the
|
|
115
|
+
badge, sent whole or streamed. An error Fastify answers with a 500 is the
|
|
116
|
+
request's error, with its local variables; one it answers below 500, such
|
|
117
|
+
as a validation error or a `statusCode: 404`, is the response.
|
|
118
|
+
|
|
119
|
+
### Koa
|
|
120
|
+
|
|
121
|
+
Load Tracepanel before the app as for Express, and add the middleware first:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
node --import @tracepanel/js/register server.js
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
```js
|
|
128
|
+
import Koa from "koa";
|
|
129
|
+
import Router from "@koa/router";
|
|
130
|
+
import { tracepanel } from "@tracepanel/js/koa";
|
|
131
|
+
|
|
132
|
+
const app = new Koa();
|
|
133
|
+
app.use(tracepanel());
|
|
134
|
+
const router = new Router();
|
|
135
|
+
router.get("/books/:id", async (ctx) => {
|
|
136
|
+
ctx.body = await findBook(ctx.params.id);
|
|
137
|
+
});
|
|
138
|
+
app.use(router.routes());
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Each `@koa/router` route's handler is a step named by its route, and so is
|
|
142
|
+
the request, nested routers' prefixes included. The badge goes on HTML pages,
|
|
143
|
+
and on the answer Koa gives an error. `ctx.throw(404)` is the response, not
|
|
144
|
+
an error.
|
|
145
|
+
|
|
146
|
+
### Hono
|
|
147
|
+
|
|
148
|
+
On Node, serve the app with `@hono/node-server`, load Tracepanel before it,
|
|
149
|
+
and add the middleware first:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
node --import @tracepanel/js/register server.js
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
```js
|
|
156
|
+
import { serve } from "@hono/node-server";
|
|
157
|
+
import { Hono } from "hono";
|
|
158
|
+
import { tracepanel } from "@tracepanel/js/hono";
|
|
159
|
+
|
|
160
|
+
const app = new Hono();
|
|
161
|
+
app.use(tracepanel());
|
|
162
|
+
app.get("/books/:id", async (c) => c.json(await findBook(c.req.param("id"))));
|
|
163
|
+
serve({ fetch: app.fetch });
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Each request is named by its route, a sub-app's base path included, and its
|
|
167
|
+
handler is a step of its own. HTML pages get the badge, and the request's
|
|
168
|
+
body goes into its trace as far as the handler read it. An `HTTPException`
|
|
169
|
+
below 500, or what `app.onError` answers below 500, is the response.
|
|
170
|
+
|
|
171
|
+
On Bun, add the same middleware and serve the app with `serve()` from
|
|
172
|
+
`@tracepanel/js/bun` (see Bun below), which puts the badge on the response.
|
|
173
|
+
|
|
65
174
|
### NestJS
|
|
66
175
|
|
|
67
176
|
Nest runs on Express: load Tracepanel the same way and add the same
|
|
@@ -155,7 +264,9 @@ badge on server-rendered pages, and records the errors h3 answers with a 500.
|
|
|
155
264
|
### Bun
|
|
156
265
|
|
|
157
266
|
`serve()` is `Bun.serve` with each route traced under its pattern, and
|
|
158
|
-
`withTracepanel()` wraps any fetch handler, such as
|
|
267
|
+
`withTracepanel()` wraps any fetch handler, such as Elysia's `handle`. A Hono
|
|
268
|
+
app is `serve({ fetch: app.fetch })`, with its `tracepanel()` middleware (see
|
|
269
|
+
Hono above) naming its routes:
|
|
159
270
|
|
|
160
271
|
```bash
|
|
161
272
|
bun --preload @tracepanel/js/register server.ts
|
|
@@ -223,6 +334,21 @@ console on the page's origin (`api`, `/__tracepanel__/` by default).
|
|
|
223
334
|
`ignoreSources` takes the path prefixes of scripts whose console isn't the
|
|
224
335
|
page's, such as a dev server's client.
|
|
225
336
|
|
|
337
|
+
## What it looks like
|
|
338
|
+
|
|
339
|
+
Each request shows its call tree, with the SQL queries, the calls and the
|
|
340
|
+
issues in it. Here a Next.js store on Postgres lists its products from
|
|
341
|
+
Swagger UI, and loads each product's category, brand and rating in a query of
|
|
342
|
+
its own:
|
|
343
|
+
|
|
344
|
+

|
|
345
|
+
|
|
346
|
+
The panel also lists what happened on the page: its view, each click, and the
|
|
347
|
+
requests it made with `fetch()`, here Swagger UI's Execute. Each issue names
|
|
348
|
+
the line that ran it and the fix:
|
|
349
|
+
|
|
350
|
+

|
|
351
|
+
|
|
226
352
|
## What it records
|
|
227
353
|
|
|
228
354
|
- HTTP requests, with the route and the handler that served them, and what
|
|
@@ -250,13 +376,16 @@ page's, such as a dev server's client.
|
|
|
250
376
|
- A form's POST that redirects to another page: the panel on that page
|
|
251
377
|
lists the POST before it.
|
|
252
378
|
- SQL from `pg` and `mysql2` (and so Drizzle, Knex, Sequelize, TypeORM and
|
|
253
|
-
Prisma's driver adapters),
|
|
379
|
+
Prisma's driver adapters), and from SQLite through `better-sqlite3`,
|
|
380
|
+
Node's `node:sqlite` and `libsql`, with the line of your code that ran each
|
|
254
381
|
statement. A statement no code of yours made, such as a session store's,
|
|
255
382
|
names the library code that asked for it, past the driver and the ORM;
|
|
256
383
|
so do Redis and MongoDB commands. Prisma's operations show as steps.
|
|
257
|
-
- Transactions: BEGIN … COMMIT (or ROLLBACK) on a `pg` client
|
|
258
|
-
connection
|
|
259
|
-
savepoints.
|
|
384
|
+
- Transactions: BEGIN … COMMIT (or ROLLBACK) on a `pg` client, a `mysql2`
|
|
385
|
+
connection or a SQLite database, and better-sqlite3's `db.transaction()`,
|
|
386
|
+
with its statements and the calls made inside it, and its savepoints.
|
|
387
|
+
- The console's EXPLAIN of a SQLite query (EXPLAIN QUERY PLAN) runs on the
|
|
388
|
+
app's own connection, so a database in memory has a plan too.
|
|
260
389
|
- Redis commands (`ioredis`, `redis`) and MongoDB commands, with their own
|
|
261
390
|
N+1 and duplicates.
|
|
262
391
|
- Outgoing HTTP calls: `fetch()`, and `node:http` clients such as axios, on
|
|
@@ -280,6 +409,19 @@ page's, such as a dev server's client.
|
|
|
280
409
|
every request at once, so a profile keeps the samples taken while its
|
|
281
410
|
request was the only one running, and counts the rest
|
|
282
411
|
(`tracepanel.dropped_samples`). Time spent waiting on I/O is not in it.
|
|
412
|
+
Every profile counts the garbage collector's runs and their pauses.
|
|
413
|
+
- A profile's memory too, when asked: `X-Tracepanel-Profile: memory`, the
|
|
414
|
+
`tracepanel_profile=memory` cookie (the panel's Profile toggle offers
|
|
415
|
+
it), or `TRACEPANEL_PROFILE_MEMORY=1`. V8's sampling heap profiler takes
|
|
416
|
+
about one allocation in every 32 KB with its stack: the profile shows the
|
|
417
|
+
heap's peak above where the request started, what V8 allocated in all
|
|
418
|
+
(on Node 26), and the 50 sites whose allocations still lived at its end.
|
|
419
|
+
The heap is the whole process's, so a request that ran beside others says
|
|
420
|
+
so. It costs: code runs about 15% slower while it is sampled, and reading
|
|
421
|
+
the sampler's profile makes V8 collect the whole heap once at the end of
|
|
422
|
+
each such request, after its response, which stops the process for a few
|
|
423
|
+
milliseconds on a small heap and over 100 ms on a heap of a few hundred
|
|
424
|
+
MB. Leave it off when you measure time. Not on Bun.
|
|
283
425
|
- The caller's trace, when a request carries a W3C `traceparent`: the agent
|
|
284
426
|
links the two.
|
|
285
427
|
|
|
@@ -298,6 +440,65 @@ request it is a step. `span()` is a step of the current trace. Outside
|
|
|
298
440
|
development they run the function and nothing else. Run a script with
|
|
299
441
|
`npx tracepanel run node script.js`.
|
|
300
442
|
|
|
443
|
+
## In tests
|
|
444
|
+
|
|
445
|
+
The Vitest plugin turns what Tracepanel finds into test failures, so an N+1
|
|
446
|
+
query fails CI before it reaches production. Add it to the Vitest config:
|
|
447
|
+
|
|
448
|
+
```ts
|
|
449
|
+
// vitest.config.ts
|
|
450
|
+
import { defineConfig } from "vitest/config";
|
|
451
|
+
import { tracepanel } from "@tracepanel/js/vitest";
|
|
452
|
+
|
|
453
|
+
export default defineConfig({
|
|
454
|
+
plugins: [tracepanel()], // or tracepanel({ failOn: ["n+1", "duplicates", "slow-sql"] })
|
|
455
|
+
});
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
Each test runs as a trace named after the test, with its queries in it. A
|
|
459
|
+
request the test makes of a server it started (supertest, `fetch()`) is a
|
|
460
|
+
trace of its own, linked to the test's in the console. Work in `beforeAll` is
|
|
461
|
+
outside every test's trace; `beforeEach` and `afterEach` run inside it.
|
|
462
|
+
|
|
463
|
+
When the test passes, the agent looks at its traces. An issue of a kind in
|
|
464
|
+
`failOn` (`n+1` and `duplicates` by default) fails the test with the issue,
|
|
465
|
+
its query, the line of code that ran it and a link to the trace:
|
|
466
|
+
|
|
467
|
+
```text
|
|
468
|
+
AssertionError: tracepanel found 1 issue in this test:
|
|
469
|
+
|
|
470
|
+
N+1: 4 similar queries · SELECT authors
|
|
471
|
+
SELECT name FROM authors WHERE id = $1
|
|
472
|
+
at src/books.ts:28 in listBooks
|
|
473
|
+
in GET /books → http://127.0.0.1:52068/#/t/01M60NB74Q6T9AXZGMFJ7V8FB1
|
|
474
|
+
Load the related rows with the parent rows (a join, or one batched query) instead of one query per row.
|
|
475
|
+
|
|
476
|
+
The test's trace: http://127.0.0.1:52068/#/t/01M60NB74J4Q5VDHCJD1Z4T1J7
|
|
477
|
+
Allowed here with the test's option { meta: { tracepanel: { allow: ["n+1"] } } }.
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
The `tracepanel` meta changes the rules for a test or a `describe()`, and
|
|
481
|
+
`testTrace()` and `maxQueries()` count queries inside the test:
|
|
482
|
+
|
|
483
|
+
```ts
|
|
484
|
+
import { maxQueries, testTrace } from "@tracepanel/js/vitest";
|
|
485
|
+
|
|
486
|
+
test("feed", { meta: { tracepanel: { maxQueries: 10, allow: ["n+1"] } } }, async () => {
|
|
487
|
+
await request(app).get("/feed");
|
|
488
|
+
expect(testTrace().queries).toBeLessThanOrEqual(10);
|
|
489
|
+
await maxQueries(2, () => request(app).get("/feed?page=2"));
|
|
490
|
+
});
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
`failOn` replaces the kinds that fail the test, `allow` takes kinds out of
|
|
494
|
+
them, and `maxQueries` caps the queries of the test and its requests.
|
|
495
|
+
`await testTrace().issues()` lists what the agent found in the test's
|
|
496
|
+
requests so far.
|
|
497
|
+
|
|
498
|
+
The plugin starts the project's agent when none is running. Without an agent
|
|
499
|
+
(`TRACEPANEL_AGENT=off`) the tests run without findings, and one warning says
|
|
500
|
+
so. Query counts need no agent.
|
|
501
|
+
|
|
301
502
|
## The signed-in user
|
|
302
503
|
|
|
303
504
|
```js
|
|
@@ -330,9 +531,11 @@ Environment variables, as in the Python SDK:
|
|
|
330
531
|
| `TRACEPANEL_LONG_TRANSACTION_MS` | `500` | a long transaction |
|
|
331
532
|
| `TRACEPANEL_QUEUE_WAIT_MS` | `1000` | a task that waited long for a worker |
|
|
332
533
|
| `TRACEPANEL_LARGE_RESULT_ROWS` | `1000` | a query without a LIMIT that read too many rows |
|
|
534
|
+
| `TRACEPANEL_WIDGET` | on (off in tests) | `0` leaves the app's HTML pages without the widget's script |
|
|
333
535
|
| `TRACEPANEL_CAPTURE_REQUEST` | on | `0` stops keeping each request's headers, query, cookies and body |
|
|
334
536
|
| `TRACEPANEL_CAPTURE_LOCALS` | on | `0` stops reading an error's local variables |
|
|
335
537
|
| `TRACEPANEL_PROFILE` | off | `1` profiles every trace, not only a request that asks |
|
|
538
|
+
| `TRACEPANEL_PROFILE_MEMORY` | off | `1` profiles every profiled trace's memory too |
|
|
336
539
|
| `TRACEPANEL_PROFILE_ENABLED` | on | `0` profiles nothing, and the console offers no Profile toggle |
|
|
337
540
|
| `TRACEPANEL_PROFILE_INTERVAL_MS` | `1` | how often a profiled trace is sampled |
|
|
338
541
|
|
|
@@ -352,9 +555,15 @@ installing, the integrations, the browser recording, settings and the command
|
|
|
352
555
|
line. The panel, the console and the issues are the same in every framework,
|
|
353
556
|
under [tracepanel.dev/docs](https://tracepanel.dev/docs).
|
|
354
557
|
|
|
558
|
+
## Links
|
|
559
|
+
|
|
560
|
+
- [tracepanel](https://github.com/tracepanel/tracepanel): what Tracepanel finds,
|
|
561
|
+
how it works, privacy, and the agent this package installs
|
|
562
|
+
- [CHANGELOG.md](CHANGELOG.md): what changed in each version
|
|
563
|
+
|
|
355
564
|
## License
|
|
356
565
|
|
|
357
566
|
Licensed under the [MIT License](LICENSE). The agent npm installs with it,
|
|
358
|
-
`@tracepanel/agent`, is under the
|
|
567
|
+
`@tracepanel/agent`, is free to use under the
|
|
359
568
|
[FSL-1.1-ALv2](https://github.com/tracepanel/tracepanel/blob/main/LICENSE):
|
|
360
569
|
source available, and Apache-2.0 two years after each release.
|
package/dist/agent.d.ts
CHANGED
|
@@ -32,7 +32,9 @@ export declare function sends(name: string): void;
|
|
|
32
32
|
/**
|
|
33
33
|
* The first line to the agent: it finds the issues with this project's limits. What the app offers the console, said
|
|
34
34
|
* here only: it can EXPLAIN a query on its database, its traces hold what each request carried while that is kept,
|
|
35
|
-
* and a request that asks is profiled while profiling is on (the console's Profile toggle shows then)
|
|
35
|
+
* and a request that asks is profiled while profiling is on (the console's Profile toggle shows then), every trace
|
|
36
|
+
* when TRACEPANEL_PROFILE=1 says so (`profile_all`: the toggle shows on), with its memory when a request asks on Node
|
|
37
|
+
* (`profile_memory`), every profiled trace's when TRACEPANEL_PROFILE_MEMORY=1 (`profile_memory_all`); and what it
|
|
36
38
|
* sends besides traces (`live_tasks`).
|
|
37
39
|
*/
|
|
38
40
|
export declare function hello(config: Config): Record<string, unknown>;
|
|
@@ -54,6 +56,8 @@ export declare class Sender {
|
|
|
54
56
|
private said;
|
|
55
57
|
constructor(config: Config, starter: Starter);
|
|
56
58
|
submit(trace: Trace): void;
|
|
59
|
+
/** Sends what is queued now, not with the next batch: a test's traces, whose issues the test waits for. */
|
|
60
|
+
flushNow(): void;
|
|
57
61
|
/** A task event, sent with the next batch: not counted with the traces, and dropped while no agent answers. */
|
|
58
62
|
submitEvent(event: TaskEvent): void;
|
|
59
63
|
private flushSoon;
|
package/dist/agent.js
CHANGED
|
@@ -8,7 +8,7 @@ import { createRequire } from "node:module";
|
|
|
8
8
|
import { connect } from "node:net";
|
|
9
9
|
import { join } from "node:path";
|
|
10
10
|
import { explain } from "./explain.js";
|
|
11
|
-
import { available as canProfile } from "./profile.js";
|
|
11
|
+
import { available as canProfile, memoryProfiling } from "./profile.js";
|
|
12
12
|
const PROTOCOL = 1;
|
|
13
13
|
const QUEUE_SIZE = 1000;
|
|
14
14
|
const BATCH_SIZE = 50;
|
|
@@ -134,7 +134,9 @@ export function sends(name) {
|
|
|
134
134
|
/**
|
|
135
135
|
* The first line to the agent: it finds the issues with this project's limits. What the app offers the console, said
|
|
136
136
|
* here only: it can EXPLAIN a query on its database, its traces hold what each request carried while that is kept,
|
|
137
|
-
* and a request that asks is profiled while profiling is on (the console's Profile toggle shows then)
|
|
137
|
+
* and a request that asks is profiled while profiling is on (the console's Profile toggle shows then), every trace
|
|
138
|
+
* when TRACEPANEL_PROFILE=1 says so (`profile_all`: the toggle shows on), with its memory when a request asks on Node
|
|
139
|
+
* (`profile_memory`), every profiled trace's when TRACEPANEL_PROFILE_MEMORY=1 (`profile_memory_all`); and what it
|
|
138
140
|
* sends besides traces (`live_tasks`).
|
|
139
141
|
*/
|
|
140
142
|
export function hello(config) {
|
|
@@ -146,7 +148,10 @@ export function hello(config) {
|
|
|
146
148
|
capabilities: [
|
|
147
149
|
"explain",
|
|
148
150
|
...(config.captureRequest ? ["request"] : []),
|
|
149
|
-
...(config.profileEnabled && canProfile() ? ["profile"] : []),
|
|
151
|
+
...(config.profileEnabled && canProfile() ? ["profile", ...(config.profile ? ["profile_all"] : [])] : []),
|
|
152
|
+
...(config.profileEnabled && memoryProfiling()
|
|
153
|
+
? ["profile_memory", ...(config.profileMemory ? ["profile_memory_all"] : [])]
|
|
154
|
+
: []),
|
|
150
155
|
...[...SENDS].sort(),
|
|
151
156
|
],
|
|
152
157
|
};
|
|
@@ -180,6 +185,10 @@ export class Sender {
|
|
|
180
185
|
else
|
|
181
186
|
this.flushSoon(BATCH_WAIT_MS);
|
|
182
187
|
}
|
|
188
|
+
/** Sends what is queued now, not with the next batch: a test's traces, whose issues the test waits for. */
|
|
189
|
+
flushNow() {
|
|
190
|
+
this.flushSoon(0);
|
|
191
|
+
}
|
|
183
192
|
/** A task event, sent with the next batch: not counted with the traces, and dropped while no agent answers. */
|
|
184
193
|
submitEvent(event) {
|
|
185
194
|
if (this.events.length >= QUEUE_SIZE)
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,oHAAoH;AACpH,kHAAkH;AAClH,uFAAuF;AAEvF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAe,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAuB,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,WAAW,GAAG,MAAM,CAAC;AAC3B,mHAAmH;AACnH,mDAAmD;AACnD,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,wHAAwH;AACxH,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC3C,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC3C,OAAO,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC;AACpC,CAAC;AAED,iGAAiG;AACjG,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAA6B,CAAC;QAC9F,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,OAAe;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,4GAA4G;AAC5G,MAAM,OAAO,OAAO;IAGW,QAAQ;IAF7B,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAE5C,YAA6B,QAAgB;wBAAhB,QAAQ;IAAW,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1E,IAAI,IAAI;YAAE,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK;QACX,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC1G,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;aAC5B,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/E,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,oGAAoG;YACpG,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,+BAA+B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7G,CAAC;CACF;AAED,uHAAuH;AACvH,MAAM,OAAO,UAAU;IAIQ,QAAQ;IAH7B,GAAG,GAAG,EAAE,CAAC;IACT,OAAO,GAAG,CAAC,CAAC;IAEpB,YAA6B,QAAgB;wBAAhB,QAAQ;IAAW,CAAC;IAEjD,8GAA8G;IAC9G,GAAG,CAAC,KAAK,GAAG,KAAK;QACf,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC;QAChF,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF;AAQD,oHAAoH;AACpH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;AAEhC,kEAAkE;AAClE,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc;IAClC,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE;YACZ,SAAS;YACT,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,eAAe,EAAE;gBAC5C,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE;SACrB;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,MAAM;IAYE,MAAM;IACN,OAAO;IAZlB,KAAK,GAAY,EAAE,CAAC;IACpB,MAAM,GAAgB,EAAE,CAAC;IACzB,KAAK,CAA6B;IAClC,MAAM,CAAqB;IAC3B,UAAU,CAA0C;IACpD,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,KAAK,CAAC;IACvB,oHAAoH;IAC5G,IAAI,GAAG,EAAE,CAAC;IAElB,YACmB,MAAc,EACd,OAAgB;sBADhB,MAAM;uBACN,OAAO;IACvB,CAAC;IAEJ,MAAM,CAAC,KAAY;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;YAClD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,2GAA2G;IAC3G,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,+GAA+G;IAC/G,WAAW,CAAC,KAAgB;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;YACnD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO;QACpC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,yFAAyF;YACzF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC9D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5G,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0EAA0E;IAClE,SAAS,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,MAAM,CAAC,KAAa;gBAC7C,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,CAAC;oBAAE,OAAO;gBACxB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAoC,CAAC;gBAC5G,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;oBACb,yGAAyG;oBACzG,kDAAkD;oBAClD,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC9F,IAAI,CAAC,MAAM,CAAC,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,sBAAsB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC1C,IAAI,EAAE,CAAC;gBACT,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,kEAAkE;AAClE,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,4DAA4D;AAC5D,SAAS,UAAU,CAAC,MAAc,EAAE,OAAgB;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AASD,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,OAAsC;IACvF,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE;QAC7B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9D,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;YAClE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,CAAC,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,OAAqB;IACzD,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO;IAC7B,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/aws.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AwsInstrumentation } from "@opentelemetry/instrumentation-aws-sdk";
|
|
2
|
+
import type { Attrs } from "./model.js";
|
|
3
|
+
/** The kind of the span a call to AWS is: what it does for the app. */
|
|
4
|
+
export declare const KIND = "tracepanel.aws.kind";
|
|
5
|
+
/** What a call works on (`bucket/key`, a table, a queue): the end of its span's name. */
|
|
6
|
+
export declare const TARGET = "tracepanel.aws.target";
|
|
7
|
+
/** A service's id as AWS writes it in its SDKs: `S3`, `DynamoDB`, `Secrets Manager`. */
|
|
8
|
+
export declare function serviceId(name: string): string;
|
|
9
|
+
type Input = Record<string, unknown>;
|
|
10
|
+
/** JSON as the Python SDK writes a request's shape: `{"TableName": "users", "Key": {"id": "?"}}`. */
|
|
11
|
+
export declare function spacedJson(value: unknown): string;
|
|
12
|
+
/** The span's kind and what the call works on, from the command the app sent. */
|
|
13
|
+
export declare function described(service: string, operation: string, input: Input): Attrs;
|
|
14
|
+
/** What the operation returned: an object's size, the items a query got, the message's id. */
|
|
15
|
+
export declare function answered(service: string, data: Record<string, unknown> | undefined): Attrs;
|
|
16
|
+
/** A failed call's error code (`NoSuchKey`, `ConditionalCheckFailedException`), and the SDK's retries. */
|
|
17
|
+
export declare function failed(error: unknown): Attrs;
|
|
18
|
+
/** OpenTelemetry's AWS SDK instrumentation, its spans carrying what the agent analyzes a call by. */
|
|
19
|
+
export declare function awsInstrumentation(): AwsInstrumentation;
|
|
20
|
+
export declare function isAws(attrs: Attrs): boolean;
|
|
21
|
+
/** A call to AWS as the agent reads it: `S3 GetObject avatars/1.png`, its kind and its attributes. */
|
|
22
|
+
export declare function awsCall(attrs: Attrs): {
|
|
23
|
+
kind: string;
|
|
24
|
+
name: string;
|
|
25
|
+
attrs: Attrs;
|
|
26
|
+
};
|
|
27
|
+
export {};
|