@blueking/monitor-apm-log 2.3.24 → 2.3.26

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.
Files changed (3) hide show
  1. package/css/main.css +1 -1
  2. package/main.js +61 -33
  3. package/package.json +1 -1
package/css/main.css CHANGED
@@ -86,7 +86,7 @@ ul.search-items{display:inline-flex;flex-wrap:wrap;width:100%;max-height:135px;p
86
86
  .kv-list-wrapper[data-v-0e8a994f]{max-height:50vh;overflow-y:auto;font-family:var(--table-fount-family);font-size:var(--table-fount-size)}.kv-list-wrapper .log-item[data-v-0e8a994f]:nth-child(even){background-color:#f5f7fa}.kv-list-wrapper .log-item[data-v-0e8a994f]:nth-child(odd){background-color:#fff}.kv-list-wrapper .log-item[data-v-0e8a994f]{display:flex;align-items:center;justify-content:center;min-height:24px;padding-left:8px}.kv-list-wrapper .log-item .field-value[data-v-0e8a994f]{display:flex;align-items:flex-start;color:#16171a;word-break:break-all}.kv-list-wrapper .log-item .field-value[data-v-0e8a994f] .valid-text:hover{text-decoration:underline;text-decoration-color:#498eff}.kv-list-wrapper .log-item .field-label[data-v-0e8a994f]{display:flex;flex-shrink:0;flex-wrap:nowrap;align-items:stretch;height:100%;margin:5px 0;margin-right:18px;align-self:flex-start;width:300px}.kv-list-wrapper .log-item .field-label .field-eye-icon[data-v-0e8a994f]{display:inline-flex;align-items:center;justify-content:center;width:12px;margin-right:8px;font-size:12px;color:#4d4f56;border-radius:2px}.kv-list-wrapper .log-item .field-label .field-eye-icon[data-v-0e8a994f]:hover{color:#3a84ff}.kv-list-wrapper .log-item .field-label .field-type-icon[data-v-0e8a994f]{display:inline-flex;align-items:center;justify-content:center;width:16px;min-width:16px;margin:0 5px 0 0;font-size:14px;color:#63656e;background:#dcdee5;border-radius:2px}.kv-list-wrapper .log-item .field-label .field-text[data-v-0e8a994f]{display:block;width:auto;overflow:hidden;font-family:Roboto-Regular;color:#313238;word-break:normal;word-wrap:break-word}.kv-list-wrapper .log-item .field-label[data-v-0e8a994f] .bklog-ext{min-width:22px;height:22px;transform:translateX(-3px) scale(0.7)}.kv-list-wrapper .relation-monitor-btn[data-v-0e8a994f]{display:flex;column-gap:2px;align-items:center;min-width:fit-content;padding-top:1px;padding-right:6px;font-size:12px;line-height:22px;color:#3a84ff;cursor:pointer}.kv-list-wrapper .relation-monitor-btn .bklog-jump[data-v-0e8a994f]{font-size:14px}.kv-list-wrapper .load-more-btn[data-v-0e8a994f]{display:flex;align-items:center;color:#3a84ff;margin-top:8px;margin-left:4px;cursor:pointer;font-size:12px}.kv-list-wrapper .load-more-btn span[data-v-0e8a994f]{font-size:12px}.kv-list-wrapper .load-more-btn .bklog-more[data-v-0e8a994f],.kv-list-wrapper .load-more-btn .bklog-log-loading[data-v-0e8a994f]{margin-right:4px;font-size:12px;color:#3a84ff}.kv-list-wrapper .load-more-btn .bklog-more[data-v-0e8a994f]{font-size:18px;transform:rotate(90deg)}.kv-list-wrapper .skeleton-list-wrapper[data-v-0e8a994f]{padding:2px 15px 14px 15px}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item[data-v-0e8a994f]{display:flex;align-items:center;justify-content:center;min-height:24px;padding-left:8px;margin:0}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item[data-v-0e8a994f]:nth-child(even){background-color:#f5f7fa}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item[data-v-0e8a994f]:nth-child(odd){background-color:#fff}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-label[data-v-0e8a994f]{display:flex;flex-shrink:0;flex-wrap:nowrap;align-items:center;height:100%;margin:5px 0;margin-right:18px;align-self:flex-start;width:300px}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-label .skeleton-icon[data-v-0e8a994f]{width:12px;min-width:12px;height:12px;margin-right:8px;border-radius:2px}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-label[data-v-0e8a994f]::before{content:"";display:inline-block;width:16px;min-width:16px;height:16px;margin-right:5px;border-radius:2px;background:linear-gradient(90deg, #f0f2f5 25%, #e6e9ed 50%, #f0f2f5 70%);background-size:400% 100%;animation:shimmer-0e8a994f 1.8s infinite linear}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-label .skeleton-text[data-v-0e8a994f]{flex:1;height:14px;min-width:80px;max-width:200px;border-radius:2px}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-value[data-v-0e8a994f]{display:flex;align-items:flex-start;flex:1;min-width:0;color:#16171a;word-break:break-all}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton-field-value .skeleton-value[data-v-0e8a994f]{height:14px;width:100%;min-width:100px;max-width:500px;border-radius:2px}.kv-list-wrapper .skeleton-list-wrapper .skeleton-list-item .skeleton[data-v-0e8a994f]{background:linear-gradient(90deg, #f0f2f5 25%, #e6e9ed 50%, #f0f2f5 70%);background-size:400% 100%;animation:shimmer-0e8a994f 1.8s infinite linear}@keyframes shimmer-0e8a994f{0%{background-position:200% 0}100%{background-position:-200% 0}}
87
87
  .expand-view-wrapper[data-v-d72c98f0]{width:100%;color:#313238;background-color:#f5f7fa}.expand-view-wrapper .view-tab[data-v-d72c98f0]{display:flex;justify-content:space-between;padding-right:15px;font-size:0;background-color:#f5f7fa}.expand-view-wrapper .view-tab .tab-left span[data-v-d72c98f0]{display:inline-block;width:46px;height:23px;font-size:12px;line-height:23px;color:#313238;text-align:center;cursor:pointer;border-top:0}.expand-view-wrapper .view-tab .tab-left span[data-v-d72c98f0]:first-child{border-left:0}.expand-view-wrapper .view-tab .tab-left span.activeKv[data-v-d72c98f0],.expand-view-wrapper .view-tab .tab-left span.activeJson[data-v-d72c98f0]{position:relative;font-size:12px;font-weight:700}.expand-view-wrapper .view-tab .tab-left span.activeKv[data-v-d72c98f0]::after{position:absolute;top:-2px;left:14px;width:17px;height:2px;content:"";background-color:#313238}.expand-view-wrapper .view-tab .tab-left span.activeJson[data-v-d72c98f0]::after{position:absolute;top:-2px;left:10px;width:30px;height:2px;content:"";background-color:#313238}.expand-view-wrapper .view-tab .tab-right[data-v-d72c98f0]{position:sticky;right:20px;display:flex;align-items:center}.expand-view-wrapper .view-tab .tab-right .search-input[data-v-d72c98f0]{margin-right:10px}.expand-view-wrapper .view-tab .tab-right .search-input[data-v-d72c98f0] .bk-form-input{width:200px;height:22px;background:#f5f7fa;padding:0;border:none;border-bottom:1px solid #c4c6cc}.expand-view-wrapper .view-tab .tab-right .search-input[data-v-d72c98f0] .bk-form-input:focus{background:#f5f7fa !important}.expand-view-wrapper .view-tab .tab-right .search-input[data-v-d72c98f0] .right-icon{right:0px !important}.expand-view-wrapper .view-tab .tab-right .bklog-icon[data-v-d72c98f0]{font-size:16px;color:#63656e;cursor:pointer}.expand-view-wrapper .view-tab .tab-right .bklog-icon[data-v-d72c98f0]:hover{color:#3a84ff}.expand-view-wrapper .view-content[data-v-d72c98f0]{padding:2px 15px 14px 15px;background-color:#f5f7fa}.expand-view-wrapper .view-content[data-v-d72c98f0] .vjs-tree{font-size:var(--table-fount-size) !important}.expand-view-wrapper .view-content[data-v-d72c98f0] .vjs-tree .vjs-tree-node{line-height:22px}.expand-view-wrapper .view-content[data-v-d72c98f0] .vjs-tree .vjs-tree-node .vjs-value.vjs-value-string{white-space:pre-wrap}.expand-view-wrapper .view-content[data-v-d72c98f0] .kv-content .bklog-text-segment.bklog-root-field{max-height:fit-content}
88
88
  .json-view-content .vjs-tree-brackets,.json-view-content .vjs-key{color:#9d694c !important}.json-view-content .vjs-value-string{color:#357a94}.json-view-content .vjs-value-number{color:#2caf5e}.json-view-content .vjs-indent-unit.has-line{border-left:1px solid #bfcbd9}
89
- .handle-content[data-v-2caca865]{position:absolute;right:0;display:flex;align-items:flex-start;justify-content:center;width:84px;overflow:hidden}.handle-content .handle-card[data-v-2caca865]{display:flex;align-items:center;justify-content:center;width:18px;height:20px;margin-left:10px;font-size:18px;color:#8b92a5}.handle-content .handle-card .bklog-icon[data-v-2caca865]{cursor:pointer}.handle-content .handle-card.ai-assistant[data-v-2caca865]{position:relative}.handle-content .handle-card.ai-assistant img[data-v-2caca865]{position:absolute;top:0;left:0;width:20px;height:20px;cursor:pointer;background-color:#fff;opacity:0}.fix-content[data-v-2caca865]{width:auto;background-color:#f5f7fa}.icon-exclamation-circle-shape[data-v-2caca865]{color:#d7473f}.icon-more[data-v-2caca865]{transform:translateY(2px) translateX(4px)}.is-disable[data-v-2caca865]{color:#eceef2 !important;cursor:no-drop !important}.clean-str[data-v-2caca865]{color:#3a84ff;cursor:pointer}.union-icon[data-v-2caca865]{margin-right:8px}.bklog-handle[data-v-2caca865]{font-size:14px;color:#979ba5;cursor:pointer}.bklog-handle[data-v-2caca865]:hover{color:#3a84ff}
89
+ .handle-content[data-v-e9e5db3e]{position:absolute;right:0;display:flex;align-items:flex-start;justify-content:center;width:84px;overflow:hidden}.handle-content .handle-card[data-v-e9e5db3e]{display:flex;align-items:center;justify-content:center;width:18px;height:20px;margin-left:10px;font-size:18px;color:#8b92a5}.handle-content .handle-card .bklog-icon[data-v-e9e5db3e]{cursor:pointer}.handle-content .handle-card.ai-assistant[data-v-e9e5db3e]{position:relative}.handle-content .handle-card.ai-assistant img[data-v-e9e5db3e]{position:absolute;top:0;left:0;width:20px;height:20px;cursor:pointer;background-color:#fff;opacity:0}.fix-content[data-v-e9e5db3e]{width:auto;background-color:#f5f7fa}.icon-exclamation-circle-shape[data-v-e9e5db3e]{color:#d7473f}.icon-more[data-v-e9e5db3e]{transform:translateY(2px) translateX(4px)}.is-disable[data-v-e9e5db3e]{color:#eceef2 !important;cursor:no-drop !important}.clean-str[data-v-e9e5db3e]{color:#3a84ff;cursor:pointer}.union-icon[data-v-e9e5db3e]{margin-right:8px}.bklog-handle[data-v-e9e5db3e]{font-size:14px;color:#979ba5;cursor:pointer}.bklog-handle[data-v-e9e5db3e]:hover{color:#3a84ff}
90
90
  .bklog-v3-btn-scroll-top{position:fixed;right:30px;bottom:50px;z-index:3;display:none;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;background:#fff;border:1px solid #e9ecf1;border-radius:50%;box-shadow:0 3px 10px 0 rgba(0,0,0,.1215686275);transition:.3s}.bklog-v3-btn-scroll-top.show-box{display:flex}.bklog-v3-btn-scroll-top i{font-size:24px;color:#3a84ff}
91
91
  .bklog-row-observe{position:relative;height:fit-content}
92
92
  .bklog-scroll-x{position:fixed;right:var(--right);bottom:0;z-index:4;height:14px;overflow-x:auto;background-color:rgba(0,0,0,0)}.bklog-scroll-x>div{height:1px;background-color:rgba(0,0,0,0)}
package/main.js CHANGED
@@ -115745,13 +115745,6 @@ class TaskEventManager {
115745
115745
  }
115746
115746
  const taskEventManager = new TaskEventManager();
115747
115747
  class UseSegmentProp {
115748
- /**
115749
- * 全局实例递增计数器。
115750
- * 同一页面可能同时加载多个检索包(例如 apm + trace),它们会共享 document.body。
115751
- * 这里通过递增计数为每个 UseSegmentProp 实例生成稳定且唯一的 owner id,
115752
- * 用于隔离弹层 DOM 的查询与复用,避免“后加载包误复用先加载包节点”。
115753
- */
115754
- static instanceCounter = 0;
115755
115748
  className = 'bklog-segment-pop-content';
115756
115749
  wrapperClassName = 'bklog-pop-wrapper';
115757
115750
  wrapperIdName = 'bklog_pop_wrapper';
@@ -115764,6 +115757,20 @@ class UseSegmentProp {
115764
115757
  stopPropagation;
115765
115758
  aiBluekingEnabled;
115766
115759
  highlightEnabled;
115760
+ /**
115761
+ * 生成实例 owner id(跨 bundle 全局唯一)。
115762
+ *
115763
+ * 注意:APM 和 Trace 在宿主页里可能是两个独立构建产物,
115764
+ * 如果只使用“模块内 static 计数器”,每个 bundle 都会从 1 开始计数,
115765
+ * 最终产生同名 owner(例如都叫 segment-pop-1),依然会误复用对方节点。
115766
+ *
115767
+ * 这里把计数器提升到 window 级别,确保两个独立包共享同一计数空间。
115768
+ */
115769
+ static getNextInstanceId() {
115770
+ const nextCounter = (window.__BKLOG_SEGMENT_POP_COUNTER__ ?? 0) + 1;
115771
+ window.__BKLOG_SEGMENT_POP_COUNTER__ = nextCounter;
115772
+ return `segment-pop-${nextCounter}`;
115773
+ }
115767
115774
  constructor() {
115768
115775
  let {
115769
115776
  delineate = false,
@@ -115775,9 +115782,8 @@ class UseSegmentProp {
115775
115782
  const {
115776
115783
  $t
115777
115784
  } = use_locale();
115778
- // 生成实例唯一 owner,后续会写到 DOM data 属性中做精确定位。
115779
- UseSegmentProp.instanceCounter += 1;
115780
- this.instanceId = `segment-pop-${UseSegmentProp.instanceCounter}`;
115785
+ // 生成全局唯一 owner,后续会写到 DOM data 属性中做精确定位。
115786
+ this.instanceId = UseSegmentProp.getNextInstanceId();
115781
115787
  this.$t = $t;
115782
115788
  this.refContent = (0,external_vue_.ref)();
115783
115789
  this.delineate = delineate;
@@ -120029,8 +120035,8 @@ var expand_view_component = normalizeComponent(
120029
120035
  )
120030
120036
 
120031
120037
  /* harmony default export */ const expand_view = (expand_view_component.exports);
120032
- ;// ./node_modules/thread-loader/dist/cjs.js??clonedRuleSet-3.use[0]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-3.use[1]!./node_modules/ifdef-loader/ifdef-loader.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/retrieve-v2/components/result-cell-element/operator-tools.vue?vue&type=template&id=2caca865&scoped=true
120033
- var operator_toolsvue_type_template_id_2caca865_scoped_true_render = function render() {
120038
+ ;// ./node_modules/thread-loader/dist/cjs.js??clonedRuleSet-3.use[0]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-3.use[1]!./node_modules/ifdef-loader/ifdef-loader.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/retrieve-v2/components/result-cell-element/operator-tools.vue?vue&type=template&id=e9e5db3e&scoped=true
120039
+ var operator_toolsvue_type_template_id_e9e5db3e_scoped_true_render = function render() {
120034
120040
  var _vm = this,
120035
120041
  _c = _vm._self._c;
120036
120042
  return _c('div', {
@@ -120218,7 +120224,7 @@ var operator_toolsvue_type_template_id_2caca865_scoped_true_render = function re
120218
120224
  }
120219
120225
  })])] : _vm._e()], 2);
120220
120226
  };
120221
- var operator_toolsvue_type_template_id_2caca865_scoped_true_staticRenderFns = [];
120227
+ var operator_toolsvue_type_template_id_e9e5db3e_scoped_true_staticRenderFns = [];
120222
120228
 
120223
120229
  ;// ./node_modules/thread-loader/dist/cjs.js??clonedRuleSet-3.use[0]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-3.use[1]!./node_modules/ifdef-loader/ifdef-loader.js??clonedRuleSet-3.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/retrieve-v2/components/result-cell-element/operator-tools.vue?vue&type=script&lang=js
120224
120230
 
@@ -120321,27 +120327,49 @@ function operator_toolsvue_type_script_lang_js_objectSpread(e) { for (var r = 1;
120321
120327
  }
120322
120328
  }),
120323
120329
  methods: {
120330
+ normalizeTraceSearchText: function normalizeTraceSearchText(value) {
120331
+ return String(value).replace(/<[^>]*>/g, '');
120332
+ },
120333
+ getTraceIdFromText: function getTraceIdFromText(value) {
120334
+ var _strictTraceIdMatch$;
120335
+ var text = this.normalizeTraceSearchText(value);
120336
+ var traceIdPattern = /\btrace_?id\b\s*[=:]\s*([a-f0-9]{32})(?![a-z0-9])/i;
120337
+ var traceIdMatch = text.match(traceIdPattern);
120338
+ if (traceIdMatch) {
120339
+ return traceIdMatch[1];
120340
+ }
120341
+ var strictTraceIdPattern = /(^|[^a-z0-9])([a-f0-9]{32})(?![a-z0-9])/i;
120342
+ var strictTraceIdMatch = text.match(strictTraceIdPattern);
120343
+ return (_strictTraceIdMatch$ = strictTraceIdMatch === null || strictTraceIdMatch === void 0 ? void 0 : strictTraceIdMatch[2]) !== null && _strictTraceIdMatch$ !== void 0 ? _strictTraceIdMatch$ : null;
120344
+ },
120324
120345
  getTraceIdFromRowData: function getTraceIdFromRowData() {
120325
- var traceId = this.rowData.trace_id;
120346
+ var _this$rowData$trace_i;
120347
+ var traceId = (_this$rowData$trace_i = this.rowData.trace_id) !== null && _this$rowData$trace_i !== void 0 ? _this$rowData$trace_i : this.rowData.traceid;
120326
120348
  if (traceId) {
120327
- return traceId;
120349
+ var matchedTraceId = this.getTraceIdFromText(traceId);
120350
+ if (matchedTraceId) {
120351
+ return matchedTraceId;
120352
+ }
120328
120353
  }
120329
- for (var _i = 0, _Object$values = Object.values(this.rowData); _i < _Object$values.length; _i++) {
120330
- var v = _Object$values[_i];
120331
- if (typeof v === 'string') {
120332
- var traceIdPattern = /[a-f0-9]{32}/;
120333
- var match = v.match(traceIdPattern);
120334
- if (match) {
120335
- return match[0];
120336
- }
120354
+ var rowValues = Object.values(this.rowData);
120355
+ for (var _i = 0, _rowValues = rowValues; _i < _rowValues.length; _i++) {
120356
+ var value = _rowValues[_i];
120357
+ if (typeof value !== 'string') {
120358
+ continue;
120337
120359
  }
120338
- if (typeof_typeof(v) === 'object') {
120339
- var jsonValue = JSON.stringify(v);
120340
- var _traceIdPattern = /[a-f0-9]{32}/;
120341
- var _match = jsonValue.match(_traceIdPattern);
120342
- if (_match) {
120343
- return _match[0];
120344
- }
120360
+ var traceIdFromText = this.getTraceIdFromText(value);
120361
+ if (traceIdFromText) {
120362
+ return traceIdFromText;
120363
+ }
120364
+ }
120365
+ for (var _i2 = 0, _rowValues2 = rowValues; _i2 < _rowValues2.length; _i2++) {
120366
+ var _value = _rowValues2[_i2];
120367
+ if (!_value || typeof_typeof(_value) !== 'object') {
120368
+ continue;
120369
+ }
120370
+ var _traceIdFromText = this.getTraceIdFromText(JSON.stringify(_value));
120371
+ if (_traceIdFromText) {
120372
+ return _traceIdFromText;
120345
120373
  }
120346
120374
  }
120347
120375
  return null;
@@ -120389,11 +120417,11 @@ function operator_toolsvue_type_script_lang_js_objectSpread(e) { for (var r = 1;
120389
120417
 
120390
120418
  var operator_tools_component = normalizeComponent(
120391
120419
  result_cell_element_operator_toolsvue_type_script_lang_js,
120392
- operator_toolsvue_type_template_id_2caca865_scoped_true_render,
120393
- operator_toolsvue_type_template_id_2caca865_scoped_true_staticRenderFns,
120420
+ operator_toolsvue_type_template_id_e9e5db3e_scoped_true_render,
120421
+ operator_toolsvue_type_template_id_e9e5db3e_scoped_true_staticRenderFns,
120394
120422
  false,
120395
120423
  null,
120396
- "2caca865",
120424
+ "e9e5db3e",
120397
120425
  null
120398
120426
 
120399
120427
  )
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@blueking/monitor-apm-log","version":"2.3.24","description":"","main":"main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT"}
1
+ {"name":"@blueking/monitor-apm-log","version":"2.3.26","description":"","main":"main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT"}