@blueking/monitor-apm-log 2.3.25 → 2.3.27

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 +162 -50
  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
@@ -117610,19 +117610,48 @@ var json_formatter_component = normalizeComponent(
117610
117610
  let firstLogEl = null;
117611
117611
  let throttleTimer;
117612
117612
  let timer;
117613
+ let scrollBindTimer;
117614
+ let highlightTimer;
117615
+ let initLogResultTimer;
117616
+ let filterCheckTimer;
117617
+ let handleScroll = () => {};
117613
117618
  let displayFieldNames = [];
117619
+ let contextLogRequestSeq = 0;
117620
+ const contentLogRequestId = 'retrieve_getContentLog_contextLog';
117621
+ const isContextLogVisible = () => isShow.value && props.isShow;
117622
+ const isCurrentContextLogRequest = requestSeq => isContextLogVisible() && requestSeq === contextLogRequestSeq;
117623
+ const clearContextLogTimers = () => {
117624
+ clearTimeout(timer);
117625
+ clearTimeout(throttleTimer);
117626
+ clearTimeout(scrollBindTimer);
117627
+ clearTimeout(highlightTimer);
117628
+ clearTimeout(initLogResultTimer);
117629
+ clearTimeout(filterCheckTimer);
117630
+ };
117631
+ const cleanupContextLogEffects = () => {
117632
+ contextLogRequestSeq += 1;
117633
+ clearContextLogTimers();
117634
+ contextLog.value?.removeEventListener('scroll', handleScroll);
117635
+ logLoading.value = false;
117636
+ src_api.cancel(contentLogRequestId);
117637
+ };
117614
117638
  (0,external_vue_.watch)(() => props.isShow, () => {
117615
117639
  isShow.value = props.isShow;
117616
117640
  if (isShow.value) {
117617
- setTimeout(() => {
117618
- logResultRef.value.init();
117641
+ contextLogRequestSeq += 1;
117642
+ initLogResultTimer = setTimeout(() => {
117643
+ if (isContextLogVisible()) {
117644
+ logResultRef.value?.init();
117645
+ }
117619
117646
  });
117647
+ return;
117620
117648
  }
117649
+ cleanupContextLogEffects();
117621
117650
  }, {
117622
117651
  immediate: true
117623
117652
  });
117624
117653
  (0,external_vue_.watch)(() => [props.indexSetId, props.logParams], async () => {
117625
- if (props.indexSetId && props.logParams) {
117654
+ if (isContextLogVisible() && props.indexSetId && props.logParams && Object.keys(props.logParams).length) {
117626
117655
  localParams.value = {};
117627
117656
  deepClone(props.logParams);
117628
117657
  await requestContentLog();
@@ -117631,7 +117660,11 @@ var json_formatter_component = normalizeComponent(
117631
117660
  immediate: true
117632
117661
  });
117633
117662
  (0,external_vue_.watch)(activeFilterKey, () => {
117634
- setTimeout(() => {
117663
+ clearTimeout(filterCheckTimer);
117664
+ filterCheckTimer = setTimeout(() => {
117665
+ if (!isContextLogVisible()) {
117666
+ return;
117667
+ }
117635
117668
  const lineDomList = Array.from(logViewRef.value?.$el.querySelectorAll('.line') || []);
117636
117669
  if (lineDomList.length && lineDomList.every(item => item.style.display === 'none')) {
117637
117670
  isFilterEmpty.value = true;
@@ -117652,6 +117685,7 @@ var json_formatter_component = normalizeComponent(
117652
117685
  localParams.value = {};
117653
117686
  };
117654
117687
  const handleAfterLeave = () => {
117688
+ cleanupContextLogEffects();
117655
117689
  dataFilterRef.value?.reset();
117656
117690
  logResultRef.value?.reset();
117657
117691
  highlightList.value = [];
@@ -117677,8 +117711,8 @@ var json_formatter_component = normalizeComponent(
117677
117711
  });
117678
117712
  };
117679
117713
  const handleKeyup = event => {
117680
- if (event.keyCode === 27) {
117681
- contextLog.value?.removeEventListener('scroll', handleScroll);
117714
+ if (event.keyCode === 27 && isContextLogVisible()) {
117715
+ cleanupContextLogEffects();
117682
117716
  handleAfterLeave();
117683
117717
  }
117684
117718
  };
@@ -117729,11 +117763,22 @@ var json_formatter_component = normalizeComponent(
117729
117763
  return ['log'];
117730
117764
  };
117731
117765
  const requestContentLog = async direction => {
117766
+ if (!isContextLogVisible()) {
117767
+ return;
117768
+ }
117769
+ const requestSeq = contextLogRequestSeq;
117770
+ const paramsSnapshot = {
117771
+ ...localParams.value
117772
+ };
117773
+ const dtEventTimeStamp = paramsSnapshot.dtEventTimeStamp ?? props.logParams?.dtEventTimeStamp;
117774
+ if (!props.indexSetId || dtEventTimeStamp === undefined || dtEventTimeStamp === null || dtEventTimeStamp === 'None') {
117775
+ return;
117776
+ }
117732
117777
  const data = Object.assign({
117733
117778
  size: 50,
117734
117779
  zero: zero.value,
117735
- dtEventTimeStamp: props.logParams.dtEventTimeStamp
117736
- }, localParams.value);
117780
+ dtEventTimeStamp
117781
+ }, paramsSnapshot);
117737
117782
  if (direction === 'down') {
117738
117783
  data.begin = nextBegin.value;
117739
117784
  } else if (direction === 'top') {
@@ -117748,7 +117793,13 @@ var json_formatter_component = normalizeComponent(
117748
117793
  index_set_id: props.indexSetId
117749
117794
  },
117750
117795
  data
117796
+ }, {
117797
+ catchIsShowMessage: false,
117798
+ requestId: contentLogRequestId
117751
117799
  });
117800
+ if (!isCurrentContextLogRequest(requestSeq)) {
117801
+ return;
117802
+ }
117752
117803
  const {
117753
117804
  list
117754
117805
  } = res.data;
@@ -117782,18 +117833,26 @@ var json_formatter_component = normalizeComponent(
117782
117833
  }
117783
117834
  }
117784
117835
  } catch (e) {
117785
- console.error(e);
117786
- } finally {
117787
- logLoading.value = false;
117788
- if (highlightList.value.length) {
117789
- setTimeout(() => {
117790
- dataFilterRef.value.getHighlightControl()?.initLightItemList(direction);
117791
- });
117836
+ if (isCurrentContextLogRequest(requestSeq)) {
117837
+ console.warn(e);
117792
117838
  }
117793
- if (zero.value) {
117794
- (0,external_vue_.nextTick)(() => {
117795
- initLogScrollPosition();
117796
- });
117839
+ } finally {
117840
+ if (isCurrentContextLogRequest(requestSeq)) {
117841
+ logLoading.value = false;
117842
+ if (highlightList.value.length) {
117843
+ highlightTimer = setTimeout(() => {
117844
+ if (isCurrentContextLogRequest(requestSeq)) {
117845
+ dataFilterRef.value?.getHighlightControl()?.initLightItemList(direction);
117846
+ }
117847
+ });
117848
+ }
117849
+ if (zero.value) {
117850
+ (0,external_vue_.nextTick)(() => {
117851
+ if (isCurrentContextLogRequest(requestSeq)) {
117852
+ initLogScrollPosition();
117853
+ }
117854
+ });
117855
+ }
117797
117856
  }
117798
117857
  }
117799
117858
  };
@@ -117828,8 +117887,11 @@ var json_formatter_component = normalizeComponent(
117828
117887
  reverseLogList.value = handleFormatList(reverseRawList, list);
117829
117888
  };
117830
117889
  const initLogScrollPosition = () => {
117890
+ if (!isContextLogVisible() || !contextLog.value) {
117891
+ return;
117892
+ }
117831
117893
  // 确定第0条的位置
117832
- firstLogEl = document.querySelector('.dialog-log-markdown .log-init');
117894
+ firstLogEl = contextLog.value.querySelector('.log-init');
117833
117895
  // 没有数据
117834
117896
  if (!firstLogEl) return;
117835
117897
  contextLog.value.removeEventListener('scroll', handleScroll);
@@ -117843,16 +117905,23 @@ var json_formatter_component = normalizeComponent(
117843
117905
  }
117844
117906
  zero.value = false;
117845
117907
  // 避免重复请求
117846
- setTimeout(() => {
117847
- contextLog.value.addEventListener('scroll', handleScroll, {
117848
- passive: true
117849
- });
117908
+ clearTimeout(scrollBindTimer);
117909
+ scrollBindTimer = setTimeout(() => {
117910
+ if (isContextLogVisible() && contextLog.value) {
117911
+ contextLog.value.addEventListener('scroll', handleScroll, {
117912
+ passive: true
117913
+ });
117914
+ }
117850
117915
  });
117851
117916
  };
117852
- const handleScroll = () => {
117917
+ handleScroll = () => {
117918
+ if (!isContextLogVisible()) {
117919
+ return;
117920
+ }
117853
117921
  clearTimeout(timer);
117922
+ const requestSeq = contextLogRequestSeq;
117854
117923
  timer = setTimeout(() => {
117855
- if (logLoading.value) {
117924
+ if (!isCurrentContextLogRequest(requestSeq) || logLoading.value || !contextLog.value) {
117856
117925
  return;
117857
117926
  }
117858
117927
  const {
@@ -117864,6 +117933,9 @@ var json_formatter_component = normalizeComponent(
117864
117933
  // 滚动到顶部
117865
117934
  requestContentLog('top').then(() => {
117866
117935
  (0,external_vue_.nextTick)(() => {
117936
+ if (!isCurrentContextLogRequest(requestSeq) || !contextLog.value) {
117937
+ return;
117938
+ }
117867
117939
  // 记录刷新前滚动位置
117868
117940
  const newScrollHeight = contextLog.value.scrollHeight;
117869
117941
  contextLog.value.scrollTo({
@@ -117910,6 +117982,8 @@ var json_formatter_component = normalizeComponent(
117910
117982
  }, 300);
117911
117983
  };
117912
117984
  const handleChooseRow = data => {
117985
+ cleanupContextLogEffects();
117986
+ contextLogRequestSeq += 1;
117913
117987
  initLogValues();
117914
117988
  deepClone(data);
117915
117989
  requestContentLog();
@@ -117925,6 +117999,7 @@ var json_formatter_component = normalizeComponent(
117925
117999
  });
117926
118000
  });
117927
118001
  (0,external_vue_.onBeforeUnmount)(() => {
118002
+ cleanupContextLogEffects();
117928
118003
  document.removeEventListener('keyup', handleKeyup);
117929
118004
  });
117930
118005
  return () => (0,external_vue_.h)("bk-dialog", {
@@ -120035,8 +120110,8 @@ var expand_view_component = normalizeComponent(
120035
120110
  )
120036
120111
 
120037
120112
  /* harmony default export */ const expand_view = (expand_view_component.exports);
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=2caca865&scoped=true
120039
- var operator_toolsvue_type_template_id_2caca865_scoped_true_render = function render() {
120113
+ ;// ./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
120114
+ var operator_toolsvue_type_template_id_e9e5db3e_scoped_true_render = function render() {
120040
120115
  var _vm = this,
120041
120116
  _c = _vm._self._c;
120042
120117
  return _c('div', {
@@ -120224,7 +120299,7 @@ var operator_toolsvue_type_template_id_2caca865_scoped_true_render = function re
120224
120299
  }
120225
120300
  })])] : _vm._e()], 2);
120226
120301
  };
120227
- var operator_toolsvue_type_template_id_2caca865_scoped_true_staticRenderFns = [];
120302
+ var operator_toolsvue_type_template_id_e9e5db3e_scoped_true_staticRenderFns = [];
120228
120303
 
120229
120304
  ;// ./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
120230
120305
 
@@ -120327,27 +120402,49 @@ function operator_toolsvue_type_script_lang_js_objectSpread(e) { for (var r = 1;
120327
120402
  }
120328
120403
  }),
120329
120404
  methods: {
120405
+ normalizeTraceSearchText: function normalizeTraceSearchText(value) {
120406
+ return String(value).replace(/<[^>]*>/g, '');
120407
+ },
120408
+ getTraceIdFromText: function getTraceIdFromText(value) {
120409
+ var _strictTraceIdMatch$;
120410
+ var text = this.normalizeTraceSearchText(value);
120411
+ var traceIdPattern = /\btrace_?id\b\s*[=:]\s*([a-f0-9]{32})(?![a-z0-9])/i;
120412
+ var traceIdMatch = text.match(traceIdPattern);
120413
+ if (traceIdMatch) {
120414
+ return traceIdMatch[1];
120415
+ }
120416
+ var strictTraceIdPattern = /(^|[^a-z0-9])([a-f0-9]{32})(?![a-z0-9])/i;
120417
+ var strictTraceIdMatch = text.match(strictTraceIdPattern);
120418
+ return (_strictTraceIdMatch$ = strictTraceIdMatch === null || strictTraceIdMatch === void 0 ? void 0 : strictTraceIdMatch[2]) !== null && _strictTraceIdMatch$ !== void 0 ? _strictTraceIdMatch$ : null;
120419
+ },
120330
120420
  getTraceIdFromRowData: function getTraceIdFromRowData() {
120331
- var traceId = this.rowData.trace_id;
120421
+ var _this$rowData$trace_i;
120422
+ var traceId = (_this$rowData$trace_i = this.rowData.trace_id) !== null && _this$rowData$trace_i !== void 0 ? _this$rowData$trace_i : this.rowData.traceid;
120332
120423
  if (traceId) {
120333
- return traceId;
120424
+ var matchedTraceId = this.getTraceIdFromText(traceId);
120425
+ if (matchedTraceId) {
120426
+ return matchedTraceId;
120427
+ }
120334
120428
  }
120335
- for (var _i = 0, _Object$values = Object.values(this.rowData); _i < _Object$values.length; _i++) {
120336
- var v = _Object$values[_i];
120337
- if (typeof v === 'string') {
120338
- var traceIdPattern = /[a-f0-9]{32}/;
120339
- var match = v.match(traceIdPattern);
120340
- if (match) {
120341
- return match[0];
120342
- }
120429
+ var rowValues = Object.values(this.rowData);
120430
+ for (var _i = 0, _rowValues = rowValues; _i < _rowValues.length; _i++) {
120431
+ var value = _rowValues[_i];
120432
+ if (typeof value !== 'string') {
120433
+ continue;
120343
120434
  }
120344
- if (typeof_typeof(v) === 'object') {
120345
- var jsonValue = JSON.stringify(v);
120346
- var _traceIdPattern = /[a-f0-9]{32}/;
120347
- var _match = jsonValue.match(_traceIdPattern);
120348
- if (_match) {
120349
- return _match[0];
120350
- }
120435
+ var traceIdFromText = this.getTraceIdFromText(value);
120436
+ if (traceIdFromText) {
120437
+ return traceIdFromText;
120438
+ }
120439
+ }
120440
+ for (var _i2 = 0, _rowValues2 = rowValues; _i2 < _rowValues2.length; _i2++) {
120441
+ var _value = _rowValues2[_i2];
120442
+ if (!_value || typeof_typeof(_value) !== 'object') {
120443
+ continue;
120444
+ }
120445
+ var _traceIdFromText = this.getTraceIdFromText(JSON.stringify(_value));
120446
+ if (_traceIdFromText) {
120447
+ return _traceIdFromText;
120351
120448
  }
120352
120449
  }
120353
120450
  return null;
@@ -120395,11 +120492,11 @@ function operator_toolsvue_type_script_lang_js_objectSpread(e) { for (var r = 1;
120395
120492
 
120396
120493
  var operator_tools_component = normalizeComponent(
120397
120494
  result_cell_element_operator_toolsvue_type_script_lang_js,
120398
- operator_toolsvue_type_template_id_2caca865_scoped_true_render,
120399
- operator_toolsvue_type_template_id_2caca865_scoped_true_staticRenderFns,
120495
+ operator_toolsvue_type_template_id_e9e5db3e_scoped_true_render,
120496
+ operator_toolsvue_type_template_id_e9e5db3e_scoped_true_staticRenderFns,
120400
120497
  false,
120401
120498
  null,
120402
- "2caca865",
120499
+ "e9e5db3e",
120403
120500
  null
120404
120501
 
120405
120502
  )
@@ -121837,9 +121934,24 @@ function use_lazy_render_deepQueryShadowSelector(selector) {
121837
121934
  resetPageState();
121838
121935
  }
121839
121936
  });
121840
- addEvent([retrieve_events.SEARCH_VALUE_CHANGE, retrieve_events.SEARCH_TIME_CHANGE, retrieve_events.TREND_GRAPH_SEARCH, retrieve_events.SORT_LIST_CHANGED], () => {
121937
+ addEvent([retrieve_events.SEARCH_VALUE_CHANGE, retrieve_events.SEARCH_TIME_CHANGE, retrieve_events.TREND_GRAPH_SEARCH], () => {
121841
121938
  resetPageState();
121842
121939
  });
121940
+ addEvent(retrieve_events.SORT_LIST_CHANGED, () => {
121941
+ /**
121942
+ * SORT_LIST_CHANGED may be fired after the sort query has finished.
121943
+ * In that case tableDataSize has already changed and first-page reveal has already been scheduled/finished.
121944
+ * Resetting first-page layout again here would leave the skeleton pending forever because no new data-size
121945
+ * change will arrive to call scheduleFirstPageTableReveal().
121946
+ *
121947
+ * New sort queries already clear list and set loading in requestIndexSetQuery(), which drives the skeleton
121948
+ * through tableDataSize/isLoading watchers. Therefore this event only needs to force reset while the request
121949
+ * is still in-flight or before any result rows are available.
121950
+ */
121951
+ if (isLoading.value || isPageLoading.value || isRequesting.value || tableDataSize.value === 0) {
121952
+ resetPageState();
121953
+ }
121954
+ });
121843
121955
  addEvent(retrieve_events.AUTO_REFRESH, () => {
121844
121956
  resetPageState();
121845
121957
  store.dispatch('requestIndexSetQuery', {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@blueking/monitor-apm-log","version":"2.3.25","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.27","description":"","main":"main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"","license":"MIT"}