@nsshunt/stsvueutils 1.0.83 → 1.0.85
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/stsvueutils.mjs +221 -262
- package/dist/stsvueutils.mjs.map +1 -1
- package/dist/stsvueutils.umd.js +221 -262
- package/dist/stsvueutils.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/stsvueutils.mjs
CHANGED
|
@@ -3236,270 +3236,11 @@ var SubscriptionTopic = /* @__PURE__ */ ((SubscriptionTopic2) => {
|
|
|
3236
3236
|
SubscriptionTopic2["LogProcessing"] = "LogProcessing";
|
|
3237
3237
|
return SubscriptionTopic2;
|
|
3238
3238
|
})(SubscriptionTopic || {});
|
|
3239
|
-
const _ObservabilityModelUtils = class _ObservabilityModelUtils2 {
|
|
3240
|
-
static GetModelNode(data) {
|
|
3241
|
-
const fixedSize = 2;
|
|
3242
|
-
const padLength = 9;
|
|
3243
|
-
try {
|
|
3244
|
-
return {
|
|
3245
|
-
val: data,
|
|
3246
|
-
vf: parseFloat(data.toString()).toFixed(fixedSize).padStart(padLength, " "),
|
|
3247
|
-
value: parseFloat(data.toString()).toFixed(fixedSize)
|
|
3248
|
-
};
|
|
3249
|
-
} catch (error) {
|
|
3250
|
-
return {
|
|
3251
|
-
val: 0,
|
|
3252
|
-
vf: "",
|
|
3253
|
-
value: ""
|
|
3254
|
-
};
|
|
3255
|
-
}
|
|
3256
|
-
}
|
|
3257
|
-
static GetModelNodeRawStringArray(data) {
|
|
3258
|
-
try {
|
|
3259
|
-
return {
|
|
3260
|
-
val: data
|
|
3261
|
-
};
|
|
3262
|
-
} catch (error) {
|
|
3263
|
-
return {
|
|
3264
|
-
val: []
|
|
3265
|
-
};
|
|
3266
|
-
}
|
|
3267
|
-
}
|
|
3268
|
-
static GetModelNodeObject(data) {
|
|
3269
|
-
try {
|
|
3270
|
-
return {
|
|
3271
|
-
val: JSON.parse(data)
|
|
3272
|
-
};
|
|
3273
|
-
} catch (error) {
|
|
3274
|
-
return {
|
|
3275
|
-
val: null
|
|
3276
|
-
};
|
|
3277
|
-
}
|
|
3278
|
-
}
|
|
3279
|
-
static GetModelNodeWithQuantile(data, quantileData) {
|
|
3280
|
-
let quantile2 = "";
|
|
3281
|
-
const quantileDataElementArray = [];
|
|
3282
|
-
for (const [key, val] of Object.entries(quantileData)) {
|
|
3283
|
-
quantile2 += parseFloat(val.toFixed(2)).toString().padStart(8, " ");
|
|
3284
|
-
quantileDataElementArray.push([
|
|
3285
|
-
key,
|
|
3286
|
-
val
|
|
3287
|
-
]);
|
|
3288
|
-
}
|
|
3289
|
-
const fixedSize = 2;
|
|
3290
|
-
const padLength = 9;
|
|
3291
|
-
try {
|
|
3292
|
-
return {
|
|
3293
|
-
val: data,
|
|
3294
|
-
vf: parseFloat(data.toString()).toFixed(fixedSize).padStart(padLength, " "),
|
|
3295
|
-
value: parseFloat(data.toString()).toFixed(fixedSize),
|
|
3296
|
-
percentile: quantileDataElementArray,
|
|
3297
|
-
percentileFormatted: quantile2
|
|
3298
|
-
};
|
|
3299
|
-
} catch (error) {
|
|
3300
|
-
return {
|
|
3301
|
-
val: 0,
|
|
3302
|
-
vf: "",
|
|
3303
|
-
value: "",
|
|
3304
|
-
percentile: [],
|
|
3305
|
-
percentileFormatted: ""
|
|
3306
|
-
};
|
|
3307
|
-
}
|
|
3308
|
-
}
|
|
3309
|
-
static GetModelNodeHistFromInfluxData(data) {
|
|
3310
|
-
try {
|
|
3311
|
-
const histVal = [];
|
|
3312
|
-
if (data) {
|
|
3313
|
-
for (const [key, val] of Object.entries(data)) {
|
|
3314
|
-
const dataElement = [
|
|
3315
|
-
val,
|
|
3316
|
-
key,
|
|
3317
|
-
parseInt(key)
|
|
3318
|
-
];
|
|
3319
|
-
histVal.push(dataElement);
|
|
3320
|
-
}
|
|
3321
|
-
}
|
|
3322
|
-
try {
|
|
3323
|
-
return {
|
|
3324
|
-
hist: histVal
|
|
3325
|
-
};
|
|
3326
|
-
} catch (error) {
|
|
3327
|
-
return {
|
|
3328
|
-
hist: []
|
|
3329
|
-
};
|
|
3330
|
-
}
|
|
3331
|
-
} catch (error) {
|
|
3332
|
-
return {
|
|
3333
|
-
hist: []
|
|
3334
|
-
};
|
|
3335
|
-
}
|
|
3336
|
-
}
|
|
3337
|
-
static GetModelForService(id, data, subscribeToKafka, logger) {
|
|
3338
|
-
try {
|
|
3339
|
-
const parseLog = [];
|
|
3340
|
-
const model = {
|
|
3341
|
-
id,
|
|
3342
|
-
instruments: {}
|
|
3343
|
-
};
|
|
3344
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.REQUEST_COUNT_GAUGE, "requestCount");
|
|
3345
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ERROR_COUNT_GAUGE, "errorCount");
|
|
3346
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.RETRY_COUNT_GAUGE, "retryCount");
|
|
3347
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_COUNT_GAUGE, "authenticationCount");
|
|
3348
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_ERROR_COUNT_GAUGE, "authenticationErrorCount");
|
|
3349
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_RETRY_COUNT_GAUGE, "authenticationRetryCount");
|
|
3350
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.VELOCITY_GAUGE, "velocity");
|
|
3351
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ACTIVE_REQUEST_GAUGE, "activeRequestCount");
|
|
3352
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_COUNT_GAUGE, "connectionCount");
|
|
3353
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_TOTAL_GAUGE, "connectionPoolCount");
|
|
3354
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_IDLE_GAUGE, "connectionIdleCount");
|
|
3355
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_WAITING_GAUGE, "connectionWaitingCount");
|
|
3356
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CORE_COUNT_GAUGE, "coreCount");
|
|
3357
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.TIMER_GAUGE, "timer");
|
|
3358
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_RX_GAUGE, "rx");
|
|
3359
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_TX_GAUGE, "tx");
|
|
3360
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.CPU_LOAD_GAUGE, "cpu", "cpu_quantile");
|
|
3361
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.CPU_SYSTEM_LOAD_GAUGE, "systemcpu", "systemcpu_quantile");
|
|
3362
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.DURATION_GAUGE, "duration", "duration_quantile");
|
|
3363
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.LATENCY_GAUGE, "latency", "latency_quantile");
|
|
3364
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.DURATION_HISTOGRAM_GAUGE, "duration_histo");
|
|
3365
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.LATENCY_HISTOGRAM_GAUGE, "latency_histo");
|
|
3366
|
-
_ObservabilityModelUtils2.ParseModelNodeObject(model, data, parseLog, Gauge.OBJECT_GAUGE, "memory");
|
|
3367
|
-
if (!subscribeToKafka) {
|
|
3368
|
-
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3369
|
-
}
|
|
3370
|
-
if (parseLog.length > 0) {
|
|
3371
|
-
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3372
|
-
}
|
|
3373
|
-
return model;
|
|
3374
|
-
} catch (error) {
|
|
3375
|
-
return null;
|
|
3376
|
-
}
|
|
3377
|
-
}
|
|
3378
|
-
static GetModelForLambda(id, data, subscribeToKafka, logger) {
|
|
3379
|
-
try {
|
|
3380
|
-
const parseLog = [];
|
|
3381
|
-
const model = {
|
|
3382
|
-
id,
|
|
3383
|
-
instruments: {}
|
|
3384
|
-
};
|
|
3385
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.REQUEST_COUNT_GAUGE, "requestCount");
|
|
3386
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ERROR_COUNT_GAUGE, "errorCount");
|
|
3387
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.RETRY_COUNT_GAUGE, "retryCount");
|
|
3388
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_COUNT_GAUGE, "authenticationCount");
|
|
3389
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_ERROR_COUNT_GAUGE, "authenticationErrorCount");
|
|
3390
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_RETRY_COUNT_GAUGE, "authenticationRetryCount");
|
|
3391
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.VELOCITY_GAUGE, "velocity");
|
|
3392
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ACTIVE_REQUEST_GAUGE, "activeRequestCount");
|
|
3393
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_COUNT_GAUGE, "connectionCount");
|
|
3394
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_TOTAL_GAUGE, "connectionPoolCount");
|
|
3395
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_IDLE_GAUGE, "connectionIdleCount");
|
|
3396
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CONNECTION_POOL_WAITING_GAUGE, "connectionWaitingCount");
|
|
3397
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CORE_COUNT_GAUGE, "coreCount");
|
|
3398
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.TIMER_GAUGE, "timer");
|
|
3399
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_RX_GAUGE, "rx");
|
|
3400
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_TX_GAUGE, "tx");
|
|
3401
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.CPU_LOAD_GAUGE, "cpu", "cpu_quantile");
|
|
3402
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.CPU_SYSTEM_LOAD_GAUGE, "systemcpu", "systemcpu_quantile");
|
|
3403
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.DURATION_GAUGE, "duration", "duration_quantile");
|
|
3404
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.LATENCY_GAUGE, "latency", "latency_quantile");
|
|
3405
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.DURATION_HISTOGRAM_GAUGE, "duration_histo");
|
|
3406
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.LATENCY_HISTOGRAM_GAUGE, "latency_histo");
|
|
3407
|
-
_ObservabilityModelUtils2.ParseModelNodeObject(model, data, parseLog, Gauge.OBJECT_GAUGE, "memory");
|
|
3408
|
-
if (!subscribeToKafka) {
|
|
3409
|
-
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3410
|
-
}
|
|
3411
|
-
if (parseLog.length > 0) {
|
|
3412
|
-
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3413
|
-
}
|
|
3414
|
-
return model;
|
|
3415
|
-
} catch (error) {
|
|
3416
|
-
return null;
|
|
3417
|
-
}
|
|
3418
|
-
}
|
|
3419
|
-
static GetModelForAgent(id, data, subscribeToKafka, logger) {
|
|
3420
|
-
try {
|
|
3421
|
-
if (Object.keys(data).length === 0) {
|
|
3422
|
-
return null;
|
|
3423
|
-
}
|
|
3424
|
-
const parseLog = [];
|
|
3425
|
-
const model = {
|
|
3426
|
-
id,
|
|
3427
|
-
instruments: {}
|
|
3428
|
-
};
|
|
3429
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.REQUEST_COUNT_GAUGE, "requestCount");
|
|
3430
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ERROR_COUNT_GAUGE, "errorCount");
|
|
3431
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.RETRY_COUNT_GAUGE, "retryCount");
|
|
3432
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_COUNT_GAUGE, "authenticationCount");
|
|
3433
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_ERROR_COUNT_GAUGE, "authenticationErrorCount");
|
|
3434
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.AUTHENTICATION_RETRY_COUNT_GAUGE, "authenticationRetryCount");
|
|
3435
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.VELOCITY_GAUGE, "velocity");
|
|
3436
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.CORE_COUNT_GAUGE, "coreCount");
|
|
3437
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.TIMER_GAUGE, "timer");
|
|
3438
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.ACTIVE_REQUEST_GAUGE, "activeRequestCount");
|
|
3439
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_RX_GAUGE, "rx");
|
|
3440
|
-
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, Gauge.NETWORK_TX_GAUGE, "tx");
|
|
3441
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.DURATION_GAUGE, "duration", "duration_quantile");
|
|
3442
|
-
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, Gauge.LATENCY_GAUGE, "latency", "latency_quantile");
|
|
3443
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.DURATION_HISTOGRAM_GAUGE, "duration_histo");
|
|
3444
|
-
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, Gauge.LATENCY_HISTOGRAM_GAUGE, "latency_histo");
|
|
3445
|
-
if (!subscribeToKafka) {
|
|
3446
|
-
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3447
|
-
}
|
|
3448
|
-
if (parseLog.length > 0) {
|
|
3449
|
-
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3450
|
-
}
|
|
3451
|
-
return model;
|
|
3452
|
-
} catch (error) {
|
|
3453
|
-
return null;
|
|
3454
|
-
}
|
|
3455
|
-
}
|
|
3456
|
-
};
|
|
3457
|
-
__publicField2(_ObservabilityModelUtils, "ParseModelNode", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3458
|
-
if (fieldName in data) {
|
|
3459
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNode(data[fieldName]);
|
|
3460
|
-
} else {
|
|
3461
|
-
parseLog.push(`ObservabilityModelUtils:ParseModelNode(): Field not present: [${fieldName}], default to [0]`);
|
|
3462
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNode(0);
|
|
3463
|
-
}
|
|
3464
|
-
});
|
|
3465
|
-
__publicField2(_ObservabilityModelUtils, "ParseModelNodeWithQuantile", (model, data, parseLog, gaugeName, fieldName, quantileFieldName) => {
|
|
3466
|
-
if (fieldName in data && quantileFieldName in data) {
|
|
3467
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(data[fieldName], data[quantileFieldName]);
|
|
3468
|
-
} else if (fieldName in data) {
|
|
3469
|
-
const dataVal = data[fieldName];
|
|
3470
|
-
parseLog.push(`ObservabilityModelUtils:ParseModelNodeWithQuantile(): QuantileFieldName not present: [${quantileFieldName}], default to [${dataVal},{}]`);
|
|
3471
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(dataVal, {});
|
|
3472
|
-
} else {
|
|
3473
|
-
parseLog.push(`ObservabilityModelUtils:ParseModelNodeWithQuantile(): Field not present: [${fieldName}], QuantileFieldName not present: [${quantileFieldName}], default to [0,{}]`);
|
|
3474
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(0, {});
|
|
3475
|
-
}
|
|
3476
|
-
});
|
|
3477
|
-
__publicField2(_ObservabilityModelUtils, "ParseModelNodeHisto", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3478
|
-
if (fieldName in data) {
|
|
3479
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeHistFromInfluxData(data[fieldName]);
|
|
3480
|
-
} else {
|
|
3481
|
-
parseLog.push(`ObservabilityModelUtils:ParseModelNodeHisto(): Field not present: [${fieldName}], default to [{}]`);
|
|
3482
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeHistFromInfluxData({});
|
|
3483
|
-
}
|
|
3484
|
-
});
|
|
3485
|
-
__publicField2(_ObservabilityModelUtils, "ParseModelNodeObject", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3486
|
-
if (fieldName in data) {
|
|
3487
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeObject(data[fieldName]);
|
|
3488
|
-
} else {
|
|
3489
|
-
parseLog.push(`ObservabilityModelUtils:ParseModelNodeObject(): Field not present: [${fieldName}], default to [{}]`);
|
|
3490
|
-
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeObject({});
|
|
3491
|
-
}
|
|
3492
|
-
});
|
|
3493
|
-
const byteToHex = [];
|
|
3494
|
-
for (let i = 0; i < 256; ++i) {
|
|
3495
|
-
byteToHex.push((i + 256).toString(16).slice(1));
|
|
3496
|
-
}
|
|
3497
|
-
typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
3498
3239
|
const instrumentationObservationInterval = 1e3;
|
|
3499
3240
|
const instrumentationTimeWindow = 600;
|
|
3500
3241
|
const consoleLogging = true;
|
|
3501
3242
|
const instrumentLogging = true;
|
|
3502
|
-
|
|
3243
|
+
const globalServiceDefinitions = {
|
|
3503
3244
|
coreFieldList: [
|
|
3504
3245
|
{ fieldName: "requestCount", gauge: Gauge.REQUEST_COUNT_GAUGE, instrumentProperty: "val", dataType: "number", influxdbDataType: "intField", gaugeType: GaugeTypes.INSTRUMENT_GAUGE },
|
|
3505
3246
|
{ fieldName: "errorCount", gauge: Gauge.ERROR_COUNT_GAUGE, instrumentProperty: "val", dataType: "number", influxdbDataType: "intField", gaugeType: GaugeTypes.INSTRUMENT_GAUGE },
|
|
@@ -3548,7 +3289,7 @@ const instrumentLogging = true;
|
|
|
3548
3289
|
{ label: "B50000", bucketLimit: 5e4 },
|
|
3549
3290
|
{ label: "BInfinity", bucketLimit: -1 }
|
|
3550
3291
|
],
|
|
3551
|
-
|
|
3292
|
+
histoGauge: Gauge.DURATION_HISTOGRAM_GAUGE
|
|
3552
3293
|
},
|
|
3553
3294
|
{
|
|
3554
3295
|
fieldName: "latency",
|
|
@@ -3572,7 +3313,7 @@ const instrumentLogging = true;
|
|
|
3572
3313
|
{ label: "B50000", bucketLimit: 5e4 },
|
|
3573
3314
|
{ label: "BInfinity", bucketLimit: -1 }
|
|
3574
3315
|
],
|
|
3575
|
-
|
|
3316
|
+
histoGauge: Gauge.LATENCY_HISTOGRAM_GAUGE
|
|
3576
3317
|
}
|
|
3577
3318
|
],
|
|
3578
3319
|
logFieldList: [
|
|
@@ -3791,7 +3532,225 @@ const instrumentLogging = true;
|
|
|
3791
3532
|
]
|
|
3792
3533
|
}
|
|
3793
3534
|
}
|
|
3535
|
+
};
|
|
3536
|
+
const _ObservabilityModelUtils = class _ObservabilityModelUtils2 {
|
|
3537
|
+
static GetModelNode(data) {
|
|
3538
|
+
const fixedSize = 2;
|
|
3539
|
+
const padLength = 9;
|
|
3540
|
+
try {
|
|
3541
|
+
return {
|
|
3542
|
+
val: data,
|
|
3543
|
+
vf: parseFloat(data.toString()).toFixed(fixedSize).padStart(padLength, " "),
|
|
3544
|
+
value: parseFloat(data.toString()).toFixed(fixedSize)
|
|
3545
|
+
};
|
|
3546
|
+
} catch (error) {
|
|
3547
|
+
return {
|
|
3548
|
+
val: 0,
|
|
3549
|
+
vf: "",
|
|
3550
|
+
value: ""
|
|
3551
|
+
};
|
|
3552
|
+
}
|
|
3553
|
+
}
|
|
3554
|
+
static GetModelNodeRawStringArray(data) {
|
|
3555
|
+
try {
|
|
3556
|
+
return {
|
|
3557
|
+
val: data
|
|
3558
|
+
};
|
|
3559
|
+
} catch (error) {
|
|
3560
|
+
return {
|
|
3561
|
+
val: []
|
|
3562
|
+
};
|
|
3563
|
+
}
|
|
3564
|
+
}
|
|
3565
|
+
static GetModelNodeObject(data) {
|
|
3566
|
+
try {
|
|
3567
|
+
return {
|
|
3568
|
+
val: JSON.parse(data)
|
|
3569
|
+
};
|
|
3570
|
+
} catch (error) {
|
|
3571
|
+
return {
|
|
3572
|
+
val: null
|
|
3573
|
+
};
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
static GetModelNodeWithQuantile(data, quantileData) {
|
|
3577
|
+
let quantile2 = "";
|
|
3578
|
+
const quantileDataElementArray = [];
|
|
3579
|
+
for (const [key, val] of Object.entries(quantileData)) {
|
|
3580
|
+
quantile2 += parseFloat(val.toFixed(2)).toString().padStart(8, " ");
|
|
3581
|
+
quantileDataElementArray.push([
|
|
3582
|
+
key,
|
|
3583
|
+
val
|
|
3584
|
+
]);
|
|
3585
|
+
}
|
|
3586
|
+
const fixedSize = 2;
|
|
3587
|
+
const padLength = 9;
|
|
3588
|
+
try {
|
|
3589
|
+
return {
|
|
3590
|
+
val: data,
|
|
3591
|
+
vf: parseFloat(data.toString()).toFixed(fixedSize).padStart(padLength, " "),
|
|
3592
|
+
value: parseFloat(data.toString()).toFixed(fixedSize),
|
|
3593
|
+
percentile: quantileDataElementArray,
|
|
3594
|
+
percentileFormatted: quantile2
|
|
3595
|
+
};
|
|
3596
|
+
} catch (error) {
|
|
3597
|
+
return {
|
|
3598
|
+
val: 0,
|
|
3599
|
+
vf: "",
|
|
3600
|
+
value: "",
|
|
3601
|
+
percentile: [],
|
|
3602
|
+
percentileFormatted: ""
|
|
3603
|
+
};
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
static GetModelNodeHistFromInfluxData(data) {
|
|
3607
|
+
try {
|
|
3608
|
+
const histVal = [];
|
|
3609
|
+
if (data) {
|
|
3610
|
+
for (const [key, val] of Object.entries(data)) {
|
|
3611
|
+
const dataElement = [
|
|
3612
|
+
val,
|
|
3613
|
+
key,
|
|
3614
|
+
parseInt(key)
|
|
3615
|
+
];
|
|
3616
|
+
histVal.push(dataElement);
|
|
3617
|
+
}
|
|
3618
|
+
}
|
|
3619
|
+
try {
|
|
3620
|
+
return {
|
|
3621
|
+
hist: histVal
|
|
3622
|
+
};
|
|
3623
|
+
} catch (error) {
|
|
3624
|
+
return {
|
|
3625
|
+
hist: []
|
|
3626
|
+
};
|
|
3627
|
+
}
|
|
3628
|
+
} catch (error) {
|
|
3629
|
+
return {
|
|
3630
|
+
hist: []
|
|
3631
|
+
};
|
|
3632
|
+
}
|
|
3633
|
+
}
|
|
3634
|
+
static GetModelData(serviceType, model, data, parseLog) {
|
|
3635
|
+
const fieldList = [
|
|
3636
|
+
...globalServiceDefinitions.coreFieldList,
|
|
3637
|
+
...globalServiceDefinitions.services[serviceType].fieldList
|
|
3638
|
+
];
|
|
3639
|
+
fieldList.forEach((field) => {
|
|
3640
|
+
if (field.quantile) {
|
|
3641
|
+
_ObservabilityModelUtils2.ParseModelNodeWithQuantile(model, data, parseLog, field.gauge, field.fieldName, `${field.fieldName}_quantile`);
|
|
3642
|
+
} else if (field.gaugeType.localeCompare(GaugeTypes.INSTRUMENT_OBJECT) === 0) {
|
|
3643
|
+
_ObservabilityModelUtils2.ParseModelNodeObject(model, data, parseLog, field.gauge, field.fieldName);
|
|
3644
|
+
} else {
|
|
3645
|
+
_ObservabilityModelUtils2.ParseModelNode(model, data, parseLog, field.gauge, field.fieldName);
|
|
3646
|
+
}
|
|
3647
|
+
if (field.histo) {
|
|
3648
|
+
_ObservabilityModelUtils2.ParseModelNodeHisto(model, data, parseLog, field.histoGauge, `${field.fieldName}_histo`);
|
|
3649
|
+
}
|
|
3650
|
+
});
|
|
3651
|
+
}
|
|
3652
|
+
static GetModelForService(id, data, subscribeToKafka, logger) {
|
|
3653
|
+
try {
|
|
3654
|
+
const parseLog = [];
|
|
3655
|
+
const model = {
|
|
3656
|
+
id,
|
|
3657
|
+
instruments: {}
|
|
3658
|
+
};
|
|
3659
|
+
this.GetModelData("service", model, data, parseLog);
|
|
3660
|
+
if (!subscribeToKafka) {
|
|
3661
|
+
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3662
|
+
}
|
|
3663
|
+
if (parseLog.length > 0) {
|
|
3664
|
+
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3665
|
+
}
|
|
3666
|
+
return model;
|
|
3667
|
+
} catch (error) {
|
|
3668
|
+
return null;
|
|
3669
|
+
}
|
|
3670
|
+
}
|
|
3671
|
+
static GetModelForLambda(id, data, subscribeToKafka, logger) {
|
|
3672
|
+
try {
|
|
3673
|
+
const parseLog = [];
|
|
3674
|
+
const model = {
|
|
3675
|
+
id,
|
|
3676
|
+
instruments: {}
|
|
3677
|
+
};
|
|
3678
|
+
this.GetModelData("lambda", model, data, parseLog);
|
|
3679
|
+
if (!subscribeToKafka) {
|
|
3680
|
+
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3681
|
+
}
|
|
3682
|
+
if (parseLog.length > 0) {
|
|
3683
|
+
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3684
|
+
}
|
|
3685
|
+
return model;
|
|
3686
|
+
} catch (error) {
|
|
3687
|
+
return null;
|
|
3688
|
+
}
|
|
3689
|
+
}
|
|
3690
|
+
static GetModelForAgent(id, data, subscribeToKafka, logger) {
|
|
3691
|
+
try {
|
|
3692
|
+
if (Object.keys(data).length === 0) {
|
|
3693
|
+
return null;
|
|
3694
|
+
}
|
|
3695
|
+
const parseLog = [];
|
|
3696
|
+
const model = {
|
|
3697
|
+
id,
|
|
3698
|
+
instruments: {}
|
|
3699
|
+
};
|
|
3700
|
+
this.GetModelData("agent", model, data, parseLog);
|
|
3701
|
+
if (!subscribeToKafka) {
|
|
3702
|
+
model.instruments[Gauge.LOGGER] = _ObservabilityModelUtils2.GetModelNodeRawStringArray(data["logMessages"]);
|
|
3703
|
+
}
|
|
3704
|
+
if (parseLog.length > 0) {
|
|
3705
|
+
parseLog.forEach((logEntry) => logger.debug(logEntry));
|
|
3706
|
+
}
|
|
3707
|
+
return model;
|
|
3708
|
+
} catch (error) {
|
|
3709
|
+
return null;
|
|
3710
|
+
}
|
|
3711
|
+
}
|
|
3712
|
+
};
|
|
3713
|
+
__publicField2(_ObservabilityModelUtils, "ParseModelNode", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3714
|
+
if (fieldName in data) {
|
|
3715
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNode(data[fieldName]);
|
|
3716
|
+
} else {
|
|
3717
|
+
parseLog.push(`ObservabilityModelUtils:ParseModelNode(): Field not present: [${fieldName}], default to [0]`);
|
|
3718
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNode(0);
|
|
3719
|
+
}
|
|
3720
|
+
});
|
|
3721
|
+
__publicField2(_ObservabilityModelUtils, "ParseModelNodeWithQuantile", (model, data, parseLog, gaugeName, fieldName, quantileFieldName) => {
|
|
3722
|
+
if (fieldName in data && quantileFieldName in data) {
|
|
3723
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(data[fieldName], data[quantileFieldName]);
|
|
3724
|
+
} else if (fieldName in data) {
|
|
3725
|
+
const dataVal = data[fieldName];
|
|
3726
|
+
parseLog.push(`ObservabilityModelUtils:ParseModelNodeWithQuantile(): QuantileFieldName not present: [${quantileFieldName}], default to [${dataVal},{}]`);
|
|
3727
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(dataVal, {});
|
|
3728
|
+
} else {
|
|
3729
|
+
parseLog.push(`ObservabilityModelUtils:ParseModelNodeWithQuantile(): Field not present: [${fieldName}], QuantileFieldName not present: [${quantileFieldName}], default to [0,{}]`);
|
|
3730
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeWithQuantile(0, {});
|
|
3731
|
+
}
|
|
3794
3732
|
});
|
|
3733
|
+
__publicField2(_ObservabilityModelUtils, "ParseModelNodeHisto", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3734
|
+
if (fieldName in data) {
|
|
3735
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeHistFromInfluxData(data[fieldName]);
|
|
3736
|
+
} else {
|
|
3737
|
+
parseLog.push(`ObservabilityModelUtils:ParseModelNodeHisto(): Field not present: [${fieldName}], default to [{}]`);
|
|
3738
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeHistFromInfluxData({});
|
|
3739
|
+
}
|
|
3740
|
+
});
|
|
3741
|
+
__publicField2(_ObservabilityModelUtils, "ParseModelNodeObject", (model, data, parseLog, gaugeName, fieldName) => {
|
|
3742
|
+
if (fieldName in data) {
|
|
3743
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeObject(data[fieldName]);
|
|
3744
|
+
} else {
|
|
3745
|
+
parseLog.push(`ObservabilityModelUtils:ParseModelNodeObject(): Field not present: [${fieldName}], default to [{}]`);
|
|
3746
|
+
model.instruments[gaugeName] = _ObservabilityModelUtils.GetModelNodeObject({});
|
|
3747
|
+
}
|
|
3748
|
+
});
|
|
3749
|
+
const byteToHex = [];
|
|
3750
|
+
for (let i = 0; i < 256; ++i) {
|
|
3751
|
+
byteToHex.push((i + 256).toString(16).slice(1));
|
|
3752
|
+
}
|
|
3753
|
+
typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
3795
3754
|
const TelemetryStore = defineStore("__sts__TelemetryStore", {
|
|
3796
3755
|
// State
|
|
3797
3756
|
// https://pinia.vuejs.org/core-concepts/state.html
|