From 308aa8c14697c0436f0a8ee577575d864377fe28 Mon Sep 17 00:00:00 2001 From: chaolee50 Date: Tue, 5 Jul 2022 12:32:29 +0800 Subject: [PATCH] fix trace format --- dist/module.js | 2 +- dist/module.js.map | 2 +- src/datasource.ts | 18 +++++++++++------- src/types.ts | 10 +++++----- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/dist/module.js b/dist/module.js index 69222ce..317ea5e 100644 --- a/dist/module.js +++ b/dist/module.js @@ -1,3 +1,3 @@ /*! For license information please see module.js.LICENSE.txt */ -define(["react","@grafana/data","@grafana/ui","lodash","@grafana/runtime"],(function(e,t,r,n,o){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=5)}([function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t,r){"use strict";r.r(t);var n=r(1),o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var s=function(){return(s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}Object.create;var c=r(4),l=r(3),p=r.n(l),f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function h(e,t){function r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function d(e){return"function"==typeof e}var y=!1,b={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e);y=e},get useDeprecatedSynchronousErrorHandling(){return y}};function g(e){setTimeout((function(){throw e}),0)}var v={closed:!0,next:function(e){},error:function(e){if(b.useDeprecatedSynchronousErrorHandling)throw e;g(e)},complete:function(){}},m=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}();var _=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),S=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}return e.prototype.unsubscribe=function(){var t;if(!this.closed){var r,n=this._parentOrParents,o=this._ctorUnsubscribe,i=this._unsubscribe,s=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}Object.create;var c=r(4),l=r(3),p=r.n(l),f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function h(e,t){function r(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function d(e){return"function"==typeof e}var y=!1,b={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e);y=e},get useDeprecatedSynchronousErrorHandling(){return y}};function g(e){setTimeout((function(){throw e}),0)}var v={closed:!0,next:function(e){},error:function(e){if(b.useDeprecatedSynchronousErrorHandling)throw e;g(e)},complete:function(){}},m=function(){return Array.isArray||function(e){return e&&"number"==typeof e.length}}();var _=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}(),S=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}return e.prototype.unsubscribe=function(){var t;if(!this.closed){var r,n=this._parentOrParents,o=this._ctorUnsubscribe,i=this._unsubscribe,s=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var a=0;a= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","import {\n TraceLog,\n TraceKeyValuePair,\n TraceSpanRow,\n DataFrame,\n DataQueryRequest,\n DataQueryResponse,\n DataSourceInstanceSettings,\n FieldType,\n MutableDataFrame,\n Vector,\n} from '@grafana/data';\nimport { SLSDataSourceOptions, SlsLog, SLSQuery } from './types';\nimport { DataSourceWithBackend, getBackendSrv, getTemplateSrv } from '@grafana/runtime';\nimport _ from 'lodash';\nimport { map } from 'rxjs/operators';\n\nexport class SLSDataSource extends DataSourceWithBackend {\n constructor(instanceSettings: DataSourceInstanceSettings) {\n super(instanceSettings);\n }\n\n query(options: DataQueryRequest) {\n options.targets.forEach((q: SLSQuery) => {\n q.query = replaceQueryParameters(q, options);\n });\n if (options.targets[0].xcol === 'trace') {\n return super.query(options).pipe(map(responseToDataQueryResponse));\n }\n return super.query(options);\n }\n\n metricFindQuery(query: SLSQuery, options?: any) {\n const data = {\n from: options.range.from.valueOf().toString(),\n to: options.range.to.valueOf().toString(),\n queries: [\n {\n datasource: this.name,\n datasourceId: this.id,\n query: replaceQueryParameters(query, options),\n },\n ],\n };\n return getBackendSrv()\n .post('/api/ds/query', data)\n .then((response) => {\n return response.results.A.frames[0].data.values[0];\n })\n .then(mapToTextValue);\n }\n}\n\nfunction valueToTag(key: any, value: any): TraceKeyValuePair {\n return {\n key,\n value,\n };\n}\n\nfunction transServiceTags(result: Map, i: number): TraceKeyValuePair[] {\n const resource = JSON.parse(result.get('resource')?.get(i));\n const resourceArray = Array.from(Object.entries(resource), ([name, value]) => valueToTag(name, value));\n resourceArray.push(valueToTag('host', result.get('host')?.get(i)));\n return resourceArray;\n}\n\nfunction transTags(result: Map, i: number): TraceKeyValuePair[] {\n const attribute = JSON.parse(result.get('attribute')?.get(i));\n const resourceArray = Array.from(Object.entries(attribute), ([name, value]) => valueToTag(name, value));\n resourceArray.push(valueToTag('statusCode', result.get('statusCode')?.get(i)));\n resourceArray.push(valueToTag('statusMessage', result.get('statusMessage')?.get(i)));\n return resourceArray;\n}\n\nfunction transLogs(result: Map, i: number): TraceLog[] {\n let traceLogs: TraceLog[] = [];\n const slsLogs = JSON.parse(result.get('logs')?.get(i)) as SlsLog[];\n for (const slsLog of slsLogs) {\n const attributeArray = Array.from(Object.entries(slsLog.attribute), ([name, value]) => valueToTag(name, value));\n traceLogs.push({\n timestamp: slsLog.time / 1000000,\n fields: attributeArray,\n });\n }\n return traceLogs;\n}\n\nfunction transformSpan(df: DataFrame): TraceSpanRow[] {\n let traceSpanRows: TraceSpanRow[] = [];\n const fields = df.fields;\n const result = new Map(fields.map((key) => [key.name, key.values]));\n for (let i = 0; i < df.length; i++) {\n const tsd = {\n traceID: result.get('traceID')?.get(i),\n spanID: result.get('spanID')?.get(i),\n parentSpanID: result.get('parentSpanID')?.get(i),\n operationName: result.get('operationName')?.get(i),\n serviceName: result.get('serviceName')?.get(i),\n serviceTags: transServiceTags(result, i),\n startTime: result.get('startTime')?.get(i),\n duration: result.get('duration')?.get(i),\n tags: transTags(result, i),\n errorIconColor: result.get('statusCode')?.get(i) === 'ERROR' ? '#f00' : '',\n logs: transLogs(result, i),\n };\n traceSpanRows.push(tsd);\n }\n return traceSpanRows;\n}\n\nexport function transformResponse(df: DataFrame): DataFrame {\n const spanRows = transformSpan(df);\n const frame = new MutableDataFrame({\n fields: [\n { name: 'traceID', type: FieldType.string },\n { name: 'spanID', type: FieldType.string },\n { name: 'parentSpanID', type: FieldType.string },\n { name: 'operationName', type: FieldType.string },\n { name: 'serviceName', type: FieldType.string },\n { name: 'serviceTags', type: FieldType.other },\n { name: 'startTime', type: FieldType.number },\n { name: 'duration', type: FieldType.number },\n { name: 'logs', type: FieldType.other },\n { name: 'tags', type: FieldType.other },\n { name: 'errorIconColor', type: FieldType.string },\n ],\n meta: {\n preferredVisualisationType: 'trace',\n },\n });\n\n for (const span of spanRows) {\n frame.add(span);\n }\n\n return frame;\n}\n\nfunction responseToDataQueryResponse(response: DataQueryResponse): DataQueryResponse {\n console.log(response);\n return {\n data: [transformResponse(response.data[0])],\n };\n}\n\nexport function mapToTextValue(result: any) {\n return _.map(result, (d, i) => {\n if (d && d.text && d.value) {\n return { text: d.text, value: d.value };\n } else if (_.isObject(d)) {\n return { text: d, value: i };\n }\n return { text: d, value: d };\n });\n}\n\nexport function replaceQueryParameters(q: SLSQuery, options: DataQueryRequest) {\n // if (typeof q.query === 'undefined') {\n // q.query = '';\n // }\n if (q.hide) {\n return;\n }\n let query = getTemplateSrv().replace(\n q.query,\n options.scopedVars,\n function (\n value: { forEach: (arg0: (v: string) => void) => void; join: (arg0: string) => void },\n variable: { multi: any; includeAll: any; name: string; label: any }\n ) {\n if (typeof value === 'object' && (variable.multi || variable.includeAll)) {\n const a: string[] = [];\n value.forEach(function (v: string) {\n if (variable.name === variable.label) {\n a.push('\"' + variable.name + '\":\"' + v + '\"');\n } else {\n a.push(v);\n }\n });\n return a.join(' OR ');\n }\n if (_.isArray(value)) {\n return value.join(' OR ');\n }\n return value;\n }\n );\n\n const re = /\\$([0-9]+)([dmhs])/g;\n const reArray = query.match(re);\n _(reArray).forEach(function (col) {\n const old = col;\n col = col.replace('$', '');\n let sec = 1;\n if (col.indexOf('s') !== -1) {\n sec = 1;\n } else if (col.indexOf('m') !== -1) {\n sec = 60;\n } else if (col.indexOf('h') !== -1) {\n sec = 3600;\n } else if (col.indexOf('d') !== -1) {\n sec = 3600 * 24;\n }\n col = col.replace(/[smhd]/g, '');\n let v = parseInt(col, 10);\n v = v * sec;\n console.log(old, v, col, sec, query);\n query = query.replace(old, String(v));\n });\n if (query.indexOf('#time_end') !== -1) {\n query = query.replace('#time_end', String(options.range.to.unix() / 1000));\n }\n if (query.indexOf('#time_begin') !== -1) {\n query = query.replace('#time_begin', String(options.range.from.unix() / 1000));\n }\n return query;\n}\n","import React, { ChangeEvent, PureComponent } from 'react';\nimport { LegacyForms } from '@grafana/ui';\nimport { DataSourcePluginOptionsEditorProps } from '@grafana/data';\nimport { SLSDataSourceOptions, SLSSecureJsonData } from './types';\n\nconst { SecretFormField, FormField } = LegacyForms;\n\ninterface Props extends DataSourcePluginOptionsEditorProps {}\n\ninterface State {}\n\nexport class SLSConfigEditor extends PureComponent {\n onEndpointChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n options.url = event.target.value;\n onOptionsChange({ ...options });\n };\n\n onProjectChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n const jsonData = {\n ...options.jsonData,\n project: event.target.value,\n };\n onOptionsChange({ ...options, jsonData });\n };\n\n onLogStoreChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n const jsonData = {\n ...options.jsonData,\n logstore: event.target.value,\n };\n onOptionsChange({ ...options, jsonData });\n };\n\n // Secure field (only sent to the backend)\n onAKIDChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n var accessKeySecret = '';\n if (options.secureJsonData !== undefined) {\n if (options.secureJsonData.hasOwnProperty('accessKeySecret')) {\n // @ts-ignore\n accessKeySecret = options.secureJsonData['accessKeySecret'];\n }\n }\n onOptionsChange({\n ...options,\n secureJsonData: {\n accessKeyId: event.target.value,\n accessKeySecret: accessKeySecret,\n },\n });\n };\n\n onAKSecretChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n var accessKeyId = '';\n if (options.secureJsonData !== undefined) {\n if (options.secureJsonData.hasOwnProperty('accessKeyId')) {\n // @ts-ignore\n accessKeyId = options.secureJsonData['accessKeyId'];\n }\n }\n onOptionsChange({\n ...options,\n secureJsonData: {\n accessKeyId: accessKeyId,\n accessKeySecret: event.target.value,\n },\n });\n };\n\n onResetAKID = () => {\n const { onOptionsChange, options } = this.props;\n onOptionsChange({\n ...options,\n secureJsonFields: {\n ...options.secureJsonFields,\n accessKeyId: false,\n },\n secureJsonData: {\n ...options.secureJsonData,\n accessKeyId: '',\n },\n });\n };\n onResetAKSecret = () => {\n const { onOptionsChange, options } = this.props;\n onOptionsChange({\n ...options,\n secureJsonFields: {\n ...options.secureJsonFields,\n accessKeySecret: false,\n },\n secureJsonData: {\n ...options.secureJsonData,\n accessKeySecret: '',\n },\n });\n };\n\n render() {\n const { options } = this.props;\n const { jsonData, secureJsonFields, url } = options;\n const secureJsonData = (options.secureJsonData || {}) as SLSSecureJsonData;\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\n","import { DataQuery, DataSourceJsonData } from '@grafana/data';\n\nexport interface SLSQuery extends DataQuery {\n query?: string;\n xcol?: string;\n ycol?: string;\n logsPerPage?: number;\n currentPage?: number;\n}\n\nexport const defaultQuery: Partial = {\n query: '* | select count(*) as c, __time__-__time__%60 as t group by t',\n xcol: 't',\n ycol: 'c',\n logsPerPage: 100,\n currentPage: 1,\n};\n\n/**\n * These are options configured for each DataSource instance\n */\nexport interface SLSDataSourceOptions extends DataSourceJsonData {\n endpoint?: string;\n project?: string;\n logstore?: string;\n}\n\n/**\n * Value that is used in the backend, but never sent over HTTP to the frontend\n */\nexport interface SLSSecureJsonData {\n accessKeyId?: string;\n accessKeySecret?: string;\n}\n\nexport declare type SlsLog = {\n time: number;\n attribute: Map;\n name: string;\n};\n","import { defaults } from 'lodash';\n\nimport React, { ChangeEvent, PureComponent } from 'react';\nimport { LegacyForms, InlineFormLabel } from '@grafana/ui';\nimport { QueryEditorProps } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nimport { defaultQuery, SLSDataSourceOptions, SLSQuery } from './types';\n\nconst { FormField } = LegacyForms;\n\ntype Props = QueryEditorProps;\n\nexport class SLSQueryEditor extends PureComponent {\n onQueryTextChange = (event: ChangeEvent) => {\n const { onChange, query } = this.props;\n onChange({ ...query, query: event.target.value });\n };\n\n onXChange = (event: ChangeEvent) => {\n const { onChange, query, onRunQuery } = this.props;\n onChange({ ...query, xcol: event.target.value });\n // executes the query\n onRunQuery();\n };\n\n onYChange = (event: ChangeEvent) => {\n const { onChange, query, onRunQuery } = this.props;\n onChange({ ...query, ycol: event.target.value });\n // executes the query\n onRunQuery();\n };\n\n render() {\n const dq = defaults(this.props.query, defaultQuery);\n const { query, xcol, ycol } = dq;\n\n return (\n <>\n
\n \n Query\n \n \n
\n
\n \n \n
\n \n );\n }\n}\n","import React, { ChangeEvent, PureComponent } from 'react';\nimport { SLSDataSourceOptions, SLSQuery } from './types';\n\nimport { LegacyForms } from '@grafana/ui';\nimport { QueryEditorProps } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nconst { FormField } = LegacyForms;\n\ntype Props = QueryEditorProps;\n\nexport class SLSVariableQueryEditor extends PureComponent {\n onQueryTextChange = (event: ChangeEvent) => {\n const { onChange, query } = this.props;\n onChange({ ...query, query: event.target.value });\n };\n\n render() {\n const { query } = this.props.query;\n\n return (\n <>\n
\n \n
\n \n );\n }\n}\n","import { DataSourcePlugin } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nimport { SLSConfigEditor } from './ConfigEditor';\nimport { SLSQueryEditor } from './QueryEditor';\nimport { SLSQuery, SLSDataSourceOptions } from './types';\nimport { SLSVariableQueryEditor } from './VariableQueryEditor';\n\nexport const plugin = new DataSourcePlugin(SLSDataSource)\n .setConfigEditor(SLSConfigEditor)\n .setQueryEditor(SLSQueryEditor)\n .setVariableQueryEditor(SLSVariableQueryEditor);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"@grafana/data\"","webpack:///external \"@grafana/ui\"","webpack:///external \"lodash\"","webpack:///external \"@grafana/runtime\"","webpack:///../node_modules/tslib/tslib.es6.js","webpack:///../node_modules/rxjs/node_modules/tslib/tslib.es6.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isFunction.js","webpack:///../node_modules/rxjs/_esm5/internal/config.js","webpack:///../node_modules/rxjs/_esm5/internal/util/hostReportError.js","webpack:///../node_modules/rxjs/_esm5/internal/Observer.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isArray.js","webpack:///../node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","webpack:///../node_modules/rxjs/_esm5/internal/Subscription.js","webpack:///../node_modules/rxjs/_esm5/internal/util/isObject.js","webpack:///../node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/Subscriber.js","webpack:///../node_modules/rxjs/_esm5/internal/operators/map.js","webpack:///./datasource.ts","webpack:///./ConfigEditor.tsx","webpack:///./types.ts","webpack:///./QueryEditor.tsx","webpack:///./VariableQueryEditor.tsx","webpack:///./module.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__3__","__WEBPACK_EXTERNAL_MODULE__4__","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","TypeError","String","__","this","constructor","__assign","assign","arguments","length","apply","__values","iterator","next","done","__read","e","ar","push","error","isFunction","x","_enable_super_gross_mode_that_will_cause_bad_things","config","Promise","undefined","hostReportError","err","setTimeout","empty","closed","useDeprecatedSynchronousErrorHandling","complete","isArray","UnsubscriptionError","UnsubscriptionErrorImpl","errors","Error","message","map","toString","join","Subscription","unsubscribe","_parentOrParents","_subscriptions","_ctorUnsubscribe","_unsubscribe","remove","index","flattenUnsubscriptionErrors","len","sub","concat","add","teardown","subscription","EMPTY","tmp","indexOf","subscriptions","subscriptionIndex","splice","reduce","errs","rxSubscriber","Math","random","_super","Subscriber","destinationOrNext","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","subscriber","_next","_error","_complete","_unsubscribeAndRecycle","SafeSubscriber","_parentSubscriber","observerOrNext","context","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","MapOperator","project","thisArg","source","subscribe","MapSubscriber","count","result","instanceSettings","query","options","targets","forEach","q","replaceQueryParameters","xcol","pipe","responseToDataQueryResponse","lift","metricFindQuery","data","from","range","valueOf","to","queries","datasource","datasourceId","id","post","then","response","results","A","frames","values","mapToTextValue","valueToTag","transServiceTags","resource","JSON","parse","resourceArray","entries","transTags","attribute","transLogs","traceLogs","slsLogs","slsLog","logMap","Map","attributeArray","time","timestamp","Number","fields","transformResponse","df","spanRows","traceSpanRows","tsd","traceID","spanID","parentSpanID","operationName","serviceName","serviceTags","startTime","duration","tags","errorIconColor","logs","transformSpan","frame","type","string","other","number","meta","preferredVisualisationType","span","text","isObject","hide","replace","scopedVars","variable","multi","includeAll","v","label","reArray","match","col","old","sec","parseInt","unix","SecretFormField","FormField","onEndpointChange","event","props","onOptionsChange","url","target","onProjectChange","jsonData","onLogStoreChange","logstore","onAKIDChange","accessKeySecret","secureJsonData","accessKeyId","onAKSecretChange","onResetAKID","secureJsonFields","onResetAKSecret","render","className","labelWidth","inputWidth","onChange","placeholder","isConfigured","onReset","defaultQuery","ycol","logsPerPage","currentPage","onQueryTextChange","onXChange","onRunQuery","onYChange","dq","width","onBlur","setConfigEditor","setQueryEditor","setVariableQueryEditor"],"mappings":"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","file":"module.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","import {\n TraceLog,\n TraceKeyValuePair,\n TraceSpanRow,\n DataFrame,\n DataQueryRequest,\n DataQueryResponse,\n DataSourceInstanceSettings,\n FieldType,\n MutableDataFrame,\n Vector,\n} from '@grafana/data';\nimport { SLSDataSourceOptions, SLSQuery } from './types';\nimport { DataSourceWithBackend, getBackendSrv, getTemplateSrv } from '@grafana/runtime';\nimport _ from 'lodash';\nimport { map } from 'rxjs/operators';\n\nexport class SLSDataSource extends DataSourceWithBackend {\n constructor(instanceSettings: DataSourceInstanceSettings) {\n super(instanceSettings);\n }\n\n query(options: DataQueryRequest) {\n options.targets.forEach((q: SLSQuery) => {\n q.query = replaceQueryParameters(q, options);\n });\n if (options.targets[0].xcol === 'trace') {\n return super.query(options).pipe(map(responseToDataQueryResponse));\n }\n return super.query(options);\n }\n\n metricFindQuery(query: SLSQuery, options?: any) {\n const data = {\n from: options.range.from.valueOf().toString(),\n to: options.range.to.valueOf().toString(),\n queries: [\n {\n datasource: this.name,\n datasourceId: this.id,\n query: replaceQueryParameters(query, options),\n },\n ],\n };\n return getBackendSrv()\n .post('/api/ds/query', data)\n .then((response) => {\n return response.results.A.frames[0].data.values[0];\n })\n .then(mapToTextValue);\n }\n}\n\nfunction valueToTag(key: any, value: any): TraceKeyValuePair {\n return {\n key,\n value,\n };\n}\n\nfunction transServiceTags(result: Map, i: number): TraceKeyValuePair[] {\n const resource = JSON.parse(result.get('resource')?.get(i));\n const resourceArray = Array.from(Object.entries(resource), ([name, value]) => valueToTag(name, value));\n resourceArray.push(valueToTag('host', result.get('host')?.get(i)));\n return resourceArray;\n}\n\nfunction transTags(result: Map, i: number): TraceKeyValuePair[] {\n const attribute = JSON.parse(result.get('attribute')?.get(i));\n const resourceArray = Array.from(Object.entries(attribute), ([name, value]) => valueToTag(name, value));\n resourceArray.push(valueToTag('statusCode', result.get('statusCode')?.get(i)));\n resourceArray.push(valueToTag('statusMessage', result.get('statusMessage')?.get(i)));\n return resourceArray;\n}\n\nfunction transLogs(result: Map, i: number): TraceLog[] {\n let traceLogs: TraceLog[] = [];\n const slsLogs = JSON.parse(result.get('logs')?.get(i)) as Object[];\n for (const slsLog of slsLogs) {\n const logMap = new Map(Object.entries(slsLog));\n const attributeArray = Array.from(Object.entries(slsLog), ([name, value]) => valueToTag(name, value));\n let time = logMap.get('time');\n if (time !== undefined) {\n traceLogs.push({\n timestamp: Number(time) / 1000000,\n fields: attributeArray,\n });\n }\n }\n return traceLogs;\n}\n\nfunction transformSpan(df: DataFrame): TraceSpanRow[] {\n let traceSpanRows: TraceSpanRow[] = [];\n const fields = df.fields;\n const result = new Map(fields.map((key) => [key.name, key.values]));\n for (let i = 0; i < df.length; i++) {\n const tsd = {\n traceID: result.get('traceID')?.get(i),\n spanID: result.get('spanID')?.get(i),\n parentSpanID: result.get('parentSpanID')?.get(i),\n operationName: result.get('operationName')?.get(i),\n serviceName: result.get('serviceName')?.get(i),\n serviceTags: transServiceTags(result, i),\n startTime: result.get('startTime')?.get(i),\n duration: result.get('duration')?.get(i),\n tags: transTags(result, i),\n errorIconColor: result.get('statusCode')?.get(i) === 'ERROR' ? '#f00' : '',\n logs: transLogs(result, i),\n };\n traceSpanRows.push(tsd);\n }\n return traceSpanRows;\n}\n\nexport function transformResponse(df: DataFrame): DataFrame {\n const spanRows = transformSpan(df);\n const frame = new MutableDataFrame({\n fields: [\n { name: 'traceID', type: FieldType.string },\n { name: 'spanID', type: FieldType.string },\n { name: 'parentSpanID', type: FieldType.string },\n { name: 'operationName', type: FieldType.string },\n { name: 'serviceName', type: FieldType.string },\n { name: 'serviceTags', type: FieldType.other },\n { name: 'startTime', type: FieldType.number },\n { name: 'duration', type: FieldType.number },\n { name: 'logs', type: FieldType.other },\n { name: 'tags', type: FieldType.other },\n { name: 'errorIconColor', type: FieldType.string },\n ],\n meta: {\n preferredVisualisationType: 'trace',\n },\n });\n\n for (const span of spanRows) {\n frame.add(span);\n }\n\n return frame;\n}\n\nfunction responseToDataQueryResponse(response: DataQueryResponse): DataQueryResponse {\n console.log(response);\n return {\n data: [transformResponse(response.data[0])],\n };\n}\n\nexport function mapToTextValue(result: any) {\n return _.map(result, (d, i) => {\n if (d && d.text && d.value) {\n return { text: d.text, value: d.value };\n } else if (_.isObject(d)) {\n return { text: d, value: i };\n }\n return { text: d, value: d };\n });\n}\n\nexport function replaceQueryParameters(q: SLSQuery, options: DataQueryRequest) {\n // if (typeof q.query === 'undefined') {\n // q.query = '';\n // }\n if (q.hide) {\n return;\n }\n let query = getTemplateSrv().replace(\n q.query,\n options.scopedVars,\n function (\n value: { forEach: (arg0: (v: string) => void) => void; join: (arg0: string) => void },\n variable: { multi: any; includeAll: any; name: string; label: any }\n ) {\n if (typeof value === 'object' && (variable.multi || variable.includeAll)) {\n const a: string[] = [];\n value.forEach(function (v: string) {\n if (variable.name === variable.label) {\n a.push('\"' + variable.name + '\":\"' + v + '\"');\n } else {\n a.push(v);\n }\n });\n return a.join(' OR ');\n }\n if (_.isArray(value)) {\n return value.join(' OR ');\n }\n return value;\n }\n );\n\n const re = /\\$([0-9]+)([dmhs])/g;\n const reArray = query.match(re);\n _(reArray).forEach(function (col) {\n const old = col;\n col = col.replace('$', '');\n let sec = 1;\n if (col.indexOf('s') !== -1) {\n sec = 1;\n } else if (col.indexOf('m') !== -1) {\n sec = 60;\n } else if (col.indexOf('h') !== -1) {\n sec = 3600;\n } else if (col.indexOf('d') !== -1) {\n sec = 3600 * 24;\n }\n col = col.replace(/[smhd]/g, '');\n let v = parseInt(col, 10);\n v = v * sec;\n console.log(old, v, col, sec, query);\n query = query.replace(old, String(v));\n });\n if (query.indexOf('#time_end') !== -1) {\n query = query.replace('#time_end', String(options.range.to.unix() / 1000));\n }\n if (query.indexOf('#time_begin') !== -1) {\n query = query.replace('#time_begin', String(options.range.from.unix() / 1000));\n }\n return query;\n}\n","import React, { ChangeEvent, PureComponent } from 'react';\nimport { LegacyForms } from '@grafana/ui';\nimport { DataSourcePluginOptionsEditorProps } from '@grafana/data';\nimport { SLSDataSourceOptions, SLSSecureJsonData } from './types';\n\nconst { SecretFormField, FormField } = LegacyForms;\n\ninterface Props extends DataSourcePluginOptionsEditorProps {}\n\ninterface State {}\n\nexport class SLSConfigEditor extends PureComponent {\n onEndpointChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n options.url = event.target.value;\n onOptionsChange({ ...options });\n };\n\n onProjectChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n const jsonData = {\n ...options.jsonData,\n project: event.target.value,\n };\n onOptionsChange({ ...options, jsonData });\n };\n\n onLogStoreChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n const jsonData = {\n ...options.jsonData,\n logstore: event.target.value,\n };\n onOptionsChange({ ...options, jsonData });\n };\n\n // Secure field (only sent to the backend)\n onAKIDChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n var accessKeySecret = '';\n if (options.secureJsonData !== undefined) {\n if (options.secureJsonData.hasOwnProperty('accessKeySecret')) {\n // @ts-ignore\n accessKeySecret = options.secureJsonData['accessKeySecret'];\n }\n }\n onOptionsChange({\n ...options,\n secureJsonData: {\n accessKeyId: event.target.value,\n accessKeySecret: accessKeySecret,\n },\n });\n };\n\n onAKSecretChange = (event: ChangeEvent) => {\n const { onOptionsChange, options } = this.props;\n var accessKeyId = '';\n if (options.secureJsonData !== undefined) {\n if (options.secureJsonData.hasOwnProperty('accessKeyId')) {\n // @ts-ignore\n accessKeyId = options.secureJsonData['accessKeyId'];\n }\n }\n onOptionsChange({\n ...options,\n secureJsonData: {\n accessKeyId: accessKeyId,\n accessKeySecret: event.target.value,\n },\n });\n };\n\n onResetAKID = () => {\n const { onOptionsChange, options } = this.props;\n onOptionsChange({\n ...options,\n secureJsonFields: {\n ...options.secureJsonFields,\n accessKeyId: false,\n },\n secureJsonData: {\n ...options.secureJsonData,\n accessKeyId: '',\n },\n });\n };\n onResetAKSecret = () => {\n const { onOptionsChange, options } = this.props;\n onOptionsChange({\n ...options,\n secureJsonFields: {\n ...options.secureJsonFields,\n accessKeySecret: false,\n },\n secureJsonData: {\n ...options.secureJsonData,\n accessKeySecret: '',\n },\n });\n };\n\n render() {\n const { options } = this.props;\n const { jsonData, secureJsonFields, url } = options;\n const secureJsonData = (options.secureJsonData || {}) as SLSSecureJsonData;\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\n","import { DataQuery, DataSourceJsonData } from '@grafana/data';\n\nexport interface SLSQuery extends DataQuery {\n query?: string;\n xcol?: string;\n ycol?: string;\n logsPerPage?: number;\n currentPage?: number;\n}\n\nexport const defaultQuery: Partial = {\n query: '* | select count(*) as c, __time__-__time__%60 as t group by t',\n xcol: 't',\n ycol: 'c',\n logsPerPage: 100,\n currentPage: 1,\n};\n\n/**\n * These are options configured for each DataSource instance\n */\nexport interface SLSDataSourceOptions extends DataSourceJsonData {\n endpoint?: string;\n project?: string;\n logstore?: string;\n}\n\n/**\n * Value that is used in the backend, but never sent over HTTP to the frontend\n */\nexport interface SLSSecureJsonData {\n accessKeyId?: string;\n accessKeySecret?: string;\n}\n\n// export declare type SlsLog = {\n// time: number;\n// attribute: Map;\n// name: string;\n// };\n","import { defaults } from 'lodash';\n\nimport React, { ChangeEvent, PureComponent } from 'react';\nimport { LegacyForms, InlineFormLabel } from '@grafana/ui';\nimport { QueryEditorProps } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nimport { defaultQuery, SLSDataSourceOptions, SLSQuery } from './types';\n\nconst { FormField } = LegacyForms;\n\ntype Props = QueryEditorProps;\n\nexport class SLSQueryEditor extends PureComponent {\n onQueryTextChange = (event: ChangeEvent) => {\n const { onChange, query } = this.props;\n onChange({ ...query, query: event.target.value });\n };\n\n onXChange = (event: ChangeEvent) => {\n const { onChange, query, onRunQuery } = this.props;\n onChange({ ...query, xcol: event.target.value });\n // executes the query\n onRunQuery();\n };\n\n onYChange = (event: ChangeEvent) => {\n const { onChange, query, onRunQuery } = this.props;\n onChange({ ...query, ycol: event.target.value });\n // executes the query\n onRunQuery();\n };\n\n render() {\n const dq = defaults(this.props.query, defaultQuery);\n const { query, xcol, ycol } = dq;\n\n return (\n <>\n
\n \n Query\n \n \n
\n
\n \n \n
\n \n );\n }\n}\n","import React, { ChangeEvent, PureComponent } from 'react';\nimport { SLSDataSourceOptions, SLSQuery } from './types';\n\nimport { LegacyForms } from '@grafana/ui';\nimport { QueryEditorProps } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nconst { FormField } = LegacyForms;\n\ntype Props = QueryEditorProps;\n\nexport class SLSVariableQueryEditor extends PureComponent {\n onQueryTextChange = (event: ChangeEvent) => {\n const { onChange, query } = this.props;\n onChange({ ...query, query: event.target.value });\n };\n\n render() {\n const { query } = this.props.query;\n\n return (\n <>\n
\n \n
\n \n );\n }\n}\n","import { DataSourcePlugin } from '@grafana/data';\nimport { SLSDataSource } from './datasource';\nimport { SLSConfigEditor } from './ConfigEditor';\nimport { SLSQueryEditor } from './QueryEditor';\nimport { SLSQuery, SLSDataSourceOptions } from './types';\nimport { SLSVariableQueryEditor } from './VariableQueryEditor';\n\nexport const plugin = new DataSourcePlugin(SLSDataSource)\n .setConfigEditor(SLSConfigEditor)\n .setQueryEditor(SLSQueryEditor)\n .setVariableQueryEditor(SLSVariableQueryEditor);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/datasource.ts b/src/datasource.ts index 9248754..875439d 100644 --- a/src/datasource.ts +++ b/src/datasource.ts @@ -10,7 +10,7 @@ import { MutableDataFrame, Vector, } from '@grafana/data'; -import { SLSDataSourceOptions, SlsLog, SLSQuery } from './types'; +import { SLSDataSourceOptions, SLSQuery } from './types'; import { DataSourceWithBackend, getBackendSrv, getTemplateSrv } from '@grafana/runtime'; import _ from 'lodash'; import { map } from 'rxjs/operators'; @@ -75,13 +75,17 @@ function transTags(result: Map, i: number): TraceKeyValuePair[] function transLogs(result: Map, i: number): TraceLog[] { let traceLogs: TraceLog[] = []; - const slsLogs = JSON.parse(result.get('logs')?.get(i)) as SlsLog[]; + const slsLogs = JSON.parse(result.get('logs')?.get(i)) as Object[]; for (const slsLog of slsLogs) { - const attributeArray = Array.from(Object.entries(slsLog.attribute), ([name, value]) => valueToTag(name, value)); - traceLogs.push({ - timestamp: slsLog.time / 1000000, - fields: attributeArray, - }); + const logMap = new Map(Object.entries(slsLog)); + const attributeArray = Array.from(Object.entries(slsLog), ([name, value]) => valueToTag(name, value)); + let time = logMap.get('time'); + if (time !== undefined) { + traceLogs.push({ + timestamp: Number(time) / 1000000, + fields: attributeArray, + }); + } } return traceLogs; } diff --git a/src/types.ts b/src/types.ts index 6955cd0..7d5f145 100644 --- a/src/types.ts +++ b/src/types.ts @@ -33,8 +33,8 @@ export interface SLSSecureJsonData { accessKeySecret?: string; } -export declare type SlsLog = { - time: number; - attribute: Map; - name: string; -}; +// export declare type SlsLog = { +// time: number; +// attribute: Map; +// name: string; +// };