@typescript/native-preview 7.0.0-dev.20260701.1 → 7.0.0-dev.20260703.1
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/dist/api/async/api.d.ts +51 -20
- package/dist/api/async/api.d.ts.map +1 -1
- package/dist/api/async/api.js +155 -109
- package/dist/api/async/api.js.map +1 -1
- package/dist/api/async/client.d.ts +17 -0
- package/dist/api/async/client.d.ts.map +1 -1
- package/dist/api/async/client.js +72 -1
- package/dist/api/async/client.js.map +1 -1
- package/dist/api/compilerOptions.d.ts +109 -0
- package/dist/api/compilerOptions.d.ts.map +1 -0
- package/dist/api/compilerOptions.js +2 -0
- package/dist/api/compilerOptions.js.map +1 -0
- package/dist/api/node/node.d.ts +3 -1
- package/dist/api/node/node.d.ts.map +1 -1
- package/dist/api/node/node.generated.d.ts.map +1 -1
- package/dist/api/node/node.generated.js +7 -4
- package/dist/api/node/node.generated.js.map +1 -1
- package/dist/api/node/node.infrastructure.d.ts +8 -0
- package/dist/api/node/node.infrastructure.d.ts.map +1 -1
- package/dist/api/node/node.infrastructure.js.map +1 -1
- package/dist/api/node/node.js +7 -1
- package/dist/api/node/node.js.map +1 -1
- package/dist/api/options.d.ts +8 -0
- package/dist/api/options.d.ts.map +1 -1
- package/dist/api/options.js.map +1 -1
- package/dist/api/proto.d.ts +11 -3
- package/dist/api/proto.d.ts.map +1 -1
- package/dist/api/proto.js.map +1 -1
- package/dist/api/sync/api.d.ts +51 -20
- package/dist/api/sync/api.d.ts.map +1 -1
- package/dist/api/sync/api.js +155 -109
- package/dist/api/sync/api.js.map +1 -1
- package/dist/api/sync/client.d.ts +17 -0
- package/dist/api/sync/client.d.ts.map +1 -1
- package/dist/api/sync/client.js +53 -1
- package/dist/api/sync/client.js.map +1 -1
- package/dist/api/syncChannel.d.ts +4 -1
- package/dist/api/syncChannel.d.ts.map +1 -1
- package/dist/api/syncChannel.js +21 -1
- package/dist/api/syncChannel.js.map +1 -1
- package/dist/api/timing.d.ts +175 -0
- package/dist/api/timing.d.ts.map +1 -0
- package/dist/api/timing.js +149 -0
- package/dist/api/timing.js.map +1 -0
- package/dist/ast/ast.d.ts +4 -1
- package/dist/ast/ast.d.ts.map +1 -1
- package/dist/ast/ast.generated.d.ts +2 -2
- package/dist/ast/ast.generated.d.ts.map +1 -1
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/index.d.ts +1 -0
- package/dist/ast/index.d.ts.map +1 -1
- package/dist/ast/index.js +1 -0
- package/dist/ast/index.js.map +1 -1
- package/dist/ast/is.d.ts +2 -1
- package/dist/ast/is.d.ts.map +1 -1
- package/dist/ast/is.generated.d.ts +1 -2
- package/dist/ast/is.generated.d.ts.map +1 -1
- package/dist/ast/is.generated.js +0 -4
- package/dist/ast/is.generated.js.map +1 -1
- package/dist/ast/is.js +8 -1
- package/dist/ast/is.js.map +1 -1
- package/dist/ast/jsdoc.d.ts +11 -0
- package/dist/ast/jsdoc.d.ts.map +1 -0
- package/dist/ast/jsdoc.js +202 -0
- package/dist/ast/jsdoc.js.map +1 -0
- package/dist/enums/jsxEmit.d.ts +2 -0
- package/dist/enums/jsxEmit.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.d.ts +9 -0
- package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.js +11 -0
- package/dist/enums/jsxEmit.enum.js.map +1 -0
- package/dist/enums/jsxEmit.js +11 -0
- package/dist/enums/jsxEmit.js.map +1 -0
- package/dist/enums/moduleDetectionKind.d.ts +2 -0
- package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.js +9 -0
- package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
- package/dist/enums/moduleDetectionKind.js +9 -0
- package/dist/enums/moduleDetectionKind.js.map +1 -0
- package/dist/enums/moduleResolutionKind.d.ts +2 -0
- package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.js +11 -0
- package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
- package/dist/enums/moduleResolutionKind.js +11 -0
- package/dist/enums/moduleResolutionKind.js.map +1 -0
- package/dist/enums/newLineKind.d.ts +2 -0
- package/dist/enums/newLineKind.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.d.ts +6 -0
- package/dist/enums/newLineKind.enum.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.js +8 -0
- package/dist/enums/newLineKind.enum.js.map +1 -0
- package/dist/enums/newLineKind.js +8 -0
- package/dist/enums/newLineKind.js.map +1 -0
- package/dist/internal/utils.d.ts +23 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +25 -0
- package/dist/internal/utils.js.map +1 -0
- package/package.json +9 -9
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side collection of per-request timing and transfer measurements.
|
|
3
|
+
*
|
|
4
|
+
* When enabled, each request records its round-trip latency and the number of
|
|
5
|
+
* payload bytes sent and received, accumulated into running totals and a
|
|
6
|
+
* fixed-size ring buffer of the most recent requests.
|
|
7
|
+
*
|
|
8
|
+
* The server measures its own per-request processing time independently. When a
|
|
9
|
+
* timing snapshot is requested, the client fetches the server's collection via
|
|
10
|
+
* a `getServerTiming` request and folds it into the returned {@link TimingInfo},
|
|
11
|
+
* yielding per-request and total server processing time and an estimated
|
|
12
|
+
* transport overhead (round-trip minus server processing time). Normal response
|
|
13
|
+
* messages are left unchanged.
|
|
14
|
+
*/
|
|
15
|
+
/** Number of most-recent requests retained in the ring buffer. */
|
|
16
|
+
export declare const RECENT_REQUEST_CAPACITY = 5;
|
|
17
|
+
/** A single request's measured timing and transfer sample. */
|
|
18
|
+
export interface RequestTiming {
|
|
19
|
+
/** The API method that was invoked. */
|
|
20
|
+
method: string;
|
|
21
|
+
/** Wall-clock round-trip time measured by the client, in milliseconds. */
|
|
22
|
+
roundTripMs: number;
|
|
23
|
+
/** Number of request payload bytes sent to the server. */
|
|
24
|
+
bytesSent: number;
|
|
25
|
+
/** Number of response payload bytes received from the server. */
|
|
26
|
+
bytesReceived: number;
|
|
27
|
+
/** Wall-clock timestamp ({@link Date.now}) captured when the request completed. */
|
|
28
|
+
timestamp: number;
|
|
29
|
+
/**
|
|
30
|
+
* Server-side processing time for this request, in milliseconds, as folded
|
|
31
|
+
* in from the server's own timing collection. Undefined when server timing
|
|
32
|
+
* for the request could not be matched.
|
|
33
|
+
*/
|
|
34
|
+
serverTimeMs?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Estimated transport overhead for this request, in milliseconds
|
|
37
|
+
* (`roundTripMs - serverTimeMs`, clamped to be non-negative). Present
|
|
38
|
+
* exactly when {@link serverTimeMs} is.
|
|
39
|
+
*/
|
|
40
|
+
transportOverheadMs?: number;
|
|
41
|
+
}
|
|
42
|
+
/** Running totals accumulated across every measured request. */
|
|
43
|
+
export interface TimingAccumulators {
|
|
44
|
+
/** Number of requests measured. */
|
|
45
|
+
requestCount: number;
|
|
46
|
+
/** Sum of round-trip latencies, in milliseconds. */
|
|
47
|
+
roundTripMs: number;
|
|
48
|
+
/** Sum of request payload bytes sent. */
|
|
49
|
+
bytesSent: number;
|
|
50
|
+
/** Sum of response payload bytes received. */
|
|
51
|
+
bytesReceived: number;
|
|
52
|
+
/** Sum of server-side processing time, in milliseconds. */
|
|
53
|
+
serverTimeMs: number;
|
|
54
|
+
/**
|
|
55
|
+
* Estimated total transport overhead, in milliseconds
|
|
56
|
+
* (`roundTripMs - serverTimeMs`, clamped to be non-negative).
|
|
57
|
+
*/
|
|
58
|
+
transportOverheadMs: number;
|
|
59
|
+
/**
|
|
60
|
+
* Number of AST nodes materialized from binary source-file responses as the
|
|
61
|
+
* client walked the returned trees. Materialization is lazy and happens on
|
|
62
|
+
* demand, so this accrues after the originating request completes.
|
|
63
|
+
*/
|
|
64
|
+
nodesMaterialized: number;
|
|
65
|
+
/**
|
|
66
|
+
* Number of source files fetched from the server (each decoded into a
|
|
67
|
+
* lazily-materialized tree).
|
|
68
|
+
*/
|
|
69
|
+
sourceFilesFetched: number;
|
|
70
|
+
/**
|
|
71
|
+
* Number of AST nodes across all fetched source files that can be
|
|
72
|
+
* materialized on demand. Each fetched file contributes its full node count
|
|
73
|
+
* (excluding the pre-materialized source-file node), whether or not those
|
|
74
|
+
* nodes are ever walked. Serves as the denominator for the share of fetched
|
|
75
|
+
* nodes that end up materialized (`nodesMaterialized / nodesFetched`).
|
|
76
|
+
*/
|
|
77
|
+
nodesFetched: number;
|
|
78
|
+
}
|
|
79
|
+
/** A point-in-time snapshot of collected timing information. */
|
|
80
|
+
export interface TimingInfo {
|
|
81
|
+
/** Whether timing collection is enabled for this API instance. */
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
/** Running totals across every measured request. */
|
|
84
|
+
totals: TimingAccumulators;
|
|
85
|
+
/**
|
|
86
|
+
* The most recent requests, up to {@link RECENT_REQUEST_CAPACITY}, ordered
|
|
87
|
+
* from oldest to newest.
|
|
88
|
+
*/
|
|
89
|
+
recentRequests: RequestTiming[];
|
|
90
|
+
}
|
|
91
|
+
/** A raw measurement handed to {@link TimingCollector.record}. */
|
|
92
|
+
export interface TimingSample {
|
|
93
|
+
method: string;
|
|
94
|
+
roundTripMs: number;
|
|
95
|
+
bytesSent: number;
|
|
96
|
+
bytesReceived: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A single server-side request's processing-time sample, as returned by a
|
|
100
|
+
* `getServerTiming` request. This is an internal wire shape; consumers see the
|
|
101
|
+
* folded-in {@link RequestTiming.serverTimeMs}.
|
|
102
|
+
*/
|
|
103
|
+
export interface ServerRequestTiming {
|
|
104
|
+
/** The API method that was handled. */
|
|
105
|
+
method: string;
|
|
106
|
+
/** Server-side processing time, in milliseconds. */
|
|
107
|
+
processingTimeMs: number;
|
|
108
|
+
/** Unix timestamp in milliseconds captured when the request completed. */
|
|
109
|
+
timestamp: number;
|
|
110
|
+
}
|
|
111
|
+
/** Running totals accumulated on the server across every handled request. */
|
|
112
|
+
export interface ServerTimingTotals {
|
|
113
|
+
/** Total number of requests handled. */
|
|
114
|
+
requestCount: number;
|
|
115
|
+
/** Sum of server-side processing time, in milliseconds. */
|
|
116
|
+
totalProcessingTimeMs: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* A snapshot of the server's own timing collection, retrieved via a
|
|
120
|
+
* `getServerTiming` request. This is an internal wire shape used to compute the
|
|
121
|
+
* server-derived fields of {@link TimingInfo}.
|
|
122
|
+
*/
|
|
123
|
+
export interface ServerTimingInfo {
|
|
124
|
+
/** Whether server-side timing collection is enabled. */
|
|
125
|
+
enabled: boolean;
|
|
126
|
+
/** Running totals across every request the server handled. */
|
|
127
|
+
totals: ServerTimingTotals;
|
|
128
|
+
/**
|
|
129
|
+
* The most recent requests as seen by the server, ordered from oldest to
|
|
130
|
+
* newest.
|
|
131
|
+
*/
|
|
132
|
+
recentRequests: ServerRequestTiming[];
|
|
133
|
+
}
|
|
134
|
+
/** Returns a snapshot representing a disabled (never-collecting) timing state. */
|
|
135
|
+
export declare function disabledTimingInfo(): TimingInfo;
|
|
136
|
+
/** Returns a snapshot representing disabled server-side timing collection. */
|
|
137
|
+
export declare function disabledServerTimingInfo(): ServerTimingInfo;
|
|
138
|
+
/**
|
|
139
|
+
* Folds a server-side timing snapshot into a client-side snapshot, producing a
|
|
140
|
+
* combined {@link TimingInfo} with per-request and total server processing time
|
|
141
|
+
* plus estimated transport overhead.
|
|
142
|
+
*
|
|
143
|
+
* Recent requests are paired newest-to-newest and only matched when the method
|
|
144
|
+
* names agree, so that requests recorded by only one side (e.g. the meta
|
|
145
|
+
* requests used to fetch timing) do not misalign the two ring buffers.
|
|
146
|
+
*/
|
|
147
|
+
export declare function combineTimingInfo(client: TimingInfo, server: ServerTimingInfo): TimingInfo;
|
|
148
|
+
/**
|
|
149
|
+
* Accumulates request timing samples into running totals and a fixed-size ring
|
|
150
|
+
* buffer of the most recent requests.
|
|
151
|
+
*/
|
|
152
|
+
export declare class TimingCollector {
|
|
153
|
+
private totals;
|
|
154
|
+
private ring;
|
|
155
|
+
private head;
|
|
156
|
+
/** Records a single request's measurements. */
|
|
157
|
+
record(sample: TimingSample): void;
|
|
158
|
+
/**
|
|
159
|
+
* Records a single AST node materialization. Called on demand as the consumer
|
|
160
|
+
* walks a binary source-file response's tree, so it is not tied to any one
|
|
161
|
+
* request.
|
|
162
|
+
*/
|
|
163
|
+
recordMaterialization(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Records a fetched source file: increments the fetched-file counter and adds
|
|
166
|
+
* the file's materializable node count to the fetched-node total, which serves
|
|
167
|
+
* as the denominator for the share of fetched nodes that end up materialized.
|
|
168
|
+
*/
|
|
169
|
+
recordSourceFileFetched(materializableNodeCount: number): void;
|
|
170
|
+
/** Returns a snapshot of the collected timing information. */
|
|
171
|
+
getInfo(): TimingInfo;
|
|
172
|
+
/** Clears all accumulated totals and recent-request history. */
|
|
173
|
+
reset(): void;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/api/timing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC1B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IAC/B,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACvB,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,MAAM,EAAE,kBAAkB,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;CACnC;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IAC/B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,kBAAkB,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACzC;AAgBD,kFAAkF;AAClF,wBAAgB,kBAAkB,IAAI,UAAU,CAM/C;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,IAAI,gBAAgB,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA6B1F;AAED;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAA2C;IAGzD,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,IAAI,CAAK;IAEjB,+CAA+C;IAC/C,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAuBlC;;;;OAIG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;;;OAIG;IACH,uBAAuB,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI;IAK9D,8DAA8D;IAC9D,OAAO,IAAI,UAAU;IAYrB,gEAAgE;IAChE,KAAK,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side collection of per-request timing and transfer measurements.
|
|
3
|
+
*
|
|
4
|
+
* When enabled, each request records its round-trip latency and the number of
|
|
5
|
+
* payload bytes sent and received, accumulated into running totals and a
|
|
6
|
+
* fixed-size ring buffer of the most recent requests.
|
|
7
|
+
*
|
|
8
|
+
* The server measures its own per-request processing time independently. When a
|
|
9
|
+
* timing snapshot is requested, the client fetches the server's collection via
|
|
10
|
+
* a `getServerTiming` request and folds it into the returned {@link TimingInfo},
|
|
11
|
+
* yielding per-request and total server processing time and an estimated
|
|
12
|
+
* transport overhead (round-trip minus server processing time). Normal response
|
|
13
|
+
* messages are left unchanged.
|
|
14
|
+
*/
|
|
15
|
+
/** Number of most-recent requests retained in the ring buffer. */
|
|
16
|
+
export const RECENT_REQUEST_CAPACITY = 5;
|
|
17
|
+
function emptyAccumulators() {
|
|
18
|
+
return {
|
|
19
|
+
requestCount: 0,
|
|
20
|
+
roundTripMs: 0,
|
|
21
|
+
bytesSent: 0,
|
|
22
|
+
bytesReceived: 0,
|
|
23
|
+
serverTimeMs: 0,
|
|
24
|
+
transportOverheadMs: 0,
|
|
25
|
+
nodesMaterialized: 0,
|
|
26
|
+
sourceFilesFetched: 0,
|
|
27
|
+
nodesFetched: 0,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Returns a snapshot representing a disabled (never-collecting) timing state. */
|
|
31
|
+
export function disabledTimingInfo() {
|
|
32
|
+
return {
|
|
33
|
+
enabled: false,
|
|
34
|
+
totals: emptyAccumulators(),
|
|
35
|
+
recentRequests: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Returns a snapshot representing disabled server-side timing collection. */
|
|
39
|
+
export function disabledServerTimingInfo() {
|
|
40
|
+
return {
|
|
41
|
+
enabled: false,
|
|
42
|
+
totals: { requestCount: 0, totalProcessingTimeMs: 0 },
|
|
43
|
+
recentRequests: [],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Folds a server-side timing snapshot into a client-side snapshot, producing a
|
|
48
|
+
* combined {@link TimingInfo} with per-request and total server processing time
|
|
49
|
+
* plus estimated transport overhead.
|
|
50
|
+
*
|
|
51
|
+
* Recent requests are paired newest-to-newest and only matched when the method
|
|
52
|
+
* names agree, so that requests recorded by only one side (e.g. the meta
|
|
53
|
+
* requests used to fetch timing) do not misalign the two ring buffers.
|
|
54
|
+
*/
|
|
55
|
+
export function combineTimingInfo(client, server) {
|
|
56
|
+
if (!client.enabled) {
|
|
57
|
+
return client;
|
|
58
|
+
}
|
|
59
|
+
const serverTimeMs = server.totals.totalProcessingTimeMs;
|
|
60
|
+
const totals = {
|
|
61
|
+
...client.totals,
|
|
62
|
+
serverTimeMs,
|
|
63
|
+
transportOverheadMs: Math.max(0, client.totals.roundTripMs - serverTimeMs),
|
|
64
|
+
};
|
|
65
|
+
const recentRequests = client.recentRequests.map(r => ({ ...r }));
|
|
66
|
+
const serverRecent = server.recentRequests;
|
|
67
|
+
const pairs = Math.min(recentRequests.length, serverRecent.length);
|
|
68
|
+
for (let i = 1; i <= pairs; i++) {
|
|
69
|
+
const c = recentRequests[recentRequests.length - i];
|
|
70
|
+
const s = serverRecent[serverRecent.length - i];
|
|
71
|
+
if (c.method === s.method) {
|
|
72
|
+
c.serverTimeMs = s.processingTimeMs;
|
|
73
|
+
c.transportOverheadMs = Math.max(0, c.roundTripMs - s.processingTimeMs);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
enabled: true,
|
|
78
|
+
totals,
|
|
79
|
+
recentRequests,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Accumulates request timing samples into running totals and a fixed-size ring
|
|
84
|
+
* buffer of the most recent requests.
|
|
85
|
+
*/
|
|
86
|
+
export class TimingCollector {
|
|
87
|
+
totals = emptyAccumulators();
|
|
88
|
+
// Ring buffer of the most recent requests. `ring` grows to at most
|
|
89
|
+
// RECENT_REQUEST_CAPACITY; once full, `head` marks the oldest entry.
|
|
90
|
+
ring = [];
|
|
91
|
+
head = 0;
|
|
92
|
+
/** Records a single request's measurements. */
|
|
93
|
+
record(sample) {
|
|
94
|
+
this.totals.requestCount++;
|
|
95
|
+
this.totals.roundTripMs += sample.roundTripMs;
|
|
96
|
+
this.totals.bytesSent += sample.bytesSent;
|
|
97
|
+
this.totals.bytesReceived += sample.bytesReceived;
|
|
98
|
+
const entry = {
|
|
99
|
+
method: sample.method,
|
|
100
|
+
roundTripMs: sample.roundTripMs,
|
|
101
|
+
bytesSent: sample.bytesSent,
|
|
102
|
+
bytesReceived: sample.bytesReceived,
|
|
103
|
+
timestamp: Date.now(),
|
|
104
|
+
};
|
|
105
|
+
if (this.ring.length < RECENT_REQUEST_CAPACITY) {
|
|
106
|
+
this.ring.push(entry);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.ring[this.head] = entry;
|
|
110
|
+
this.head = (this.head + 1) % RECENT_REQUEST_CAPACITY;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Records a single AST node materialization. Called on demand as the consumer
|
|
115
|
+
* walks a binary source-file response's tree, so it is not tied to any one
|
|
116
|
+
* request.
|
|
117
|
+
*/
|
|
118
|
+
recordMaterialization() {
|
|
119
|
+
this.totals.nodesMaterialized++;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Records a fetched source file: increments the fetched-file counter and adds
|
|
123
|
+
* the file's materializable node count to the fetched-node total, which serves
|
|
124
|
+
* as the denominator for the share of fetched nodes that end up materialized.
|
|
125
|
+
*/
|
|
126
|
+
recordSourceFileFetched(materializableNodeCount) {
|
|
127
|
+
this.totals.sourceFilesFetched++;
|
|
128
|
+
this.totals.nodesFetched += materializableNodeCount;
|
|
129
|
+
}
|
|
130
|
+
/** Returns a snapshot of the collected timing information. */
|
|
131
|
+
getInfo() {
|
|
132
|
+
const recentRequests = [];
|
|
133
|
+
for (let i = 0; i < this.ring.length; i++) {
|
|
134
|
+
recentRequests.push(this.ring[(this.head + i) % this.ring.length]);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
enabled: true,
|
|
138
|
+
totals: { ...this.totals },
|
|
139
|
+
recentRequests,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** Clears all accumulated totals and recent-request history. */
|
|
143
|
+
reset() {
|
|
144
|
+
this.totals = emptyAccumulators();
|
|
145
|
+
this.ring = [];
|
|
146
|
+
this.head = 0;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=timing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/api/timing.ts"],"names":[],"mappings":"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"}
|
package/dist/ast/ast.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { LanguageVariant } from "#enums/languageVariant";
|
|
|
3
3
|
import type { NodeFlags } from "#enums/nodeFlags";
|
|
4
4
|
import type { ScriptKind } from "#enums/scriptKind";
|
|
5
5
|
import { SyntaxKind } from "#enums/syntaxKind";
|
|
6
|
-
import type { EndOfFile, EntityName, Identifier, KeywordSyntaxKind, ModifierSyntaxKind, PropertyAccessExpression, PunctuationSyntaxKind, Statement, Token } from "./ast.generated.ts";
|
|
6
|
+
import type { EndOfFile, EntityName, Identifier, KeywordSyntaxKind, ModifierSyntaxKind, PropertyAccessExpression, PunctuationSyntaxKind, Statement, ThisExpression, Token } from "./ast.generated.ts";
|
|
7
7
|
export { SyntaxKind } from "#enums/syntaxKind";
|
|
8
8
|
export { TokenFlags } from "#enums/tokenFlags";
|
|
9
9
|
export * from "./ast.generated.ts";
|
|
@@ -82,4 +82,7 @@ export interface PropertyAccessEntityNameExpression extends PropertyAccessExpres
|
|
|
82
82
|
}
|
|
83
83
|
export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
|
|
84
84
|
export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
|
|
85
|
+
export interface JsxTagNamePropertyAccess extends PropertyAccessExpression {
|
|
86
|
+
readonly expression: Identifier | ThisExpression | JsxTagNamePropertyAccess;
|
|
87
|
+
}
|
|
85
88
|
//# sourceMappingURL=ast.d.ts.map
|
package/dist/ast/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast/ast.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { ModifierFlags } from "#enums/modifierFlags";
|
|
|
2
2
|
import type { NodeFlags } from "#enums/nodeFlags";
|
|
3
3
|
import { SyntaxKind } from "#enums/syntaxKind";
|
|
4
4
|
import { TokenFlags } from "#enums/tokenFlags";
|
|
5
|
-
import type { Node, NodeArray } from "./ast.ts";
|
|
5
|
+
import type { JsxTagNamePropertyAccess, Node, NodeArray } from "./ast.ts";
|
|
6
6
|
export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ConflictMarkerTrivia;
|
|
7
7
|
export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
|
|
8
8
|
export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;
|
|
@@ -998,7 +998,7 @@ export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElem
|
|
|
998
998
|
export type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute;
|
|
999
999
|
export type JsxAttributeName = Identifier | JsxNamespacedName;
|
|
1000
1000
|
export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
|
|
1001
|
-
export type JsxTagNameExpression = Identifier |
|
|
1001
|
+
export type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess | JsxNamespacedName;
|
|
1002
1002
|
export type ClassLikeDeclaration = ClassDeclaration | ClassExpression;
|
|
1003
1003
|
export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
|
|
1004
1004
|
export type LiteralLikeNode = StringLiteral | NumericLiteral | BigIntLiteral | RegularExpressionLiteral | TemplateLiteralLikeNode | JsxText;
|