@lark-apaas/observable-web 1.0.2-alpha.1 → 1.0.2-alpha.10
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/index.d.ts +1 -0
- package/dist/index.js +53 -11
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -7,9 +7,16 @@ var sdkLogs = require('@opentelemetry/sdk-logs');
|
|
|
7
7
|
var sdkMetrics = require('@opentelemetry/sdk-metrics');
|
|
8
8
|
var sdkTraceWeb = require('@opentelemetry/sdk-trace-web');
|
|
9
9
|
var sdkTraceBase = require('@opentelemetry/sdk-trace-base');
|
|
10
|
+
var StackTrace = require('stacktrace-js');
|
|
10
11
|
var core = require('@opentelemetry/core');
|
|
11
12
|
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var StackTrace__default = /*#__PURE__*/_interopDefault(StackTrace);
|
|
16
|
+
|
|
12
17
|
var __defProp = Object.defineProperty;
|
|
18
|
+
var __defProps = Object.defineProperties;
|
|
19
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
13
20
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
14
21
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
22
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -25,6 +32,7 @@ var __spreadValues = (a, b) => {
|
|
|
25
32
|
}
|
|
26
33
|
return a;
|
|
27
34
|
};
|
|
35
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
28
36
|
var __async = (__this, __arguments, generator) => {
|
|
29
37
|
return new Promise((resolve, reject) => {
|
|
30
38
|
var fulfilled = (value) => {
|
|
@@ -768,10 +776,10 @@ var TraceAPI = (
|
|
|
768
776
|
}
|
|
769
777
|
return this._instance;
|
|
770
778
|
};
|
|
771
|
-
TraceAPI2.prototype.setGlobalTracerProvider = function(
|
|
779
|
+
TraceAPI2.prototype.setGlobalTracerProvider = function(provider) {
|
|
772
780
|
var success = registerGlobal(API_NAME3, this._proxyTracerProvider, DiagAPI.instance());
|
|
773
781
|
if (success) {
|
|
774
|
-
this._proxyTracerProvider.setDelegate(
|
|
782
|
+
this._proxyTracerProvider.setDelegate(provider);
|
|
775
783
|
}
|
|
776
784
|
return success;
|
|
777
785
|
};
|
|
@@ -794,7 +802,7 @@ var trace = TraceAPI.getInstance();
|
|
|
794
802
|
|
|
795
803
|
// package.json
|
|
796
804
|
var package_default = {
|
|
797
|
-
version: "1.0.2-alpha.
|
|
805
|
+
version: "1.0.2-alpha.10"};
|
|
798
806
|
|
|
799
807
|
// src/const.ts
|
|
800
808
|
var defaultResourceAttr = {
|
|
@@ -1078,7 +1086,11 @@ var PvInstrumentation = class {
|
|
|
1078
1086
|
referrer: document.referrer
|
|
1079
1087
|
});
|
|
1080
1088
|
};
|
|
1081
|
-
|
|
1089
|
+
if (document.readyState === "complete") {
|
|
1090
|
+
reportPv();
|
|
1091
|
+
} else {
|
|
1092
|
+
window.addEventListener("load", reportPv);
|
|
1093
|
+
}
|
|
1082
1094
|
window.addEventListener("popstate", reportPv);
|
|
1083
1095
|
this.patchHistory("pushState", reportPv);
|
|
1084
1096
|
this.patchHistory("replaceState", reportPv);
|
|
@@ -1274,14 +1286,24 @@ var CustomWebTraceExporter = class {
|
|
|
1274
1286
|
}
|
|
1275
1287
|
};
|
|
1276
1288
|
|
|
1289
|
+
// src/utils/stackTrace.ts
|
|
1290
|
+
var mapStacktrace = (stacktrace) => stacktrace.map(
|
|
1291
|
+
(frame) => {
|
|
1292
|
+
var _a, _b;
|
|
1293
|
+
return {
|
|
1294
|
+
fileName: ((_b = (_a = frame.fileName) == null ? void 0 : _a.split("/")) == null ? void 0 : _b.pop()) || "",
|
|
1295
|
+
line: frame.lineNumber || 0,
|
|
1296
|
+
column: frame.columnNumber || 0
|
|
1297
|
+
};
|
|
1298
|
+
}
|
|
1299
|
+
);
|
|
1300
|
+
|
|
1277
1301
|
// src/core/sdk.ts
|
|
1278
|
-
var
|
|
1279
|
-
provider.register({
|
|
1280
|
-
contextManager: new contextZone.ZoneContextManager()
|
|
1281
|
-
});
|
|
1302
|
+
var MAX_STACK_FRAMES = 50;
|
|
1282
1303
|
var _WebObservableSdk = class _WebObservableSdk {
|
|
1283
1304
|
constructor() {
|
|
1284
1305
|
this.isStarted = false;
|
|
1306
|
+
this.counterCache = /* @__PURE__ */ new Map();
|
|
1285
1307
|
}
|
|
1286
1308
|
static get instance() {
|
|
1287
1309
|
if (!this._instance) {
|
|
@@ -1365,7 +1387,9 @@ var _WebObservableSdk = class _WebObservableSdk {
|
|
|
1365
1387
|
})
|
|
1366
1388
|
]
|
|
1367
1389
|
});
|
|
1368
|
-
this.tracerProvider.register(
|
|
1390
|
+
this.tracerProvider.register({
|
|
1391
|
+
contextManager: new contextZone.ZoneContextManager()
|
|
1392
|
+
});
|
|
1369
1393
|
this.tracer = this.tracerProvider.getTracer("web-tracer");
|
|
1370
1394
|
}
|
|
1371
1395
|
initAutoPv() {
|
|
@@ -1462,12 +1486,25 @@ var _WebObservableSdk = class _WebObservableSdk {
|
|
|
1462
1486
|
}
|
|
1463
1487
|
// --- 公开 API: 日志(Log) ---
|
|
1464
1488
|
log(level, message, attributes = {}, span) {
|
|
1489
|
+
let traceInfo = [];
|
|
1490
|
+
if (level === "ERROR") {
|
|
1491
|
+
const stacktrace = StackTrace__default.default.getSync();
|
|
1492
|
+
if (stacktrace && stacktrace.length > 0) {
|
|
1493
|
+
traceInfo = mapStacktrace(stacktrace);
|
|
1494
|
+
if (traceInfo.length > MAX_STACK_FRAMES) {
|
|
1495
|
+
traceInfo = traceInfo.slice(0, MAX_STACK_FRAMES);
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1465
1499
|
try {
|
|
1466
1500
|
const ctx = span ? trace.setSpan(context.active(), span) : context.active();
|
|
1501
|
+
if (!this.logger) return;
|
|
1467
1502
|
this.logger.emit({
|
|
1468
1503
|
severityText: level,
|
|
1469
1504
|
body: message,
|
|
1470
|
-
attributes,
|
|
1505
|
+
attributes: __spreadProps(__spreadValues({}, attributes), {
|
|
1506
|
+
stack: JSON.stringify(traceInfo)
|
|
1507
|
+
}),
|
|
1471
1508
|
timestamp: _WebObservableSdk.getCalibratedDate(),
|
|
1472
1509
|
context: ctx
|
|
1473
1510
|
});
|
|
@@ -1477,7 +1514,12 @@ var _WebObservableSdk = class _WebObservableSdk {
|
|
|
1477
1514
|
}
|
|
1478
1515
|
// --- 公开 API: 计数器 (Metric) ---
|
|
1479
1516
|
addCount(name, value = 1, attributes = {}) {
|
|
1480
|
-
|
|
1517
|
+
if (!this.meter) return;
|
|
1518
|
+
let counter = this.counterCache.get(name);
|
|
1519
|
+
if (!counter) {
|
|
1520
|
+
counter = this.meter.createCounter(name);
|
|
1521
|
+
this.counterCache.set(name, counter);
|
|
1522
|
+
}
|
|
1481
1523
|
counter.add(value, attributes);
|
|
1482
1524
|
}
|
|
1483
1525
|
startSpan(name, options, spanContext) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/observable-web",
|
|
3
|
-
"version": "1.0.2-alpha.
|
|
3
|
+
"version": "1.0.2-alpha.10",
|
|
4
4
|
"description": "Observable SDK For Web",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -41,4 +41,4 @@
|
|
|
41
41
|
"react": ">=16.14.0",
|
|
42
42
|
"react-dom": ">=16.14.0"
|
|
43
43
|
}
|
|
44
|
-
}
|
|
44
|
+
}
|