@loadstrike/loadstrike-sdk 0.1.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 +73 -0
- package/dist/cjs/cluster.js +410 -0
- package/dist/cjs/contracts.js +2 -0
- package/dist/cjs/correlation.js +1009 -0
- package/dist/cjs/index.js +71 -0
- package/dist/cjs/local.js +1884 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/reporting.js +1250 -0
- package/dist/cjs/runtime.js +7013 -0
- package/dist/cjs/sinks.js +2675 -0
- package/dist/cjs/transports.js +3695 -0
- package/dist/esm/cluster.js +403 -0
- package/dist/esm/contracts.js +1 -0
- package/dist/esm/correlation.js +999 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/local.js +1844 -0
- package/dist/esm/reporting.js +1241 -0
- package/dist/esm/runtime.js +6992 -0
- package/dist/esm/sinks.js +2657 -0
- package/dist/esm/transports.js +3658 -0
- package/dist/types/cluster.d.ts +112 -0
- package/dist/types/contracts.d.ts +439 -0
- package/dist/types/correlation.d.ts +234 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/local.d.ts +30 -0
- package/dist/types/reporting.d.ts +6 -0
- package/dist/types/runtime.d.ts +1052 -0
- package/dist/types/sinks.d.ts +497 -0
- package/dist/types/transports.d.ts +745 -0
- package/package.json +110 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export interface ClusterScenarioDispatch {
|
|
2
|
+
scenarioNames: string[];
|
|
3
|
+
}
|
|
4
|
+
export interface ClusterNodeResult {
|
|
5
|
+
nodeId: string;
|
|
6
|
+
success: boolean;
|
|
7
|
+
allRequestCount: number;
|
|
8
|
+
allOkCount: number;
|
|
9
|
+
allFailCount: number;
|
|
10
|
+
error?: string;
|
|
11
|
+
stats?: ClusterNodeStatsPayload;
|
|
12
|
+
}
|
|
13
|
+
export interface ClusterAgent {
|
|
14
|
+
nodeId: string;
|
|
15
|
+
execute: (dispatch: ClusterScenarioDispatch) => Promise<ClusterNodeResult>;
|
|
16
|
+
}
|
|
17
|
+
export interface ClusterCoordinatorOptions {
|
|
18
|
+
commandTimeoutMs?: number;
|
|
19
|
+
retryCount?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class LocalClusterCoordinator {
|
|
22
|
+
private readonly options;
|
|
23
|
+
constructor(options?: ClusterCoordinatorOptions);
|
|
24
|
+
dispatch(agents: ClusterAgent[], scenarioNames: string[], assignmentOptions?: ClusterAssignmentOptions): Promise<{
|
|
25
|
+
nodeResults: ClusterNodeResult[];
|
|
26
|
+
allRequestCount: number;
|
|
27
|
+
allOkCount: number;
|
|
28
|
+
allFailCount: number;
|
|
29
|
+
failedNodes: number;
|
|
30
|
+
}>;
|
|
31
|
+
private executeWithRetry;
|
|
32
|
+
private withTimeout;
|
|
33
|
+
}
|
|
34
|
+
export interface ClusterAssignmentOptions {
|
|
35
|
+
explicitAssignments?: string[][];
|
|
36
|
+
selectedScenarioNames?: string[];
|
|
37
|
+
agentTargets?: Array<string[] | undefined>;
|
|
38
|
+
agentWeights?: number[];
|
|
39
|
+
}
|
|
40
|
+
export declare function planAgentScenarioAssignments(scenarioNames: string[], agentCount: number, options?: ClusterAssignmentOptions): string[][];
|
|
41
|
+
export interface ClusterRunCommandMessage {
|
|
42
|
+
commandId: string;
|
|
43
|
+
sessionId: string;
|
|
44
|
+
testSuite: string;
|
|
45
|
+
testName: string;
|
|
46
|
+
agentIndex: number;
|
|
47
|
+
agentCount: number;
|
|
48
|
+
targetScenarios: string[];
|
|
49
|
+
replySubject?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ClusterNodeStatsPayload {
|
|
52
|
+
allBytes?: number;
|
|
53
|
+
allRequestCount: number;
|
|
54
|
+
allOkCount: number;
|
|
55
|
+
allFailCount: number;
|
|
56
|
+
durationMs?: number;
|
|
57
|
+
metrics?: Record<string, unknown>;
|
|
58
|
+
scenarioStats?: unknown[];
|
|
59
|
+
thresholds?: unknown[];
|
|
60
|
+
pluginsData?: unknown[];
|
|
61
|
+
nodeInfo?: Record<string, unknown>;
|
|
62
|
+
testInfo?: Record<string, unknown>;
|
|
63
|
+
}
|
|
64
|
+
export interface ClusterRunResultMessage {
|
|
65
|
+
commandId: string;
|
|
66
|
+
agentId: string;
|
|
67
|
+
isSuccess: boolean;
|
|
68
|
+
errorMessage?: string;
|
|
69
|
+
stats?: ClusterNodeStatsPayload;
|
|
70
|
+
}
|
|
71
|
+
export interface DistributedClusterCoordinatorOptions {
|
|
72
|
+
clusterId: string;
|
|
73
|
+
sessionId: string;
|
|
74
|
+
testSuite: string;
|
|
75
|
+
testName: string;
|
|
76
|
+
expectedAgentResults: number;
|
|
77
|
+
agentGroup?: string;
|
|
78
|
+
commandTimeoutMs?: number;
|
|
79
|
+
nats?: Record<string, unknown>;
|
|
80
|
+
}
|
|
81
|
+
export interface DistributedClusterDispatchResult {
|
|
82
|
+
nodeResults: ClusterNodeResult[];
|
|
83
|
+
allRequestCount: number;
|
|
84
|
+
allOkCount: number;
|
|
85
|
+
allFailCount: number;
|
|
86
|
+
failedNodes: number;
|
|
87
|
+
missingNodes: number;
|
|
88
|
+
runSubject: string;
|
|
89
|
+
replySubject: string;
|
|
90
|
+
}
|
|
91
|
+
export declare class DistributedClusterCoordinator {
|
|
92
|
+
private readonly options;
|
|
93
|
+
constructor(options: DistributedClusterCoordinatorOptions);
|
|
94
|
+
dispatch(assignments: string[][]): Promise<DistributedClusterDispatchResult>;
|
|
95
|
+
private buildRunSubject;
|
|
96
|
+
private buildReplySubject;
|
|
97
|
+
private natsEndpoint;
|
|
98
|
+
}
|
|
99
|
+
export interface DistributedClusterAgentOptions {
|
|
100
|
+
clusterId: string;
|
|
101
|
+
sessionId: string;
|
|
102
|
+
agentId: string;
|
|
103
|
+
agentGroup?: string;
|
|
104
|
+
nats?: Record<string, unknown>;
|
|
105
|
+
}
|
|
106
|
+
export declare class DistributedClusterAgent {
|
|
107
|
+
private readonly options;
|
|
108
|
+
private commandConsumer;
|
|
109
|
+
constructor(options: DistributedClusterAgentOptions);
|
|
110
|
+
dispose(): Promise<void>;
|
|
111
|
+
pollAndExecuteOnce(execute: (dispatch: ClusterScenarioDispatch) => Promise<ClusterNodeResult> | ClusterNodeResult): Promise<boolean>;
|
|
112
|
+
}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
export type LoadStrikeObject = Record<string, unknown>;
|
|
2
|
+
export type LoadStrikeDateValue = string | Date;
|
|
3
|
+
export interface LoadStrikeRunRequest {
|
|
4
|
+
Context?: LoadStrikeRunContext | Record<string, unknown>;
|
|
5
|
+
Scenarios?: Array<LoadStrikeScenarioSpec | Record<string, unknown>>;
|
|
6
|
+
RunArgs?: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface LoadStrikeRunContext {
|
|
9
|
+
ConsoleMetricsEnabled?: boolean;
|
|
10
|
+
LocalDevClusterEnabled?: boolean;
|
|
11
|
+
ConfigPath?: string;
|
|
12
|
+
InfraConfigPath?: string;
|
|
13
|
+
AgentGroup?: string;
|
|
14
|
+
AgentsCount?: number;
|
|
15
|
+
AgentTargetScenarios?: string[];
|
|
16
|
+
ClusterId?: string;
|
|
17
|
+
CoordinatorTargetScenarios?: string[];
|
|
18
|
+
RunnerKey?: string;
|
|
19
|
+
LicenseValidationServerUrl?: string;
|
|
20
|
+
LicenseValidationTimeoutSeconds?: number;
|
|
21
|
+
MinimumLogLevel?: string;
|
|
22
|
+
NatsServerUrl?: string;
|
|
23
|
+
NodeType?: string;
|
|
24
|
+
ReportsEnabled?: boolean;
|
|
25
|
+
ReportFileName?: string;
|
|
26
|
+
ReportFolderPath?: string;
|
|
27
|
+
ReportFormats?: string[];
|
|
28
|
+
ReportingIntervalSeconds?: number;
|
|
29
|
+
ReportingSinks?: Array<LoadStrikeReportingSinkSpec | Record<string, unknown>>;
|
|
30
|
+
ScenarioCompletionTimeoutSeconds?: number;
|
|
31
|
+
ClusterCommandTimeoutSeconds?: number;
|
|
32
|
+
RestartIterationMaxAttempts?: number;
|
|
33
|
+
SessionId?: string;
|
|
34
|
+
TargetScenarios?: string[];
|
|
35
|
+
TestName?: string;
|
|
36
|
+
TestSuite?: string;
|
|
37
|
+
WorkerPlugins?: Array<LoadStrikeWorkerPluginSpec | Record<string, unknown>>;
|
|
38
|
+
}
|
|
39
|
+
export interface LoadStrikeScenarioSpec {
|
|
40
|
+
Name: string;
|
|
41
|
+
MaxFailCount?: number;
|
|
42
|
+
RestartIterationOnFail?: boolean;
|
|
43
|
+
WithoutWarmUp?: boolean;
|
|
44
|
+
WarmUpDurationSeconds?: number;
|
|
45
|
+
Weight?: number;
|
|
46
|
+
LoadSimulations?: LoadStrikeLoadSimulationSpec[];
|
|
47
|
+
Thresholds?: Array<LoadStrikeThresholdSpec | Record<string, unknown>>;
|
|
48
|
+
Tracking?: LoadStrikeTrackingConfigurationSpec | Record<string, unknown>;
|
|
49
|
+
}
|
|
50
|
+
export interface LoadStrikeLoadSimulationSpec {
|
|
51
|
+
Kind: string;
|
|
52
|
+
Rate?: number;
|
|
53
|
+
MinRate?: number;
|
|
54
|
+
MaxRate?: number;
|
|
55
|
+
Copies?: number;
|
|
56
|
+
Iterations?: number;
|
|
57
|
+
IntervalSeconds?: number;
|
|
58
|
+
DuringSeconds?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface LoadStrikeThresholdSpec {
|
|
61
|
+
Scope: string;
|
|
62
|
+
StepName?: string;
|
|
63
|
+
Field: string;
|
|
64
|
+
Operator: string;
|
|
65
|
+
Value?: number;
|
|
66
|
+
AbortWhenErrorCount?: number;
|
|
67
|
+
StartCheckAfterSeconds?: number;
|
|
68
|
+
}
|
|
69
|
+
export interface LoadStrikeTrackingConfigurationSpec {
|
|
70
|
+
Source: LoadStrikeEndpointSpec;
|
|
71
|
+
Destination?: LoadStrikeEndpointSpec;
|
|
72
|
+
RunMode?: string;
|
|
73
|
+
CorrelationTimeoutSeconds?: number;
|
|
74
|
+
TimeoutSweepIntervalSeconds?: number;
|
|
75
|
+
TimeoutBatchSize?: number;
|
|
76
|
+
TimeoutCountsAsFailure?: boolean;
|
|
77
|
+
ExecuteOriginalScenarioRun?: boolean;
|
|
78
|
+
MetricPrefix?: string;
|
|
79
|
+
CorrelationStore?: LoadStrikeCorrelationStoreSpec;
|
|
80
|
+
}
|
|
81
|
+
export interface LoadStrikeCorrelationStoreSpec {
|
|
82
|
+
Kind?: string;
|
|
83
|
+
Redis?: LoadStrikeRedisCorrelationStoreSpec;
|
|
84
|
+
}
|
|
85
|
+
export interface LoadStrikeRedisCorrelationStoreSpec {
|
|
86
|
+
ConnectionString?: string;
|
|
87
|
+
Database?: number;
|
|
88
|
+
KeyPrefix?: string;
|
|
89
|
+
EntryTtlSeconds?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface LoadStrikeEndpointSpec {
|
|
92
|
+
Kind: string;
|
|
93
|
+
Name: string;
|
|
94
|
+
Mode: string;
|
|
95
|
+
TrackingField: string;
|
|
96
|
+
GatherByField?: string;
|
|
97
|
+
AutoGenerateTrackingIdWhenMissing?: boolean;
|
|
98
|
+
PollIntervalSeconds?: number;
|
|
99
|
+
MessageHeaders?: Record<string, string>;
|
|
100
|
+
MessagePayload?: unknown;
|
|
101
|
+
ContentType?: string;
|
|
102
|
+
Http?: LoadStrikeHttpEndpointOptions;
|
|
103
|
+
Kafka?: LoadStrikeKafkaEndpointOptions;
|
|
104
|
+
RabbitMq?: LoadStrikeRabbitMqEndpointOptions;
|
|
105
|
+
Nats?: LoadStrikeNatsEndpointOptions;
|
|
106
|
+
RedisStreams?: LoadStrikeRedisStreamsEndpointOptions;
|
|
107
|
+
AzureEventHubs?: LoadStrikeAzureEventHubsEndpointOptions;
|
|
108
|
+
DelegateStream?: LoadStrikeDelegateEndpointOptions;
|
|
109
|
+
PushDiffusion?: LoadStrikePushDiffusionEndpointOptions;
|
|
110
|
+
}
|
|
111
|
+
export interface LoadStrikeHttpEndpointOptions {
|
|
112
|
+
Url?: string;
|
|
113
|
+
Method?: string;
|
|
114
|
+
BodyType?: string;
|
|
115
|
+
RequestTimeoutSeconds?: number;
|
|
116
|
+
TrackingPayloadSource?: string;
|
|
117
|
+
ConsumeJsonArrayResponse?: boolean;
|
|
118
|
+
Auth?: LoadStrikeHttpAuthOptions;
|
|
119
|
+
}
|
|
120
|
+
export interface LoadStrikeHttpAuthOptions {
|
|
121
|
+
Type?: string;
|
|
122
|
+
Username?: string;
|
|
123
|
+
Password?: string;
|
|
124
|
+
BearerToken?: string;
|
|
125
|
+
OAuth2ClientCredentials?: LoadStrikeHttpOAuth2ClientCredentialsOptions;
|
|
126
|
+
}
|
|
127
|
+
export interface LoadStrikeHttpOAuth2ClientCredentialsOptions {
|
|
128
|
+
TokenEndpoint?: string;
|
|
129
|
+
ClientId?: string;
|
|
130
|
+
ClientSecret?: string;
|
|
131
|
+
Scopes?: string[];
|
|
132
|
+
AdditionalFormFields?: Record<string, string>;
|
|
133
|
+
}
|
|
134
|
+
export interface LoadStrikeKafkaEndpointOptions {
|
|
135
|
+
BootstrapServers?: string;
|
|
136
|
+
Topic?: string;
|
|
137
|
+
ConsumerGroupId?: string;
|
|
138
|
+
SecurityProtocol?: string;
|
|
139
|
+
Sasl?: LoadStrikeKafkaSaslOptions;
|
|
140
|
+
ConfluentSettings?: Record<string, string>;
|
|
141
|
+
StartFromEarliest?: boolean;
|
|
142
|
+
}
|
|
143
|
+
export interface LoadStrikeKafkaSaslOptions {
|
|
144
|
+
Mechanism?: string;
|
|
145
|
+
Username?: string;
|
|
146
|
+
Password?: string;
|
|
147
|
+
OAuthBearerTokenEndpointUrl?: string;
|
|
148
|
+
AdditionalSettings?: Record<string, string>;
|
|
149
|
+
}
|
|
150
|
+
export interface LoadStrikeRabbitMqEndpointOptions {
|
|
151
|
+
HostName?: string;
|
|
152
|
+
Port?: number;
|
|
153
|
+
VirtualHost?: string;
|
|
154
|
+
UserName?: string;
|
|
155
|
+
Password?: string;
|
|
156
|
+
Exchange?: string;
|
|
157
|
+
RoutingKey?: string;
|
|
158
|
+
QueueName?: string;
|
|
159
|
+
Durable?: boolean;
|
|
160
|
+
AutoAck?: boolean;
|
|
161
|
+
UseSsl?: boolean;
|
|
162
|
+
ClientProperties?: Record<string, string>;
|
|
163
|
+
}
|
|
164
|
+
export interface LoadStrikeNatsEndpointOptions {
|
|
165
|
+
ServerUrl?: string;
|
|
166
|
+
Subject?: string;
|
|
167
|
+
QueueGroup?: string;
|
|
168
|
+
UserName?: string;
|
|
169
|
+
Password?: string;
|
|
170
|
+
Token?: string;
|
|
171
|
+
ConnectionName?: string;
|
|
172
|
+
MaxReconnectAttempts?: number;
|
|
173
|
+
}
|
|
174
|
+
export interface LoadStrikeRedisStreamsEndpointOptions {
|
|
175
|
+
ConnectionString?: string;
|
|
176
|
+
StreamKey?: string;
|
|
177
|
+
ConsumerGroup?: string;
|
|
178
|
+
ConsumerName?: string;
|
|
179
|
+
StartFromEarliest?: boolean;
|
|
180
|
+
ReadCount?: number;
|
|
181
|
+
MaxLength?: number;
|
|
182
|
+
}
|
|
183
|
+
export interface LoadStrikeAzureEventHubsEndpointOptions {
|
|
184
|
+
ConnectionString?: string;
|
|
185
|
+
EventHubName?: string;
|
|
186
|
+
ConsumerGroup?: string;
|
|
187
|
+
StartFromEarliest?: boolean;
|
|
188
|
+
PartitionId?: string;
|
|
189
|
+
}
|
|
190
|
+
export interface LoadStrikeDelegateEndpointOptions {
|
|
191
|
+
ProduceCallbackUrl?: string;
|
|
192
|
+
ConsumeCallbackUrl?: string;
|
|
193
|
+
ConnectionMetadata?: Record<string, string>;
|
|
194
|
+
}
|
|
195
|
+
export interface LoadStrikePushDiffusionEndpointOptions {
|
|
196
|
+
ServerUrl?: string;
|
|
197
|
+
TopicPath?: string;
|
|
198
|
+
Principal?: string;
|
|
199
|
+
Password?: string;
|
|
200
|
+
ConnectionProperties?: Record<string, string>;
|
|
201
|
+
PublishCallbackUrl?: string;
|
|
202
|
+
SubscribeCallbackUrl?: string;
|
|
203
|
+
}
|
|
204
|
+
export interface LoadStrikeReportingSinkSpec {
|
|
205
|
+
Kind: string;
|
|
206
|
+
InfluxDb?: LoadStrikeInfluxDbSinkOptions;
|
|
207
|
+
TimescaleDb?: LoadStrikeTimescaleDbSinkOptions;
|
|
208
|
+
GrafanaLoki?: LoadStrikeGrafanaLokiSinkOptions;
|
|
209
|
+
Datadog?: LoadStrikeDatadogSinkOptions;
|
|
210
|
+
Splunk?: LoadStrikeSplunkSinkOptions;
|
|
211
|
+
OtelCollector?: LoadStrikeOtelCollectorSinkOptions;
|
|
212
|
+
Webhook?: LoadStrikeWebhookSinkOptions;
|
|
213
|
+
}
|
|
214
|
+
export interface LoadStrikeInfluxDbSinkOptions {
|
|
215
|
+
BaseUrl?: string;
|
|
216
|
+
WriteEndpointPath?: string;
|
|
217
|
+
Organization?: string;
|
|
218
|
+
Bucket?: string;
|
|
219
|
+
Token?: string;
|
|
220
|
+
MeasurementName?: string;
|
|
221
|
+
TimeoutSeconds?: number;
|
|
222
|
+
StaticTags?: Record<string, string>;
|
|
223
|
+
}
|
|
224
|
+
export interface LoadStrikeTimescaleDbSinkOptions {
|
|
225
|
+
ConnectionString?: string;
|
|
226
|
+
Schema?: string;
|
|
227
|
+
TableName?: string;
|
|
228
|
+
CreateSchemaIfMissing?: boolean;
|
|
229
|
+
EnableHypertableIfAvailable?: boolean;
|
|
230
|
+
StaticTags?: Record<string, string>;
|
|
231
|
+
}
|
|
232
|
+
export interface LoadStrikeGrafanaLokiSinkOptions {
|
|
233
|
+
BaseUrl?: string;
|
|
234
|
+
PushEndpointPath?: string;
|
|
235
|
+
BearerToken?: string;
|
|
236
|
+
Username?: string;
|
|
237
|
+
Password?: string;
|
|
238
|
+
TenantId?: string;
|
|
239
|
+
TimeoutSeconds?: number;
|
|
240
|
+
StaticLabels?: Record<string, string>;
|
|
241
|
+
}
|
|
242
|
+
export interface LoadStrikeDatadogSinkOptions {
|
|
243
|
+
BaseUrl?: string;
|
|
244
|
+
LogsEndpointPath?: string;
|
|
245
|
+
MetricsEndpointPath?: string;
|
|
246
|
+
ApiKey?: string;
|
|
247
|
+
ApplicationKey?: string;
|
|
248
|
+
Source?: string;
|
|
249
|
+
Service?: string;
|
|
250
|
+
Host?: string;
|
|
251
|
+
TimeoutSeconds?: number;
|
|
252
|
+
StaticTags?: Record<string, string>;
|
|
253
|
+
StaticAttributes?: Record<string, string>;
|
|
254
|
+
}
|
|
255
|
+
export interface LoadStrikeSplunkSinkOptions {
|
|
256
|
+
BaseUrl?: string;
|
|
257
|
+
EventEndpointPath?: string;
|
|
258
|
+
Token?: string;
|
|
259
|
+
Source?: string;
|
|
260
|
+
Sourcetype?: string;
|
|
261
|
+
Index?: string;
|
|
262
|
+
Host?: string;
|
|
263
|
+
TimeoutSeconds?: number;
|
|
264
|
+
StaticFields?: Record<string, string>;
|
|
265
|
+
}
|
|
266
|
+
export interface LoadStrikeOtelCollectorSinkOptions {
|
|
267
|
+
BaseUrl?: string;
|
|
268
|
+
LogsEndpointPath?: string;
|
|
269
|
+
MetricsEndpointPath?: string;
|
|
270
|
+
TimeoutSeconds?: number;
|
|
271
|
+
Headers?: Record<string, string>;
|
|
272
|
+
StaticResourceAttributes?: Record<string, string>;
|
|
273
|
+
}
|
|
274
|
+
export interface LoadStrikeWebhookSinkOptions {
|
|
275
|
+
SinkName?: string;
|
|
276
|
+
CallbackUrl?: string;
|
|
277
|
+
}
|
|
278
|
+
export interface LoadStrikeWorkerPluginSpec {
|
|
279
|
+
PluginName: string;
|
|
280
|
+
CallbackUrl: string;
|
|
281
|
+
}
|
|
282
|
+
export interface LoadStrikeRunResponse {
|
|
283
|
+
CompletedUtc: LoadStrikeDateValue;
|
|
284
|
+
Stats: LoadStrikeNodeStatsDto;
|
|
285
|
+
}
|
|
286
|
+
export interface LoadStrikeNodeStatsDto {
|
|
287
|
+
AllBytes?: number;
|
|
288
|
+
AllFailCount?: number;
|
|
289
|
+
AllOkCount?: number;
|
|
290
|
+
AllRequestCount?: number;
|
|
291
|
+
DurationMs?: number;
|
|
292
|
+
NodeInfo?: LoadStrikeNodeInfoDto;
|
|
293
|
+
TestInfo?: LoadStrikeTestInfoDto;
|
|
294
|
+
Metrics?: LoadStrikeMetricStatsDto;
|
|
295
|
+
Scenarios?: LoadStrikeScenarioStatsDto[];
|
|
296
|
+
Thresholds?: LoadStrikeThresholdResultDto[];
|
|
297
|
+
Plugins?: LoadStrikePluginDataDto[];
|
|
298
|
+
}
|
|
299
|
+
export interface LoadStrikeNodeInfoDto {
|
|
300
|
+
CoresCount?: number;
|
|
301
|
+
CurrentOperation?: string;
|
|
302
|
+
DotNetVersion?: string;
|
|
303
|
+
MachineName?: string;
|
|
304
|
+
EngineVersion?: string;
|
|
305
|
+
NodeType?: string;
|
|
306
|
+
OS?: string;
|
|
307
|
+
Processor?: string;
|
|
308
|
+
}
|
|
309
|
+
export interface LoadStrikeTestInfoDto {
|
|
310
|
+
ClusterId?: string;
|
|
311
|
+
CreatedUtc?: LoadStrikeDateValue;
|
|
312
|
+
SessionId?: string;
|
|
313
|
+
TestName?: string;
|
|
314
|
+
TestSuite?: string;
|
|
315
|
+
}
|
|
316
|
+
export interface LoadStrikeScenarioStatsDto {
|
|
317
|
+
ScenarioName?: string;
|
|
318
|
+
SortIndex?: number;
|
|
319
|
+
AllBytes?: number;
|
|
320
|
+
AllFailCount?: number;
|
|
321
|
+
AllOkCount?: number;
|
|
322
|
+
AllRequestCount?: number;
|
|
323
|
+
CurrentOperation?: string;
|
|
324
|
+
DurationMs?: number;
|
|
325
|
+
Ok?: LoadStrikeMeasurementStatsDto;
|
|
326
|
+
Fail?: LoadStrikeMeasurementStatsDto;
|
|
327
|
+
Steps?: LoadStrikeStepStatsDto[];
|
|
328
|
+
}
|
|
329
|
+
export interface LoadStrikeStepStatsDto {
|
|
330
|
+
StepName?: string;
|
|
331
|
+
SortIndex?: number;
|
|
332
|
+
Ok?: LoadStrikeMeasurementStatsDto;
|
|
333
|
+
Fail?: LoadStrikeMeasurementStatsDto;
|
|
334
|
+
}
|
|
335
|
+
export interface LoadStrikeMeasurementStatsDto {
|
|
336
|
+
Request?: LoadStrikeRequestStatsDto;
|
|
337
|
+
Latency?: LoadStrikeLatencyStatsDto;
|
|
338
|
+
DataTransfer?: LoadStrikeDataTransferStatsDto;
|
|
339
|
+
StatusCodes?: LoadStrikeStatusCodeStatsDto[];
|
|
340
|
+
}
|
|
341
|
+
export interface LoadStrikeRequestStatsDto {
|
|
342
|
+
Count?: number;
|
|
343
|
+
Percent?: number;
|
|
344
|
+
Rps?: number;
|
|
345
|
+
}
|
|
346
|
+
export interface LoadStrikeLatencyStatsDto {
|
|
347
|
+
MinMs?: number;
|
|
348
|
+
MeanMs?: number;
|
|
349
|
+
MaxMs?: number;
|
|
350
|
+
StdDev?: number;
|
|
351
|
+
Percent50?: number;
|
|
352
|
+
Percent75?: number;
|
|
353
|
+
Percent95?: number;
|
|
354
|
+
Percent99?: number;
|
|
355
|
+
}
|
|
356
|
+
export interface LoadStrikeDataTransferStatsDto {
|
|
357
|
+
AllBytes?: number;
|
|
358
|
+
MinBytes?: number;
|
|
359
|
+
MeanBytes?: number;
|
|
360
|
+
MaxBytes?: number;
|
|
361
|
+
StdDev?: number;
|
|
362
|
+
Percent50?: number;
|
|
363
|
+
Percent75?: number;
|
|
364
|
+
Percent95?: number;
|
|
365
|
+
Percent99?: number;
|
|
366
|
+
}
|
|
367
|
+
export interface LoadStrikeStatusCodeStatsDto {
|
|
368
|
+
StatusCode?: string;
|
|
369
|
+
Message?: string;
|
|
370
|
+
Count?: number;
|
|
371
|
+
Percent?: number;
|
|
372
|
+
IsError?: boolean;
|
|
373
|
+
}
|
|
374
|
+
export interface LoadStrikeMetricStatsDto {
|
|
375
|
+
DurationMs?: number;
|
|
376
|
+
Counters?: LoadStrikeCounterStatsDto[];
|
|
377
|
+
Gauges?: LoadStrikeGaugeStatsDto[];
|
|
378
|
+
}
|
|
379
|
+
export interface LoadStrikeCounterStatsDto {
|
|
380
|
+
ScenarioName?: string;
|
|
381
|
+
MetricName?: string;
|
|
382
|
+
UnitOfMeasure?: string;
|
|
383
|
+
Value?: number;
|
|
384
|
+
}
|
|
385
|
+
export interface LoadStrikeGaugeStatsDto {
|
|
386
|
+
ScenarioName?: string;
|
|
387
|
+
MetricName?: string;
|
|
388
|
+
UnitOfMeasure?: string;
|
|
389
|
+
Value?: number;
|
|
390
|
+
}
|
|
391
|
+
export interface LoadStrikeThresholdResultDto {
|
|
392
|
+
ScenarioName?: string;
|
|
393
|
+
StepName?: string;
|
|
394
|
+
CheckExpression?: string;
|
|
395
|
+
ErrorCount?: number;
|
|
396
|
+
IsFailed?: boolean;
|
|
397
|
+
ExceptionMessage?: string;
|
|
398
|
+
}
|
|
399
|
+
export interface LoadStrikePluginDataDto {
|
|
400
|
+
PluginName?: string;
|
|
401
|
+
Hints?: string[];
|
|
402
|
+
Tables?: LoadStrikePluginDataTableDto[];
|
|
403
|
+
}
|
|
404
|
+
export interface LoadStrikePluginDataTableDto {
|
|
405
|
+
TableName?: string;
|
|
406
|
+
Rows?: Array<Record<string, unknown>>;
|
|
407
|
+
}
|
|
408
|
+
export interface LoadStrikePayloadDto {
|
|
409
|
+
Headers?: Record<string, string>;
|
|
410
|
+
BodyUtf8?: string;
|
|
411
|
+
BodyBase64?: string;
|
|
412
|
+
ContentType?: string;
|
|
413
|
+
}
|
|
414
|
+
export interface LoadStrikeProducedMessageRequestDto {
|
|
415
|
+
TrackingId: string;
|
|
416
|
+
EndpointKind: string;
|
|
417
|
+
EndpointName: string;
|
|
418
|
+
Mode: string;
|
|
419
|
+
Payload: LoadStrikePayloadDto;
|
|
420
|
+
}
|
|
421
|
+
export interface LoadStrikeProducedMessageResultDto {
|
|
422
|
+
IsSuccess?: boolean;
|
|
423
|
+
TimestampUtc?: string;
|
|
424
|
+
ErrorMessage?: string;
|
|
425
|
+
ResponsePayload?: LoadStrikePayloadDto;
|
|
426
|
+
}
|
|
427
|
+
export interface LoadStrikeConsumedMessageDto {
|
|
428
|
+
TimestampUtc?: string;
|
|
429
|
+
Payload?: LoadStrikePayloadDto;
|
|
430
|
+
}
|
|
431
|
+
export interface LoadStrikeWebhookEnvelope {
|
|
432
|
+
EventType: string;
|
|
433
|
+
Payload?: unknown;
|
|
434
|
+
}
|
|
435
|
+
export interface LoadStrikePluginCallbackResponse {
|
|
436
|
+
PluginName?: string;
|
|
437
|
+
Hints?: string[];
|
|
438
|
+
Tables?: LoadStrikePluginDataTableDto[];
|
|
439
|
+
}
|