This is an automated email from the ASF dual-hosted git repository.

jeffreyh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/doris-opentelemetry-demo.git


The following commit(s) were added to refs/heads/main by this push:
     new d08f6e3  fix: fix the grafana app doris-app search indexes error
d08f6e3 is described below

commit d08f6e3cf4a2d7b326e7e2b6c3b8012a79bc11cb
Author: Jeffrey <[email protected]>
AuthorDate: Thu Sep 4 11:08:14 2025 +0800

    fix: fix the grafana app doris-app search indexes error
---
 src/grafana/plugins/doris-app/181.js               | 367 ++++++++++++++++++++-
 src/grafana/plugins/doris-app/181.js.map           |   2 +-
 src/grafana/plugins/doris-app/301.js.map           |   1 -
 src/grafana/plugins/doris-app/462.js               |   4 +-
 src/grafana/plugins/doris-app/462.js.map           |   2 +-
 src/grafana/plugins/doris-app/{301.js => 736.js}   | 332 +------------------
 src/grafana/plugins/doris-app/736.js.map           |   1 +
 .../plugins/doris-app/gpx_doris-app_darwin_amd64   | Bin 25602304 -> 25602304 
bytes
 .../plugins/doris-app/gpx_doris-app_darwin_arm64   | Bin 24454450 -> 24454450 
bytes
 .../plugins/doris-app/gpx_doris-app_linux_amd64    | Bin 24740024 -> 24740024 
bytes
 .../plugins/doris-app/gpx_doris-app_linux_arm      | Bin 23199928 -> 23199928 
bytes
 .../plugins/doris-app/gpx_doris-app_linux_arm64    | Bin 23462072 -> 23462072 
bytes
 .../doris-app/gpx_doris-app_windows_amd64.exe      | Bin 25480192 -> 25480192 
bytes
 src/grafana/plugins/doris-app/module.js            |   4 +-
 src/grafana/plugins/doris-app/module.js.map        |   2 +-
 src/grafana/plugins/doris-app/plugin.json          |   2 +-
 16 files changed, 389 insertions(+), 328 deletions(-)

diff --git a/src/grafana/plugins/doris-app/181.js 
b/src/grafana/plugins/doris-app/181.js
index ed1e9bd..5f4202a 100644
--- a/src/grafana/plugins/doris-app/181.js
+++ b/src/grafana/plugins/doris-app/181.js
@@ -151,6 +151,367 @@ function TraceDetail(props) {
 }
 
 
+/***/ }),
+
+/***/ 2551:
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */   dW: () => (/* binding */ isIgnorableHighlightToken),
+/* harmony export */   sd: () => (/* binding */ generateTableDataUID)
+/* harmony export */ });
+/* unused harmony export generateUid */
+// --- stable stringify: 递归排序键,避免循环引用导致崩溃 ---
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+    try {
+        var info = gen[key](arg);
+        var value = info.value;
+    } catch (error) {
+        reject(error);
+        return;
+    }
+    if (info.done) {
+        resolve(value);
+    } else {
+        Promise.resolve(value).then(_next, _throw);
+    }
+}
+function _async_to_generator(fn) {
+    return function() {
+        var self = this, args = arguments;
+        return new Promise(function(resolve, reject) {
+            var gen = fn.apply(self, args);
+            function _next(value) {
+                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"next", value);
+            }
+            function _throw(err) {
+                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"throw", err);
+            }
+            _next(undefined);
+        });
+    };
+}
+function _define_property(obj, key, value) {
+    if (key in obj) {
+        Object.defineProperty(obj, key, {
+            value: value,
+            enumerable: true,
+            configurable: true,
+            writable: true
+        });
+    } else {
+        obj[key] = value;
+    }
+    return obj;
+}
+function _object_spread(target) {
+    for(var i = 1; i < arguments.length; i++){
+        var source = arguments[i] != null ? arguments[i] : {};
+        var ownKeys = Object.keys(source);
+        if (typeof Object.getOwnPropertySymbols === "function") {
+            ownKeys = 
ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
+                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+            }));
+        }
+        ownKeys.forEach(function(key) {
+            _define_property(target, key, source[key]);
+        });
+    }
+    return target;
+}
+function ownKeys(object, enumerableOnly) {
+    var keys = Object.keys(object);
+    if (Object.getOwnPropertySymbols) {
+        var symbols = Object.getOwnPropertySymbols(object);
+        if (enumerableOnly) {
+            symbols = symbols.filter(function(sym) {
+                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+            });
+        }
+        keys.push.apply(keys, symbols);
+    }
+    return keys;
+}
+function _object_spread_props(target, source) {
+    source = source != null ? source : {};
+    if (Object.getOwnPropertyDescriptors) {
+        Object.defineProperties(target, 
Object.getOwnPropertyDescriptors(source));
+    } else {
+        ownKeys(Object(source)).forEach(function(key) {
+            Object.defineProperty(target, key, 
Object.getOwnPropertyDescriptor(source, key));
+        });
+    }
+    return target;
+}
+function stableStringify(value) {
+    const seen = new WeakSet();
+    const recur = (v)=>{
+        if (v === null) {
+            return 'null';
+        }
+        const t = typeof v;
+        if (t === 'number') {
+            return Number.isFinite(v) ? String(v) : 'null';
+        }
+        if (t === 'boolean') {
+            return v ? 'true' : 'false';
+        }
+        if (t === 'string') {
+            return JSON.stringify(v);
+        }
+        if (t === 'bigint') {
+            return JSON.stringify(v.toString());
+        }
+        if (t === 'undefined' || t === 'function' || t === 'symbol') {
+            return 'null';
+        }
+        // object / array
+        if (seen.has(v)) {
+            return '"[Circular]"';
+        }
+        seen.add(v);
+        if (Array.isArray(v)) {
+            return '[' + v.map(recur).join(',') + ']';
+        }
+        const keys = Object.keys(v).sort();
+        const body = keys.map((k)=>JSON.stringify(k) + ':' + 
recur(v[k])).join(',');
+        return '{' + body + '}';
+    };
+    return recur(value);
+}
+// --- 小工具 ---
+function u8ToHex(u8) {
+    let out = '';
+    for(let i = 0; i < u8.length; i++){
+        out += u8[i].toString(16).padStart(2, '0');
+    }
+    return out;
+}
+function hasSubtle() {
+    var _window_crypto_subtle;
+    return typeof window !== 'undefined' && !!window.crypto && 
!!window.isSecureContext && typeof ((_window_crypto_subtle = 
window.crypto.subtle) === null || _window_crypto_subtle === void 0 ? void 0 : 
_window_crypto_subtle.digest) === 'function';
+}
+// --- 纯 JS 的 SHA-256 fallback(简实现,无依赖) ---
+function sha256HexJS(data) {
+    // 常量
+    const K = new Uint32Array([
+        0x428a2f98,
+        0x71374491,
+        0xb5c0fbcf,
+        0xe9b5dba5,
+        0x3956c25b,
+        0x59f111f1,
+        0x923f82a4,
+        0xab1c5ed5,
+        0xd807aa98,
+        0x12835b01,
+        0x243185be,
+        0x550c7dc3,
+        0x72be5d74,
+        0x80deb1fe,
+        0x9bdc06a7,
+        0xc19bf174,
+        0xe49b69c1,
+        0xefbe4786,
+        0x0fc19dc6,
+        0x240ca1cc,
+        0x2de92c6f,
+        0x4a7484aa,
+        0x5cb0a9dc,
+        0x76f988da,
+        0x983e5152,
+        0xa831c66d,
+        0xb00327c8,
+        0xbf597fc7,
+        0xc6e00bf3,
+        0xd5a79147,
+        0x06ca6351,
+        0x14292967,
+        0x27b70a85,
+        0x2e1b2138,
+        0x4d2c6dfc,
+        0x53380d13,
+        0x650a7354,
+        0x766a0abb,
+        0x81c2c92e,
+        0x92722c85,
+        0xa2bfe8a1,
+        0xa81a664b,
+        0xc24b8b70,
+        0xc76c51a3,
+        0xd192e819,
+        0xd6990624,
+        0xf40e3585,
+        0x106aa070,
+        0x19a4c116,
+        0x1e376c08,
+        0x2748774c,
+        0x34b0bcb5,
+        0x391c0cb3,
+        0x4ed8aa4a,
+        0x5b9cca4f,
+        0x682e6ff3,
+        0x748f82ee,
+        0x78a5636f,
+        0x84c87814,
+        0x8cc70208,
+        0x90befffa,
+        0xa4506ceb,
+        0xbef9a3f7,
+        0xc67178f2
+    ]);
+    // 初始哈希
+    let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a, h4 
= 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;
+    // 预处理:填充
+    const l = data.length;
+    const bitLenHi = l >>> 29 >>> 0;
+    const bitLenLo = l << 3 >>> 0;
+    const nBlocks = (l + 9 >> 6) + 1 << 4; // 以 16 个 32bit 为一组
+    const M = new Uint32Array(nBlocks);
+    for(let i = 0; i < l; i++){
+        M[i >> 2] |= data[i] << (3 - (i & 3) << 3);
+    }
+    M[l >> 2] |= 0x80 << (3 - (l & 3) << 3);
+    M[nBlocks - 2] = bitLenHi;
+    M[nBlocks - 1] = bitLenLo;
+    const W = new Uint32Array(64);
+    const rotr = (x, n)=>x >>> n | x << 32 - n;
+    for(let i = 0; i < nBlocks; i += 16){
+        for(let t = 0; t < 16; t++){
+            W[t] = M[i + t];
+        }
+        for(let t = 16; t < 64; t++){
+            const s0 = (rotr(W[t - 15], 7) ^ rotr(W[t - 15], 18) ^ W[t - 15] 
>>> 3) >>> 0;
+            const s1 = (rotr(W[t - 2], 17) ^ rotr(W[t - 2], 19) ^ W[t - 2] >>> 
10) >>> 0;
+            W[t] = W[t - 16] + s0 + W[t - 7] + s1 >>> 0;
+        }
+        let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7;
+        for(let t = 0; t < 64; t++){
+            const S1 = (rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25)) >>> 0;
+            const ch = (e & f ^ ~e & g) >>> 0;
+            const T1 = h + S1 + ch + K[t] + W[t] >>> 0;
+            const S0 = (rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22)) >>> 0;
+            const maj = (a & b ^ a & c ^ b & c) >>> 0;
+            const T2 = S0 + maj >>> 0;
+            h = g;
+            g = f;
+            f = e;
+            e = d + T1 >>> 0;
+            d = c;
+            c = b;
+            b = a;
+            a = T1 + T2 >>> 0;
+        }
+        h0 = h0 + a >>> 0;
+        h1 = h1 + b >>> 0;
+        h2 = h2 + c >>> 0;
+        h3 = h3 + d >>> 0;
+        h4 = h4 + e >>> 0;
+        h5 = h5 + f >>> 0;
+        h6 = h6 + g >>> 0;
+        h7 = h7 + h >>> 0;
+    }
+    const out = new Uint8Array(32);
+    const H = [
+        h0,
+        h1,
+        h2,
+        h3,
+        h4,
+        h5,
+        h6,
+        h7
+    ];
+    for(let i = 0; i < 8; i++){
+        out[i * 4 + 0] = H[i] >>> 24 & 0xff;
+        out[i * 4 + 1] = H[i] >>> 16 & 0xff;
+        out[i * 4 + 2] = H[i] >>> 8 & 0xff;
+        out[i * 4 + 3] = H[i] & 0xff;
+    }
+    return u8ToHex(out);
+}
+// --- 通用 SHA-256(浏览器优先,fallback 到纯 JS) ---
+function sha256Hex(input) {
+    return _async_to_generator(function*() {
+        const data = new TextEncoder().encode(input);
+        if (hasSubtle()) {
+            const buf = yield window.crypto.subtle.digest('SHA-256', data);
+            return u8ToHex(new Uint8Array(buf));
+        }
+        // 非 https 或老环境:走纯 JS
+        return sha256HexJS(data);
+    })();
+}
+// --- 你的两个导出函数 ---
+function generateUid(obj) {
+    return _async_to_generator(function*() {
+        const json = stableStringify(obj);
+        return sha256Hex(json);
+    })();
+}
+function generateTableDataUID(items) {
+    return _async_to_generator(function*() {
+        // 允许 _original 缺失时退回整个 item;并发计算,更快
+        const sources = items.map((it)=>{
+            var _ref;
+            return (_ref = it && it._original) !== null && _ref !== void 0 ? 
_ref : it;
+        });
+        const uids = yield Promise.all(sources.map(generateUid));
+        return items.map((it, i)=>_object_spread_props(_object_spread({}, it), 
{
+                _uid: uids[i]
+            }));
+    })();
+}
+function isIgnorableHighlightToken(token) {
+    const ignoreChars = new Set([
+        ',',
+        '.',
+        ';',
+        ':',
+        '(',
+        ')',
+        '{',
+        '}',
+        '[',
+        ']',
+        '+',
+        '-',
+        '*',
+        '/',
+        '=',
+        '<',
+        '>',
+        '!',
+        '?',
+        '|',
+        '&',
+        '%',
+        '^',
+        '$',
+        '#',
+        '@',
+        '~',
+        '`',
+        '\\',
+        "'",
+        '"'
+    ]);
+    // 全是空格或换行
+    if (!token.trim()) {
+        return true;
+    }
+    // 单个字符且在 ignoreChars 中
+    if (token.length === 1 && ignoreChars.has(token)) {
+        return true;
+    }
+    // 多个字符但全是标点符号
+    if 
(/^[\u2000-\u206F\u2E00-\u2E7F!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]+$/.test(token))
 {
+        return true;
+    }
+    return false;
+}
+
+
 /***/ }),
 
 /***/ 3764:
@@ -727,6 +1088,8 @@ const discoverLoadingAtom = 
(0,jotai__WEBPACK_IMPORTED_MODULE_3__/* .atom */ .eU
 /* harmony import */ var _grafana_data__WEBPACK_IMPORTED_MODULE_5___default = 
/*#__PURE__*/__webpack_require__.n(_grafana_data__WEBPACK_IMPORTED_MODULE_5__);
 /* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_6__ = 
__webpack_require__(4486);
 /* harmony import */ var dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_6___default 
= 
/*#__PURE__*/__webpack_require__.n(dayjs_plugin_utc__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = 
__webpack_require__(2551);
+
 
 
 
@@ -1527,7 +1890,7 @@ function generateHighlightedResults(data, result) {
                     }
                     if (ans.length > 0) {
                         highlightValue = ans.reduce((acc, curr)=>{
-                            if 
(keywordsTokens.find((token)=>compare_ignore_quotes(token, curr.toLowerCase())) 
|| compare_ignore_quotes(keyword.toLowerCase(), curr.toLowerCase())) {
+                            if 
(keywordsTokens.filter((token)=>!(0,_utils__WEBPACK_IMPORTED_MODULE_11__/* 
.isIgnorableHighlightToken */ 
.dW)(token)).find((token)=>compare_ignore_quotes(token, curr.toLowerCase())) || 
compare_ignore_quotes(keyword.toLowerCase(), curr.toLowerCase())) {
                                 return acc + `<mark>${curr}</mark>`;
                             }
                             return acc + curr;
@@ -1663,4 +2026,4 @@ function getIndexesService({ selectdbDS, database, table 
}) {
 /***/ })
 
 }]);
-//# sourceMappingURL=181.js.map?_cache=199c7bc22e9b0ba4a085
\ No newline at end of file
+//# sourceMappingURL=181.js.map?_cache=8838de9b4b91b78829eb
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/181.js.map 
b/src/grafana/plugins/doris-app/181.js.map
index 70c334f..7e75329 100644
--- a/src/grafana/plugins/doris-app/181.js.map
+++ b/src/grafana/plugins/doris-app/181.js.map
@@ -1 +1 @@
-{"version":3,"file":"181.js?_cache=199c7bc22e9b0ba4a085","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6C;AACI;AACQ;AACX;AACL;AACkB;AAC4E;AAClF;AACJ;AAElC,SAASgB,YAAYC,KAAgE;IAChG,MAAMC,eAAeb,6DAAYA,CAACS,0EAAqBA;IACvD,MAAMK,iBAAiBd,6DAAYA,CAACI,yEAAkBA;IACtD,MAAMW,kBAAkBf,6DAAYA,CAACK,0EAAmBA;IACxD,MAAM,CAACW,WAAWC,aAAa,GAAGlB,wDAAOA,CAACO,0EAAmBA;IAC7D,MAAMY,cAAclB,6DAAYA,CAACQ,sEAAeA;IAChD,MAAMW,aAAanB,6DAAYA,CAACO,6EAAsBA;IACtD,MAAM,CAACa,SAASC,WAAW,GAAGpB,qDAAc,CA
 [...]
\ No newline at end of file
+{"version":3,"file":"181.js?_cache=8838de9b4b91b78829eb","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6C;AACI;AACQ;AACX;AACL;AACkB;AAC4E;AAClF;AACJ;AAElC,SAASgB,YAAYC,KAAgE;IAChG,MAAMC,eAAeb,6DAAYA,CAACS,0EAAqBA;IACvD,MAAMK,iBAAiBd,6DAAYA,CAACI,yEAAkBA;IACtD,MAAMW,kBAAkBf,6DAAYA,CAACK,0EAAmBA;IACxD,MAAM,CAACW,WAAWC,aAAa,GAAGlB,wDAAOA,CAACO,0EAAmBA;IAC7D,MAAMY,cAAclB,6DAAYA,CAACQ,sEAAeA;IAChD,MAAMW,aAAanB,6DAAYA,CAACO,6EAAsBA;IACtD,MAAM,CAACa,SAASC,WAAW,GAAGpB,qDAAc,CA
 [...]
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/301.js.map 
b/src/grafana/plugins/doris-app/301.js.map
deleted file mode 100644
index 33eab26..0000000
--- a/src/grafana/plugins/doris-app/301.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"301.js?_cache=5b7e7587736f022bf0b0","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmC;AACE;AAE9B,MAAME,uBAAuBD,yCAAMA,CAACE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;AAsB/C,CAAC,CAAC;AAEK,MAAMC,2BAA2BH,yCAAMA,CAACE,GAAG,CAAC;;;;;;;;;;AAUnD,CAAC,CAAC;AAEK,MAAME,gBAAgBL,YAAG,CAAC;;;;;;;;;;;;AAYjC,CAAC,CAAC;;;;;;;;;;;ACnD6C;AACW;AAChC;AACgH;AACtC;AACjE;AAGpB,SAASsB;IACpB,MAAM,EAAEC,CAAC,EAAE,GAAGjB,6BAAcA;IAC5B,MAAM,CAACkB,YAAYC,cAAc,GAAGlB,yBAAOA,CAACO,+BAAcA;IAC1D,MAAMY,iBAAiBjB,4B
 [...]
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/462.js 
b/src/grafana/plugins/doris-app/462.js
index c4d9ecc..68b7059 100644
--- a/src/grafana/plugins/doris-app/462.js
+++ b/src/grafana/plugins/doris-app/462.js
@@ -16,7 +16,7 @@ __webpack_require__.r(__webpack_exports__);
 
 
 
-const Discover = /*#__PURE__*/ 
react__WEBPACK_IMPORTED_MODULE_0___default().lazy(()=>Promise.all(/* import() 
*/[__webpack_require__.e(632), __webpack_require__.e(723), 
__webpack_require__.e(181), 
__webpack_require__.e(301)]).then(__webpack_require__.bind(__webpack_require__, 
1301)));
+const Discover = /*#__PURE__*/ 
react__WEBPACK_IMPORTED_MODULE_0___default().lazy(()=>Promise.all(/* import() 
*/[__webpack_require__.e(632), __webpack_require__.e(723), 
__webpack_require__.e(181), 
__webpack_require__.e(736)]).then(__webpack_require__.bind(__webpack_require__, 
3736)));
 const PageTrace = /*#__PURE__*/ 
react__WEBPACK_IMPORTED_MODULE_0___default().lazy(()=>Promise.all(/* import() 
*/[__webpack_require__.e(632), __webpack_require__.e(181), 
__webpack_require__.e(600)]).then(__webpack_require__.bind(__webpack_require__, 
2600)));
 // const PageDashboard = React.lazy(() => import('../../pages/PageDashboard'));
 function App(_props) {
@@ -308,4 +308,4 @@ function translationDateIntervalType(type) {
 /***/ })
 
 }]);
-//# sourceMappingURL=462.js.map?_cache=17b5ab6b000cf855c5db
\ No newline at end of file
+//# sourceMappingURL=462.js.map?_cache=976c26fcfa23ac1d318e
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/462.js.map 
b/src/grafana/plugins/doris-app/462.js.map
index 14c9823..a717cd3 100644
--- a/src/grafana/plugins/doris-app/462.js.map
+++ b/src/grafana/plugins/doris-app/462.js.map
@@ -1 +1 @@
-{"version":3,"file":"462.js?_cache=17b5ab6b000cf855c5db","mappings":";;;;;;;;;;;;;;;AAA0B;AACuB;AAER;AACzC,MAAMI,yBAAWJ,iDAAU,CAAC,IAAM,qMAAO;AACzC,MAAMM,0BAAYN,iDAAU,CAAC,IAAM,yKAAO;AAC1C,+EAA+E;AAE/E,SAASO,IAAIC,MAAoB;IAC7B,qBACI,2DAACN,oDAAMA,sBACH,2DAACD,mDAAKA;QAACQ,MAAMN,wDAAMA,CAACC,QAAQ;QAAEM,uBAAS,2DAACN;sBACxC,2DAACH,mDAAKA;QAACQ,MAAM,GAAGN,wDAAMA,CAACQ,MAAM,EAAE;QAAED,uBAAS,2DAACJ;sBAE3C,2DAACL,mDAAKA;QAACQ,MAAK;QAAIC,uBAAS,2DAACN;;AAGtC;AAEA,iEAAeG,GAAGA,EAAC;;;;;;;;;;;;;;;;;
 [...]
\ No newline at end of file
+{"version":3,"file":"462.js?_cache=976c26fcfa23ac1d318e","mappings":";;;;;;;;;;;;;;;AAA0B;AACuB;AAER;AACzC,MAAMI,yBAAWJ,iDAAU,CAAC,IAAM,qMAAO;AACzC,MAAMM,0BAAYN,iDAAU,CAAC,IAAM,yKAAO;AAC1C,+EAA+E;AAE/E,SAASO,IAAIC,MAAoB;IAC7B,qBACI,2DAACN,oDAAMA,sBACH,2DAACD,mDAAKA;QAACQ,MAAMN,wDAAMA,CAACC,QAAQ;QAAEM,uBAAS,2DAACN;sBACxC,2DAACH,mDAAKA;QAACQ,MAAM,GAAGN,wDAAMA,CAACQ,MAAM,EAAE;QAAED,uBAAS,2DAACJ;sBAE3C,2DAACL,mDAAKA;QAACQ,MAAK;QAAIC,uBAAS,2DAACN;;AAGtC;AAEA,iEAAeG,GAAGA,EAAC;;;;;;;;;;;;;;;;;
 [...]
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/301.js 
b/src/grafana/plugins/doris-app/736.js
similarity index 95%
rename from src/grafana/plugins/doris-app/301.js
rename to src/grafana/plugins/doris-app/736.js
index 0f08d1d..377192e 100644
--- a/src/grafana/plugins/doris-app/301.js
+++ b/src/grafana/plugins/doris-app/736.js
@@ -1,7 +1,7 @@
 "use strict";
-(self["webpackChunkdoris_app"] = self["webpackChunkdoris_app"] || 
[]).push([[301],{
+(self["webpackChunkdoris_app"] = self["webpackChunkdoris_app"] || 
[]).push([[736],{
 
-/***/ 1301:
+/***/ 3736:
 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
 
 // ESM COMPAT FLAG
@@ -2942,7 +2942,7 @@ function SurroundingDiscoverFilter(props) {
 var sortBy = __webpack_require__(5092);
 ;// ./services/sql.ts
 function getQueryTableResultSQL(params) {
-    const indexesStatement = params.indexesStatement;
+    const indexesStatement = params.indexes_statement;
     let statement = `SELECT * FROM \`${params.database}\`.\`${params.table}\` 
WHERE`;
     if (indexesStatement && params.search_type === 'Search') {
         statement += ` (${indexesStatement}) AND`;
@@ -2961,7 +2961,6 @@ function getQueryTableResultSQL(params) {
 }
 function getQueryTableChartsSQL(params) {
     const indexes = params.indexes;
-    console.log(params);
     let statement = `SELECT 
${params.interval}_FLOOR(table_per_time.T,${params.interval_value}) as 
TT,sum(table_per_time.cnt) FROM (SELECT 
${params.interval}_FLOOR(${params.timeField}) as T,count(*) as cnt FROM 
\`${params.database}\`.\`${params.table}\` WHERE`;
     if (indexes && params.search_type === 'Search') {
         statement += ` (${indexes}) AND`;
@@ -3206,309 +3205,8 @@ function getSurroundingDataService(payload) {
 
 // EXTERNAL MODULE: external "rxjs"
 var external_rxjs_ = __webpack_require__(1269);
-;// ./utils/utils.ts
-// --- stable stringify: 递归排序键,避免循环引用导致崩溃 ---
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-    try {
-        var info = gen[key](arg);
-        var value = info.value;
-    } catch (error) {
-        reject(error);
-        return;
-    }
-    if (info.done) {
-        resolve(value);
-    } else {
-        Promise.resolve(value).then(_next, _throw);
-    }
-}
-function _async_to_generator(fn) {
-    return function() {
-        var self = this, args = arguments;
-        return new Promise(function(resolve, reject) {
-            var gen = fn.apply(self, args);
-            function _next(value) {
-                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"next", value);
-            }
-            function _throw(err) {
-                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"throw", err);
-            }
-            _next(undefined);
-        });
-    };
-}
-function utils_define_property(obj, key, value) {
-    if (key in obj) {
-        Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-        });
-    } else {
-        obj[key] = value;
-    }
-    return obj;
-}
-function utils_object_spread(target) {
-    for(var i = 1; i < arguments.length; i++){
-        var source = arguments[i] != null ? arguments[i] : {};
-        var ownKeys = Object.keys(source);
-        if (typeof Object.getOwnPropertySymbols === "function") {
-            ownKeys = 
ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-            }));
-        }
-        ownKeys.forEach(function(key) {
-            utils_define_property(target, key, source[key]);
-        });
-    }
-    return target;
-}
-function utils_ownKeys(object, enumerableOnly) {
-    var keys = Object.keys(object);
-    if (Object.getOwnPropertySymbols) {
-        var symbols = Object.getOwnPropertySymbols(object);
-        if (enumerableOnly) {
-            symbols = symbols.filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(object, sym).enumerable;
-            });
-        }
-        keys.push.apply(keys, symbols);
-    }
-    return keys;
-}
-function utils_object_spread_props(target, source) {
-    source = source != null ? source : {};
-    if (Object.getOwnPropertyDescriptors) {
-        Object.defineProperties(target, 
Object.getOwnPropertyDescriptors(source));
-    } else {
-        utils_ownKeys(Object(source)).forEach(function(key) {
-            Object.defineProperty(target, key, 
Object.getOwnPropertyDescriptor(source, key));
-        });
-    }
-    return target;
-}
-function stableStringify(value) {
-    const seen = new WeakSet();
-    const recur = (v)=>{
-        if (v === null) {
-            return 'null';
-        }
-        const t = typeof v;
-        if (t === 'number') {
-            return Number.isFinite(v) ? String(v) : 'null';
-        }
-        if (t === 'boolean') {
-            return v ? 'true' : 'false';
-        }
-        if (t === 'string') {
-            return JSON.stringify(v);
-        }
-        if (t === 'bigint') {
-            return JSON.stringify(v.toString());
-        }
-        if (t === 'undefined' || t === 'function' || t === 'symbol') {
-            return 'null';
-        }
-        // object / array
-        if (seen.has(v)) {
-            return '"[Circular]"';
-        }
-        seen.add(v);
-        if (Array.isArray(v)) {
-            return '[' + v.map(recur).join(',') + ']';
-        }
-        const keys = Object.keys(v).sort();
-        const body = keys.map((k)=>JSON.stringify(k) + ':' + 
recur(v[k])).join(',');
-        return '{' + body + '}';
-    };
-    return recur(value);
-}
-// --- 小工具 ---
-function u8ToHex(u8) {
-    let out = '';
-    for(let i = 0; i < u8.length; i++){
-        out += u8[i].toString(16).padStart(2, '0');
-    }
-    return out;
-}
-function hasSubtle() {
-    var _window_crypto_subtle;
-    return typeof window !== 'undefined' && !!window.crypto && 
!!window.isSecureContext && typeof ((_window_crypto_subtle = 
window.crypto.subtle) === null || _window_crypto_subtle === void 0 ? void 0 : 
_window_crypto_subtle.digest) === 'function';
-}
-// --- 纯 JS 的 SHA-256 fallback(简实现,无依赖) ---
-function sha256HexJS(data) {
-    // 常量
-    const K = new Uint32Array([
-        0x428a2f98,
-        0x71374491,
-        0xb5c0fbcf,
-        0xe9b5dba5,
-        0x3956c25b,
-        0x59f111f1,
-        0x923f82a4,
-        0xab1c5ed5,
-        0xd807aa98,
-        0x12835b01,
-        0x243185be,
-        0x550c7dc3,
-        0x72be5d74,
-        0x80deb1fe,
-        0x9bdc06a7,
-        0xc19bf174,
-        0xe49b69c1,
-        0xefbe4786,
-        0x0fc19dc6,
-        0x240ca1cc,
-        0x2de92c6f,
-        0x4a7484aa,
-        0x5cb0a9dc,
-        0x76f988da,
-        0x983e5152,
-        0xa831c66d,
-        0xb00327c8,
-        0xbf597fc7,
-        0xc6e00bf3,
-        0xd5a79147,
-        0x06ca6351,
-        0x14292967,
-        0x27b70a85,
-        0x2e1b2138,
-        0x4d2c6dfc,
-        0x53380d13,
-        0x650a7354,
-        0x766a0abb,
-        0x81c2c92e,
-        0x92722c85,
-        0xa2bfe8a1,
-        0xa81a664b,
-        0xc24b8b70,
-        0xc76c51a3,
-        0xd192e819,
-        0xd6990624,
-        0xf40e3585,
-        0x106aa070,
-        0x19a4c116,
-        0x1e376c08,
-        0x2748774c,
-        0x34b0bcb5,
-        0x391c0cb3,
-        0x4ed8aa4a,
-        0x5b9cca4f,
-        0x682e6ff3,
-        0x748f82ee,
-        0x78a5636f,
-        0x84c87814,
-        0x8cc70208,
-        0x90befffa,
-        0xa4506ceb,
-        0xbef9a3f7,
-        0xc67178f2
-    ]);
-    // 初始哈希
-    let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a, h4 
= 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;
-    // 预处理:填充
-    const l = data.length;
-    const bitLenHi = l >>> 29 >>> 0;
-    const bitLenLo = l << 3 >>> 0;
-    const nBlocks = (l + 9 >> 6) + 1 << 4; // 以 16 个 32bit 为一组
-    const M = new Uint32Array(nBlocks);
-    for(let i = 0; i < l; i++){
-        M[i >> 2] |= data[i] << (3 - (i & 3) << 3);
-    }
-    M[l >> 2] |= 0x80 << (3 - (l & 3) << 3);
-    M[nBlocks - 2] = bitLenHi;
-    M[nBlocks - 1] = bitLenLo;
-    const W = new Uint32Array(64);
-    const rotr = (x, n)=>x >>> n | x << 32 - n;
-    for(let i = 0; i < nBlocks; i += 16){
-        for(let t = 0; t < 16; t++){
-            W[t] = M[i + t];
-        }
-        for(let t = 16; t < 64; t++){
-            const s0 = (rotr(W[t - 15], 7) ^ rotr(W[t - 15], 18) ^ W[t - 15] 
>>> 3) >>> 0;
-            const s1 = (rotr(W[t - 2], 17) ^ rotr(W[t - 2], 19) ^ W[t - 2] >>> 
10) >>> 0;
-            W[t] = W[t - 16] + s0 + W[t - 7] + s1 >>> 0;
-        }
-        let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7;
-        for(let t = 0; t < 64; t++){
-            const S1 = (rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25)) >>> 0;
-            const ch = (e & f ^ ~e & g) >>> 0;
-            const T1 = h + S1 + ch + K[t] + W[t] >>> 0;
-            const S0 = (rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22)) >>> 0;
-            const maj = (a & b ^ a & c ^ b & c) >>> 0;
-            const T2 = S0 + maj >>> 0;
-            h = g;
-            g = f;
-            f = e;
-            e = d + T1 >>> 0;
-            d = c;
-            c = b;
-            b = a;
-            a = T1 + T2 >>> 0;
-        }
-        h0 = h0 + a >>> 0;
-        h1 = h1 + b >>> 0;
-        h2 = h2 + c >>> 0;
-        h3 = h3 + d >>> 0;
-        h4 = h4 + e >>> 0;
-        h5 = h5 + f >>> 0;
-        h6 = h6 + g >>> 0;
-        h7 = h7 + h >>> 0;
-    }
-    const out = new Uint8Array(32);
-    const H = [
-        h0,
-        h1,
-        h2,
-        h3,
-        h4,
-        h5,
-        h6,
-        h7
-    ];
-    for(let i = 0; i < 8; i++){
-        out[i * 4 + 0] = H[i] >>> 24 & 0xff;
-        out[i * 4 + 1] = H[i] >>> 16 & 0xff;
-        out[i * 4 + 2] = H[i] >>> 8 & 0xff;
-        out[i * 4 + 3] = H[i] & 0xff;
-    }
-    return u8ToHex(out);
-}
-// --- 通用 SHA-256(浏览器优先,fallback 到纯 JS) ---
-function sha256Hex(input) {
-    return _async_to_generator(function*() {
-        const data = new TextEncoder().encode(input);
-        if (hasSubtle()) {
-            const buf = yield window.crypto.subtle.digest('SHA-256', data);
-            return u8ToHex(new Uint8Array(buf));
-        }
-        // 非 https 或老环境:走纯 JS
-        return sha256HexJS(data);
-    })();
-}
-// --- 你的两个导出函数 ---
-function generateUid(obj) {
-    return _async_to_generator(function*() {
-        const json = stableStringify(obj);
-        return sha256Hex(json);
-    })();
-}
-function generateTableDataUID(items) {
-    return _async_to_generator(function*() {
-        // 允许 _original 缺失时退回整个 item;并发计算,更快
-        const sources = items.map((it)=>{
-            var _ref;
-            return (_ref = it && it._original) !== null && _ref !== void 0 ? 
_ref : it;
-        });
-        const uids = yield Promise.all(sources.map(generateUid));
-        return items.map((it, 
i)=>utils_object_spread_props(utils_object_spread({}, it), {
-                _uid: uids[i]
-            }));
-    })();
-}
-
+// EXTERNAL MODULE: ./utils/utils.ts
+var utils = __webpack_require__(2551);
 ;// ./components/surrounding-logs/content/content-table-actions.tsx
 
 
@@ -3581,7 +3279,7 @@ function SurroundingContentTableActions({ fieldName, 
fieldValue }) {
 
 ;// ./components/surrounding-logs/index.tsx
 'use client';
-function surrounding_logs_asyncGeneratorStep(gen, resolve, reject, _next, 
_throw, key, arg) {
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
     try {
         var info = gen[key](arg);
         var value = info.value;
@@ -3595,16 +3293,16 @@ function surrounding_logs_asyncGeneratorStep(gen, 
resolve, reject, _next, _throw
         Promise.resolve(value).then(_next, _throw);
     }
 }
-function surrounding_logs_async_to_generator(fn) {
+function _async_to_generator(fn) {
     return function() {
         var self = this, args = arguments;
         return new Promise(function(resolve, reject) {
             var gen = fn.apply(self, args);
             function _next(value) {
-                surrounding_logs_asyncGeneratorStep(gen, resolve, reject, 
_next, _throw, "next", value);
+                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"next", value);
             }
             function _throw(err) {
-                surrounding_logs_asyncGeneratorStep(gen, resolve, reject, 
_next, _throw, "throw", err);
+                asyncGeneratorStep(gen, resolve, reject, _next, _throw, 
"throw", err);
             }
             _next(undefined);
         });
@@ -3734,7 +3432,7 @@ function SurroundingLogs() {
         }, params)));
     }, {
         manual: true,
-        onSuccess: (res, 
params)=>surrounding_logs_async_to_generator(function*() {
+        onSuccess: (res, params)=>_async_to_generator(function*() {
                 if (res.ok) {
                     const rowsData = (0,utils_data/* convertColumnToRow 
*/.HL)(res.data.results.getSurroundingData.frames[0]);
                     const result = generateSurroundingResult(rowsData, 
currentTimeField);
@@ -3780,7 +3478,7 @@ function SurroundingLogs() {
         }, params)));
     }, {
         manual: true,
-        onSuccess: (res, 
params)=>surrounding_logs_async_to_generator(function*() {
+        onSuccess: (res, params)=>_async_to_generator(function*() {
                 if (res.ok) {
                     const rowsData = (0,utils_data/* convertColumnToRow 
*/.HL)(res.data.results.getSurroundingData.frames[0]);
                     const result = generateSurroundingResult(rowsData, 
currentTimeField);
@@ -3825,7 +3523,7 @@ function SurroundingLogs() {
         refreshDeps: [
             surroundingDataFilter
         ],
-        onSuccess: (res)=>surrounding_logs_async_to_generator(function*() {
+        onSuccess: (res)=>_async_to_generator(function*() {
                 if (res[0].ok && res[1].ok) {
                     const rowsData1 = (0,utils_data/* convertColumnToRow 
*/.HL)(res[0].data.results.getSurroundingData.frames[0]);
                     const rowsData2 = (0,utils_data/* convertColumnToRow 
*/.HL)(res[1].data.results.getSurroundingData.frames[0]);
@@ -3839,7 +3537,7 @@ function SurroundingLogs() {
                         ...selectedResult,
                         ...result2
                     ];
-                    const rowsDataWithUid = yield generateTableDataUID(data);
+                    const rowsDataWithUid = yield (0,utils/* 
generateTableDataUID */.sd)(data);
                     if (result1.length > 0) {
                         setBeforeCount(result1.length);
                         setBeforeTime(result1[0]._original[currentTimeField]);
@@ -4851,7 +4549,7 @@ function PageDiscover() {
                             search_value: searchValue,
                             indexes: currentIndexes || []
                         }, rowsData);
-                        const rowsDataWithUid = yield 
generateTableDataUID(resData);
+                        const rowsDataWithUid = yield (0,utils/* 
generateTableDataUID */.sd)(resData);
                         setTableData(rowsDataWithUid);
                     }
                 })(),
@@ -5187,4 +4885,4 @@ const testIds = {
 /***/ })
 
 }]);
-//# sourceMappingURL=301.js.map?_cache=5b7e7587736f022bf0b0
\ No newline at end of file
+//# sourceMappingURL=736.js.map?_cache=bc8b5eebe1a85c0241de
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/736.js.map 
b/src/grafana/plugins/doris-app/736.js.map
new file mode 100644
index 0000000..92b10a8
--- /dev/null
+++ b/src/grafana/plugins/doris-app/736.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"736.js?_cache=bc8b5eebe1a85c0241de","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAmC;AACE;AAE9B,MAAME,uBAAuBD,yCAAMA,CAACE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;AAsB/C,CAAC,CAAC;AAEK,MAAMC,2BAA2BH,yCAAMA,CAACE,GAAG,CAAC;;;;;;;;;;AAUnD,CAAC,CAAC;AAEK,MAAME,gBAAgBL,YAAG,CAAC;;;;;;;;;;;;AAYjC,CAAC,CAAC;;;;;;;;;;;ACnD6C;AACW;AAChC;AACgH;AACtC;AACjE;AAGpB,SAASsB;IACpB,MAAM,EAAEC,CAAC,EAAE,GAAGjB,6BAAcA;IAC5B,MAAM,CAACkB,YAAYC,cAAc,GAAGlB,yBAAOA,CAACO,+BAAcA;IAC1D,MAAMY,iBAAiBjB,4B
 [...]
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_darwin_amd64 
b/src/grafana/plugins/doris-app/gpx_doris-app_darwin_amd64
index 7fd1a3b..dabd879 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_darwin_amd64 and 
b/src/grafana/plugins/doris-app/gpx_doris-app_darwin_amd64 differ
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_darwin_arm64 
b/src/grafana/plugins/doris-app/gpx_doris-app_darwin_arm64
index 29565d3..a92ed06 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_darwin_arm64 and 
b/src/grafana/plugins/doris-app/gpx_doris-app_darwin_arm64 differ
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_linux_amd64 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_amd64
index 42d5ff9..3d9fea4 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_linux_amd64 and 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_amd64 differ
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm
index 57de697..57ce844 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm and 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm differ
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm64 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm64
index b266c54..69e56c1 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm64 and 
b/src/grafana/plugins/doris-app/gpx_doris-app_linux_arm64 differ
diff --git a/src/grafana/plugins/doris-app/gpx_doris-app_windows_amd64.exe 
b/src/grafana/plugins/doris-app/gpx_doris-app_windows_amd64.exe
index edf41cc..db00db0 100755
Binary files a/src/grafana/plugins/doris-app/gpx_doris-app_windows_amd64.exe 
and b/src/grafana/plugins/doris-app/gpx_doris-app_windows_amd64.exe differ
diff --git a/src/grafana/plugins/doris-app/module.js 
b/src/grafana/plugins/doris-app/module.js
index 8b0fd03..7c63425 100644
--- a/src/grafana/plugins/doris-app/module.js
+++ b/src/grafana/plugins/doris-app/module.js
@@ -1192,7 +1192,7 @@ module.exports = domAPI;
 /******/               // This function allow to reference async chunks
 /******/               __webpack_require__.u = (chunkId) => {
 /******/                       // return url for filenames based on template
-/******/                       return "" + chunkId + ".js?_cache=" + 
{"35":"6d86e876a981760ae4a1","181":"199c7bc22e9b0ba4a085","202":"960b652c09389756ed7b","301":"5b7e7587736f022bf0b0","462":"17b5ab6b000cf855c5db","600":"da9ca1a564051d04d4f3","632":"20f9d65c2526bb592e0a","723":"cd85aac21ae242f5f0f2"}[chunkId]
 + "";
+/******/                       return "" + chunkId + ".js?_cache=" + 
{"35":"6d86e876a981760ae4a1","181":"8838de9b4b91b78829eb","202":"960b652c09389756ed7b","462":"976c26fcfa23ac1d318e","600":"da9ca1a564051d04d4f3","632":"20f9d65c2526bb592e0a","723":"cd85aac21ae242f5f0f2","736":"bc8b5eebe1a85c0241de"}[chunkId]
 + "";
 /******/               };
 /******/       })();
 /******/       
@@ -1282,7 +1282,7 @@ module.exports = domAPI;
 /******/       
 /******/       /* webpack/runtime/compat */
 /******/       
-/******/       __webpack_require__.sriHashes = 
{"35":"sha256-8TWj0IuqCnw+QkYOR4eAnmDEKCIKywuChqXPt3S4FV0=","181":"sha256-S9IjFpVV4huLTJA/PBBo8of9bxNErQykqWp0esRD3jg=","202":"sha256-CN4kzTw1qZgwAinJ1/Yabb8xvpGp0KP+/BizIwiPgfQ=","301":"sha256-HVEabGpMVI5Hq1gi79mK1ywt6FU5ynwCRlq8LR7VFnk=","462":"sha256-X497Yr1/vrDrkoN/fqxBo8tu4PppUUPy95D2K4MCI98=","600":"sha256-8fQLd/XtX6vKabiUbI2oAMD+ZI1fpIg4ulotNgeKMo0=","632":"sha256-MW1oi1N0a/3ek7LCgIZcCVt3rVRNjLXJmSZD8oTGIZY=","723":"sha256-YDvp7Qjz8uu5Sk0f
 [...]
+/******/       __webpack_require__.sriHashes = 
{"35":"sha256-8TWj0IuqCnw+QkYOR4eAnmDEKCIKywuChqXPt3S4FV0=","181":"sha256-b0AjFxQlfOABSkTCqwipbSyEvIJ7G2+eRbA76c9ftko=","202":"sha256-CN4kzTw1qZgwAinJ1/Yabb8xvpGp0KP+/BizIwiPgfQ=","462":"sha256-9u1mQMiOj3NbxZd4gMTRjoHCjFRIa7h7p1E+kJ4AciU=","600":"sha256-8fQLd/XtX6vKabiUbI2oAMD+ZI1fpIg4ulotNgeKMo0=","632":"sha256-MW1oi1N0a/3ek7LCgIZcCVt3rVRNjLXJmSZD8oTGIZY=","723":"sha256-YDvp7Qjz8uu5Sk0fPOr2QrUrKd0OfhzUsNXFLgjBQwM=","736":"sha256-rtY4Fhv25vIcOzhF
 [...]
 /******/       
 /******/       /* webpack/runtime/jsonp chunk loading */
 /******/       (() => {
diff --git a/src/grafana/plugins/doris-app/module.js.map 
b/src/grafana/plugins/doris-app/module.js.map
index 08fcc86..e834771 100644
--- a/src/grafana/plugins/doris-app/module.js.map
+++ b/src/grafana/plugins/doris-app/module.js.map
@@ -1 +1 @@
-{"version":3,"file":"module.js","mappings":";;;;;;;;AAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV
 [...]
\ No newline at end of file
+{"version":3,"file":"module.js","mappings":";;;;;;;;AAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV
 [...]
\ No newline at end of file
diff --git a/src/grafana/plugins/doris-app/plugin.json 
b/src/grafana/plugins/doris-app/plugin.json
index 37d4405..c6e3f65 100644
--- a/src/grafana/plugins/doris-app/plugin.json
+++ b/src/grafana/plugins/doris-app/plugin.json
@@ -19,7 +19,7 @@
         },
         "screenshots": [],
         "version": "1.0.0",
-        "updated": "2025-08-28"
+        "updated": "2025-09-04"
     },
     "includes": [
         {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to