diff --git a/package.json b/package.json index ee727ec9184..a783743df1c 100644 --- a/package.json +++ b/package.json @@ -315,6 +315,7 @@ "logfmt": "^1.3.2", "lru-cache": "7.5.1", "memoize-one": "6.0.0", + "minisearch": "5.0.0-beta1", "moment": "2.29.1", "moment-timezone": "0.5.34", "monaco-editor": "^0.31.1", diff --git a/public/app/features/search/page/SearchPage.tsx b/public/app/features/search/page/SearchPage.tsx index 596338e5778..94629110de9 100644 --- a/public/app/features/search/page/SearchPage.tsx +++ b/public/app/features/search/page/SearchPage.tsx @@ -8,11 +8,8 @@ import { css } from '@emotion/css'; import Page from 'app/core/components/Page/Page'; import { SearchPageDashboards } from './SearchPageDashboards'; -import { SearchPageDashboardList } from './SearchPageDashboardList'; import { loadResults } from './state/actions'; import { StoreState } from 'app/types'; -import { SearchPageStats } from './SearchPageStats'; -import { buildStatsTable } from './data'; const node: NavModelItem = { id: 'search', @@ -25,8 +22,7 @@ export default function SearchPage() { const dispatch = useDispatch(); const styles = useStyles2(getStyles); - const dashboards = useSelector((state: StoreState) => state.searchPage.data.dashboards); - const panels = useSelector((state: StoreState) => state.searchPage.data.panels); + const results = useSelector((state: StoreState) => state.searchPage.data.results); const [query, setQuery] = useState(''); @@ -47,25 +43,19 @@ export default function SearchPage() { setQuery(e.currentTarget.value)} autoFocus spellCheck={false} />

- {!dashboards &&
Loading....
} - {dashboards && ( + {!results && query &&
Loading....
} +
+ FIELDS: {results?.body.fields.length} +
+ RESULT: {results?.body.length} +
+ {results?.body && (
{({ width }) => { return (
- {dashboards && } -
- {dashboards.dataFrame && dashboards.dataFrame.length > 0 && ( - - )} - - {panels && ( - f.name === 'Type'))} - width={width} - /> - )} +
); }} diff --git a/public/app/features/search/page/SearchPageDashboardList.tsx b/public/app/features/search/page/SearchPageDashboardList.tsx deleted file mode 100644 index 12b073951bd..00000000000 --- a/public/app/features/search/page/SearchPageDashboardList.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react'; -import { DataFrameView, GrafanaTheme2 } from '@grafana/data'; -import { css } from '@emotion/css'; -import { useStyles2 } from '@grafana/ui'; - -type Props = { - dashboards: DataFrameView; -}; - -export const SearchPageDashboardList = ({ dashboards }: Props) => { - const styles = useStyles2(getStyles); - - return ( -
- {dashboards.map((dash) => ( -
- {dash.Name} -
- ))} -
- ); -}; - -const getStyles = (theme: GrafanaTheme2) => ({ - listContainer: css` - max-height: 300px; - overflow: scroll; - `, -}); diff --git a/public/app/features/search/page/SearchPageStats.tsx b/public/app/features/search/page/SearchPageStats.tsx deleted file mode 100644 index 68f64e15307..00000000000 --- a/public/app/features/search/page/SearchPageStats.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react'; -import { DataFrame, GrafanaTheme2, LoadingState } from '@grafana/data'; -import { PanelRenderer } from '@grafana/runtime'; -import { css } from '@emotion/css'; -import { useStyles2 } from '@grafana/ui'; - -type Props = { - panelTypes: DataFrame; - width: number; -}; - -export const SearchPageStats = ({ panelTypes, width }: Props) => { - const styles = useStyles2(getStyles); - - return ( - <> -

Stats

- - - - -
- -
- - ); -}; - -const getStyles = (theme: GrafanaTheme2) => ({ - table: css` - width: 100%; - `, -}); diff --git a/public/app/features/search/page/state/actions.ts b/public/app/features/search/page/state/actions.ts index 61da1d97c51..8cd1e35a85d 100644 --- a/public/app/features/search/page/state/actions.ts +++ b/public/app/features/search/page/state/actions.ts @@ -1,37 +1,27 @@ -import { DataFrameView } from '@grafana/data'; - +import { reduceField } from '@grafana/data'; import { ThunkResult } from 'app/types'; -import { getDashboardData, filterDataFrame } from '../data'; -import { DashboardResult } from '../types'; +import { getRawIndexData, getFrontendGrafanaSearcher } from '../../service/frontend'; import { fetchResults } from './reducers'; export const loadResults = (query: string): ThunkResult => { return async (dispatch) => { - const data = await getDashboardData(); - - if (!data.dashboards || !data.panels) { + const data = await getRawIndexData(); + if (!data.dashboard) { return; } - if (!data.dashboards.length || !query.length) { - return dispatch( - fetchResults({ - data: { - dashboards: new DataFrameView(data.dashboards), - panels: data.panels, - }, - }) - ); - } + const searcher = getFrontendGrafanaSearcher(data); + const results = await searcher.search(query); - const dashboards = filterDataFrame(query, data.dashboards, 'Name', 'Description', 'Tags'); - const panels = filterDataFrame(query, data.panels, 'Name', 'Description', 'Type'); + // HACK avoid redux error! + results.body.fields.forEach((f) => { + reduceField({ field: f, reducers: ['min', 'max'] }); + }); return dispatch( fetchResults({ data: { - dashboards: new DataFrameView(dashboards), - panels: panels, + results, }, }) ); diff --git a/public/app/features/search/page/state/reducers.ts b/public/app/features/search/page/state/reducers.ts index 965d94eae1f..2bc451d6529 100644 --- a/public/app/features/search/page/state/reducers.ts +++ b/public/app/features/search/page/state/reducers.ts @@ -1,19 +1,16 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit'; -import { DataFrame, DataFrameView } from '@grafana/data'; -import { DashboardResult } from '../types'; +import { QueryResponse } from '../../service/types'; export interface SearchPageState { data: { - dashboards: DataFrameView | null; - panels: DataFrame | null; + results?: QueryResponse; }; } export const initialState: SearchPageState = { data: { - dashboards: null, - panels: null, + results: undefined, }, }; diff --git a/public/app/features/search/service/frontend.test.ts b/public/app/features/search/service/frontend.test.ts new file mode 100644 index 00000000000..506afc08ba3 --- /dev/null +++ b/public/app/features/search/service/frontend.test.ts @@ -0,0 +1,72 @@ +import { dataFrameFromJSON, DataFrameJSON, toDataFrame } from '@grafana/data'; + +import { dump } from './testData'; +import { getFrontendGrafanaSearcher, RawIndexData } from './frontend'; + +describe('simple search', () => { + it('should support frontend search', async () => { + const raw: RawIndexData = { + dashboard: toDataFrame([ + { Name: 'A name (dash)', Description: 'A descr (dash)' }, + { Name: 'B name (dash)', Description: 'B descr (dash)' }, + ]), + panel: toDataFrame([ + { Name: 'A name (panels)', Description: 'A descr (panels)' }, + { Name: 'B name (panels)', Description: 'B descr (panels)' }, + ]), + }; + + const searcher = getFrontendGrafanaSearcher(raw); + let results = await searcher.search('name'); + expect(results.body.fields[1].values.toArray()).toMatchInlineSnapshot(` + Array [ + "A name (dash)", + "B name (dash)", + "A name (panels)", + "B name (panels)", + ] + `); + + results = await searcher.search('B'); + expect(results.body.fields[1].values.toArray()).toMatchInlineSnapshot(` + Array [ + "B name (dash)", + "B name (panels)", + ] + `); + }); + + it('should work with query results', async () => { + const data: RawIndexData = {}; + for (const frame of dump.results.A.frames) { + switch (frame.schema.name) { + case 'folder': + case 'folders': + data.folder = dataFrameFromJSON(frame as DataFrameJSON); + break; + + case 'dashboards': + case 'dashboard': + data.dashboard = dataFrameFromJSON(frame as DataFrameJSON); + break; + + case 'panels': + case 'panel': + data.panel = dataFrameFromJSON(frame as DataFrameJSON); + break; + } + } + + const searcher = getFrontendGrafanaSearcher(data); + + const results = await searcher.search('automation'); + expect(results.body.fields[1].values.toArray()).toMatchInlineSnapshot(` + Array [ + "Home automation", + "Panel name with automation", + "Tides", + "Gaps & null between every point for series B", + ] + `); + }); +}); diff --git a/public/app/features/search/service/frontend.ts b/public/app/features/search/service/frontend.ts new file mode 100644 index 00000000000..38e94fc6ab7 --- /dev/null +++ b/public/app/features/search/service/frontend.ts @@ -0,0 +1,249 @@ +import MiniSearch, { SearchResult } from 'minisearch'; +import { lastValueFrom } from 'rxjs'; +import { ArrayVector, DataFrame, FieldType, Vector } from '@grafana/data'; +import { getDataSourceSrv } from '@grafana/runtime'; + +import { GrafanaDatasource } from 'app/plugins/datasource/grafana/datasource'; +import { GrafanaQueryType } from 'app/plugins/datasource/grafana/types'; +import { GrafanaSearcher, QueryFilters, QueryResponse } from './types'; + +export interface RawIndexData { + dashboard?: DataFrame; + panel?: DataFrame; + folder?: DataFrame; +} + +export type SearchResultKind = keyof RawIndexData; + +interface InputDoc { + kind: SearchResultKind; + index: number; + + // Fields + id?: Vector; + url?: Vector; + uid?: Vector; + name?: Vector; + description?: Vector; + dashboardID?: Vector; + type?: Vector; + tags?: Vector; // JSON strings? +} + +interface CompositeKey { + kind: SearchResultKind; + index: number; +} + +type Lookup = Map; + +const generateResults = (rawResults: SearchResult[], lookup: Lookup): DataFrame => { + // frame fields + const url: string[] = []; + const kind: string[] = []; + const type: string[] = []; + const name: string[] = []; + const info: any[] = []; + const score: number[] = []; + + for (const res of rawResults) { + const key = res.id as CompositeKey; + const index = key.index; + const input = lookup.get(key.kind); + if (!input) { + continue; + } + + url.push(input.url?.get(index) ?? '?'); + kind.push(key.kind); + name.push(input.name?.get(index) ?? '?'); + type.push(input.type?.get(index) as any); + info.push(res.match); // ??? + score.push(res.score); + } + + return { + fields: [ + { name: 'Kind', config: {}, type: FieldType.string, values: new ArrayVector(kind) }, + { name: 'Name', config: {}, type: FieldType.string, values: new ArrayVector(name) }, + { + name: 'URL', + config: { + links: [ + { + title: 'view', + url: '?', + onClick: (evt) => { + const { field, rowIndex } = evt.origin; + if (field && rowIndex != null) { + const url = field.values.get(rowIndex) as string; + window.location.href = url; // HACK! + } + }, + }, + ], + }, + type: FieldType.string, + values: new ArrayVector(url), + }, + { name: 'type', config: {}, type: FieldType.other, values: new ArrayVector(type) }, + { name: 'info', config: {}, type: FieldType.other, values: new ArrayVector(info) }, + { name: 'score', config: {}, type: FieldType.number, values: new ArrayVector(score) }, + ], + length: url.length, + }; +}; + +export function getFrontendGrafanaSearcher(data: RawIndexData): GrafanaSearcher { + const searcher = new MiniSearch({ + idField: '__id', + fields: ['name', 'description', 'tags'], // fields to index for full-text search + searchOptions: { + boost: { + name: 3, + description: 1, + }, + // boost dashboard matches first + boostDocument: (documentId: any, term: string) => { + const kind = documentId.kind; + if (kind === 'dashboard') { + return 1.4; + } + if (kind === 'folder') { + return 1.2; + } + return 1; + }, + prefix: true, // (term) => term.length > 3, + fuzzy: (term) => (term.length > 4 ? 0.2 : false), + }, + extractField: (doc, name) => { + // return a composite key for the id + if (name === '__id') { + return { + kind: doc.kind, + index: doc.index, + }; + } + const values = (doc as any)[name] as Vector; + if (!values) { + return undefined; + } + return values.get(doc.index); + }, + }); + + const lookup: Lookup = new Map(); + for (const [key, frame] of Object.entries(data)) { + const kind = key as SearchResultKind; + const input = getInputDoc(kind, frame); + lookup.set(kind, input); + for (let i = 0; i < frame.length; i++) { + input.index = i; + searcher.add(input); + } + } + + // Construct the URL field for each panel + if (true) { + const dashboard = lookup.get('dashboard'); + const panel = lookup.get('panel'); + if (dashboard?.id && panel?.dashboardID && dashboard.url) { + const dashIDToIndex = new Map(); + for (let i = 0; i < dashboard.id?.length; i++) { + dashIDToIndex.set(dashboard.id.get(i), i); + } + + const urls: string[] = new Array(panel.dashboardID.length); + for (let i = 0; i < panel.dashboardID.length; i++) { + const dashboardID = panel.dashboardID.get(i); + const index = dashIDToIndex.get(dashboardID); + if (index != null) { + urls[i] = dashboard.url.get(index) + '?viewPanel=' + panel.id?.get(i); + } + } + panel.url = new ArrayVector(urls); + } + } + + return { + search: async (query: string, filter?: QueryFilters) => { + const found = searcher.search(query); + + const results = generateResults(found, lookup); + + const searchResult: QueryResponse = { + body: results, + }; + + return searchResult; + }, + }; +} + +export function getInputDoc(kind: SearchResultKind, frame: DataFrame): InputDoc { + const input: InputDoc = { + kind, + index: 0, + }; + for (const field of frame.fields) { + switch (field.name) { + case 'name': + case 'Name': + input.name = field.values; + break; + case 'Description': + case 'Description': + input.description = field.values; + break; + case 'url': + case 'URL': + input.url = field.values; + break; + case 'uid': + case 'UID': + input.uid = field.values; + break; + case 'id': + case 'ID': + input.id = field.values; + break; + case 'DashboardID': + case 'dashboardID': + input.dashboardID = field.values; + break; + case 'Type': + case 'type': + input.type = field.values; + break; + } + } + return input; +} + +export async function getRawIndexData(): Promise { + const ds = (await getDataSourceSrv().get('-- Grafana --')) as GrafanaDatasource; + const rsp = await lastValueFrom( + ds.query({ + targets: [ + { refId: 'A', queryType: GrafanaQueryType.Search }, // gets all data + ], + } as any) + ); + + const data: RawIndexData = {}; + for (const f of rsp.data) { + switch (f.name) { + case 'dashboards': + data.dashboard = f; + break; + case 'panels': + data.panel = f; + break; + case 'folders': + data.folder = f; + break; + } + } + return data; +} diff --git a/public/app/features/search/service/testData.ts b/public/app/features/search/service/testData.ts new file mode 100644 index 00000000000..518948a1410 --- /dev/null +++ b/public/app/features/search/service/testData.ts @@ -0,0 +1,7334 @@ +export const dump = { + results: { + A: { + frames: [ + { + schema: { + name: 'folders', + refId: 'A', + fields: [ + { name: 'ID', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'UID', type: 'string', typeInfo: { frame: 'string' } }, + { name: 'Name', type: 'string', typeInfo: { frame: 'string' } }, + ], + }, + data: { + values: [ + [1, 818], + ['8zJes6KGk', '7ytdTna7k'], + ['gdev dashboards', 'RYAN'], + ], + }, + }, + { + schema: { + name: 'dashboards', + refId: 'A', + fields: [ + { name: 'ID', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'UID', type: 'string', typeInfo: { frame: 'string' } }, + { + name: 'URL', + type: 'string', + typeInfo: { frame: 'string' }, + config: { links: [{ title: 'link', url: '${__value.text}' }] }, + }, + { name: 'FolderID', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'Name', type: 'string', typeInfo: { frame: 'string' } }, + { name: 'Description', type: 'string', typeInfo: { frame: 'string' } }, + { + name: 'Tags', + type: 'string', + typeInfo: { frame: 'string', nullable: true }, + config: { custom: { displayMode: 'json-view' } }, + }, + { name: 'SchemaVersion', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'Created', type: 'time', typeInfo: { frame: 'time.Time' } }, + { name: 'Updated', type: 'time', typeInfo: { frame: 'time.Time' } }, + ], + }, + data: { + values: [ + [ + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 110, 111, 112, 113, 115, 116, 117, 118, 119, 120, 121, 122, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 137, 138, 139, 140, 141, 197, 198, 199, 200, 201, 204, 205, 206, 208, 209, 210, 211, + 212, 213, 214, 216, 217, 219, 221, 222, 224, 225, 226, 227, 228, 229, 230, 232, 233, 235, 236, 237, 238, + 239, 240, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 360, 364, 365, 369, 374, 375, 382, 383, 389, 392, + 393, 394, 395, 396, 397, 400, 404, 405, 406, 407, 409, 410, 411, 412, 413, 416, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 452, 453, 454, + 456, 457, 458, 459, 462, 463, 466, 469, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 587, 588, 589, 590, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 609, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 625, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 649, 650, 651, 652, 653, 654, + 655, 656, 658, 659, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 758, 759, 760, 761, + 764, 765, 766, 769, 772, 773, 774, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, + 790, 795, 796, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 820, 821, 822, 823, 824, 825, + 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, + 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, + 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, + 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 914, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, + ], + [ + 'As1k86FGk', + '4_P52RcGz', + 'S5c-Eg5Mk', + 'ei4Hwg5Mk', + '0FoXlRcGk', + 'i3Bj9k5Gz', + 'oM3vAn5Gz', + 'fygOqbcMz', + 'znVxza5Gz', + 'r62wG-cMz', + 'GKOPpB5Mk', + 'Iwnj-B5Mz', + 'MiXq3fcGk', + 'gU69oy5Mk', + 'vKpGfycMk', + 'l-rqPW4Mk', + 'UUMF2MpGz', + 'BmT0wVpGz', + '-cWXKvpGz', + 'ycT88LtMk', + 'qyNsQPpGk', + 'jfeuaS2Mk', + 'SHUnFN2Mz', + '6ulhGK2Gk', + 'oc3CmphGz', + 'ySCRUthGk', + 'UyxeOy2Mk', + 'bXQXk82Gz', + 'iwZrA92Mz', + 'LpEELjhGz', + 'iD7_wChGz', + 'A1RkSmoMz', + '04N50IoGz', + 'cYOTnUHMk', + 'yP8-PhTMz', + 'GtNSSxTGz', + 'i4EDjETMz', + 'FjV498oGz', + '6lHGYrTMk', + 'EghWyrTMz', + 'WL2RS3TGk', + 'LM83IR0Gz', + 'OJOZxg0Mk', + '2pcSVkAMk', + '1OMXhZAMk', + 'TzeM-W0Gk', + 'T8PlaW0Mz', + 'b7C1rT0Gz', + 'ui-xm0AMk', + 'xuw5200Gk', + '30WluxAGk', + 'IaBj3R0Mk', + '0PaCxLAMk', + 'UUGwmPAGk', + 'tsWJOP0Gz', + 'EsgWcU0Gk', + 'iB21U_AMk', + 'aj50el0Mz', + 'CB7f0mJGz', + 'Cve6BM1Mz', + 'of3ezS1Gk', + 'CkK7pN1Gk', + 's5BgYDJGz', + 'xLiSc5JGk', + 'afcjopJGk', + '-zJp381Gk', + 'Bskcg6JGz', + 'nJHva61Gz', + 'n-9nh4xGz', + 'UYOz4IxGz', + 'TuCoAKbMz', + 'sF2CeuxMk', + '0J7CbjbGz', + 'ZaaxhnaGz', + 'eg1btqkgk', + 'P0SJ-5aGk', + 'f40fvt-Gz', + 'MytUKt-Mk', + 'OF0stTaGk', + 'sRphloaMk', + 'hAiitifGk', + 'Bphd77fGk', + 'FUPoEVfMz', + '8NP40vfGz', + '7ADmoKBMk', + 'd8SSQ0fMk', + 'KUodTJBGk', + 'qaG1XJfMz', + 'ZERGDaBMz', + 'nkKkRBfMk', + '4Y9THPfGz', + '1t92JEBMk', + 'Aox2DUBMk', + 'S44Xr8BMz', + 'loekJgLMz', + 'OsaBPRLMz', + 'OCjSDkYGk', + 'ySMqLZYMk', + '5SChbNYGk', + 'hFSIPNYMk', + 'cgEJibYMz', + 'dUvU5aLGz', + 'oaSknYYGk', + 'uwzYGPYMz', + 'jY8itlYMz', + '3_SWAIEMk', + 'BVMEBDEGk', + 'G1btqkgkK', + 'Qcib3hEMz', + 'YbqjdVsGz', + '09zYwVsGk', + 'OzMpFHyGz', + 'DtxYn2yMk', + 'roiYYeyMz', + 'iqaIUgUGk', + 'M13ystUGk', + 'iJViFYUGk', + 'XVpz6P8Mk', + 'jneZOyUGz', + 'knl36jUMz', + 'BJyB1RQGz', + 'emal8gQMz', + '5M0jKzwMk', + 'K2X7hzwGk', + 'K2X7hzwGkXX', + 'NWU_EFQGz', + 'Ja62a0QGk', + 'Sj6NCAQMk', + 'JVAve0QGk', + 'IIb27-wMk', + 'thX0TaQGz', + 'I0c_qawMk', + 'SyqeGfwGz', + 'UvepM8wMk', + '7mt6VUQGz', + 'hydI28wMz', + 'pMb0xZ_Mk', + 'ubGwyZ_Gk', + 'iu-Y1SlGz', + 'o2LkrIlMk', + '8O7BGOlMz', + 'MkHH4p_Gz', + 'CwerwQlGk', + 'ugcrG_lGz', + 'S2pEV_lMz', + 'nGfmBl_Gk', + 'qs9876lMz', + 'heS8ckXMz', + 'kXOlxLXGk', + 'fsfZnPXGk', + 'RW5GOPXMz', + 'aCK_RsuGz', + 'CudWVsXMk', + 'UCPGWUXGz', + 'JNO-GuuMk', + '07GEnXuMz', + 'V7z4UjXGz', + '6pXFRqXMz', + 'T3xS-RrMz', + '5KROWZ9Mk', + '6rficH9Mk', + 'BYVJRDrGk', + 'rI8AGD9Gz', + 'vr2VU59Mz', + 'CsVfQcrGz', + 'ezIcZtrMk', + '2pmPfTrMk', + 'LefOZbrGk', + 'SYgPEx9Gk', + 'ySj3hUrMk', + 'imI-H9rGk', + '3NfyxjrGk', + 'RKjiSmCMk', + '_sic-mCGk', + 'TXSTREZ', + '2xlG9hCMz', + 'lUetATjGk', + 'sZAJd1CMk', + 'tOlf01CGk', + 'p2Z_3-CMk', + 'VEY_ZBjMk', + 'TsPV5uCMz', + 'ScQLemqGk', + 'RDtEFW3Gz', + 'sJjpIG3Gk', + 'UkUec73Mz', + 'jBwo94qMz', + 'nsyMLdqGk', + 'VHqqyf3Gk', + 'HWK4WYqMz', + 'PQOrtLqMz', + 'RLtae_qMz', + 'tfhWTu3Mk', + 'slCULSeMz', + 'e4Qr2D6Mz', + 'PZ0q_v6Gz', + 'q4i0E5eGz', + 'gP_3hpeMk', + 'YIq01h6Gz', + 'Q1cu_26Gz', + 'yQk4FPeMz', + 'G1lpkreGz', + 'vTeDO96Mz', + 'UUvaUqeMz', + '8hs2egg7z', + 'Zf_1R2R7k', + 'arjAH0Rnz', + 'qYmR80Rnk', + 'fao-a_gnz', + 'JStPxCgnk', + 'n47VYCR7z', + 'aH1-T6R7z', + 'WwLbZ7z7k', + 'AaYQ0ok7z', + 'ufaabok7k', + 'TbbEZjzWz', + 'YeBxHjzWz', + '_UOHefk7z', + 'O-966Wm7z', + 'H5AJDGi7k', + 'pTgcaGm7z', + 'kYGg2Vmnk', + '3TAHX0mnz', + 'TiuQDJm7z', + 'ugPWu1m7k', + 'pljJH-mnk', + '55wi8ai7z', + 'gtbcCam7z', + 'QmE2fPm7z', + 'QNN14smnz', + 'faVaZUmnz', + 'a7BGGUi7k', + 'G__i-8inz', + 'bQ42ZQm7k', + 'jQHCpgZ7z', + '15ZQDkWnz', + 'xssUgnZnk', + '_b0EvnZnk', + 'fEDxB7Wnk', + 'CsC1X7W7z', + 'YgrIaHWnk', + 'qDu_LNZ7k', + 'TQToJdZ7k', + 'Q_ZeMFW7k', + 'MhdgnFW7z', + 'cUShgpW7k', + 'QAHRptW7z', + 'adsbPtWnk', + '5q6zrTZnk', + 'WHt9AsW7z', + '3AJzCsZ7k', + 'p8AjnlWnk', + 'VPoXB9W7z', + 'lTkWjrWnz', + 'CHIfDeWnz', + 'AIJMpeW7z', + 'yqmhfeWnz', + 'wwgveXMnk', + 'H3S8Z9Mnz', + 'd3sc-Z7nz', + 'kTsw-Z77z', + 'NTB3_W77z', + '4ZXnXWnnz', + 'KB52u777k', + 'NtSP5H77z', + 'XGMjz277z', + 'o0n7i-n7k', + 'dOB3v-7nk', + 'AENRxLnnk', + 'ZBYFQ6n7z', + 'FczuMOV7k', + 'ZFRZ0t4nz', + 'Ip9Cpo47z', + 'PQnO2T4nk', + 'LH5pQx4nz', + 'Q1OTeE4nz', + 'LTJ66PVnk', + 'OsungsV7k', + '30-8Iy47k', + '9y9x68Vnz', + 'Wd-l-WInz', + 'SnuxeWInk', + 'MpuMi4S7k', + '_-4j8NSnk', + 'hjnRDvInk', + 'RqpLBKI7k', + 'c8SRzfS7z', + '1ywgV3I7z', + 'N600ESNnz', + '1-VOLdNnz', + 'so6JQvInk', + 'CxLJVtN7z', + 'mDO2zoN7z', + '0UhGwTHnz', + 'TlGlI8H7z', + 'FZOvYwNnz', + 'xl5e3gD7z', + 'Jl9hzzDnz', + 'o7j9IMv7k', + 'XYzxMvD7k', + 'SxTFDFDnz', + '1PoXo2D7k', + 'vGtTYavnk', + '9reXGuDnk', + 'BV19mqD7z', + 'Z0EyxgO7z', + 'wpGifzdnz', + '9D3NfnO7z', + 'PROk7Ndnk', + 'PFLGIpd7z', + '_a8l0tOnz', + 'PoSh4hdnz', + 'nwXEXTdnk', + '4U6QM0O7k', + 'foXXG0dnk', + 'CETddbOnk', + 'QVhJFLO7k', + 'uKsMlLOnk', + 'ReG_ECd7z', + 'LYVHVRF7z', + 'PD8TSgKnz', + 'zveU_MKnk', + 'yyAt2nKnk', + 'vJrJ30K7z', + 'DKGKKJF7k', + '9N4B7xF7k', + 'bj8k4bK7z', + '9ye9JbFnz', + '-CTtXWXMk', + '3dMRP8Fnk', + 'wE5U3UF7k', + 'OW6BGQF7k', + 'addoT8F7z', + 'ZXN-EXF7k', + '1koh-W5nk', + '7tEcyZ5nz', + 'MVM264c7z', + 'UD4tLN5nk', + 'B6bzUNcnz', + 'O6tB_Oc7z', + 'JeN9wLcnz', + 'XSQ4GU5nk', + '_0TZl85nz', + 'PjuRvw57k', + 'oJT___cnz', + 'main', + 'e6Hw89cnz', + '_7B69rcnk', + 's18Unjc7k', + 'HEeWbC5nz', + 'bFMKD357k', + 'v1nIWzhnk', + 'f20UXK2nk', + '9ipiiTh7k', + 'QcG58A27k', + 'hd1DRB27z', + 'l5MJUjh7z', + 'BNzMMRo7z', + 'honyiZo7z', + 'jfxzwITnz', + 'zNigXIonz', + 'AJDMjSonk', + 'u4H2SHo7z', + 'EdHNh-o7k', + 'd1sjYfT7z', + 'LdhMK-A7z', + 'LdhMK-A7X', + 'Z2t2Mf07z', + 'cSOCsK17k', + '4MvG70J7z', + 'xBhv5_Jnz', + 'Uat1eSbnk', + 'IFO6yhbnz', + 'AJsmL-bnz', + 'yXWsLXb7k', + 'daNwD3xnk', + 'AkgNx3bnk', + 'ST27Lqxnz', + 'TImqsqbnk', + 'DsQzuZ-7k', + 'fuFWehBmk', + 'GlAqcPgmz', + 'nP8rcffGk', + '-Y-tnEDWk', + 'O1Mi-z8Gz', + '8mmCAF1Mz', + 'TkZXxlNG3', + '7MeksYbmk', + 'mIJjFy8Kz', + 'xtY_uCAiz', + 'TX2VU59MZ', + '86Js1xRmk', + 'tFU1mQyWz', + 'ZvPm55mWk', + 'O6GmNPvWk', + 'kVi2Gex7z', + 'eNsFjVBGz', + 'NF8Pq2Biz', + '2xuwrgV7z', + 'DGsCac3kz', + 'HYaGDGIMk', + 'HeUnbEuZk', + 'sRrEibfZk', + 'imQX6j-Gz', + 'RlqLq2fiz', + 'Ei74RD9mz', + 'ZqZnVvFZz', + 'szkuR1umk', + '6HMMh4rMz', + 'P7vAAhvZk', + 'Kp9Z0hTik', + 'U_bZIMRMk', + 'rZRUGik7k', + 'I0YIojp7z', + 'Juj4_7ink', + 'n1jR8vnnz', + 'M94gguRWz', + '000000003', + 'MP-Di9F7k', + 'sd27_CPGz', + 'Y-RvmuRWk', + 'ZzyTojpnz', + 'ICiqZ1rGk', + 'UTv--wqMk', + 'lVE-2YFMz', + 'mIJjFy8Gz', + '000000002', + 'spVR9LSMk', + '2WaUpZmWk', + 'XMjIZPmik', + 'yjRroGsWk', + 'j6T00KRZz', + '_5rDmaQiz', + 'JYola5qzz', + 'k3PEoCpnk', + '7lS-ojt7z', + 'wfTJJL5Wz', + 'inxsweKGz', + 'Ei86FP_Mx', + 'xMsQdBfWz', + '37Dq903mk', + 'EJ8_d9jZk', + 'pttable', + '06tPt4gZz', + 'O6f11TZWk', + '5mqG8qdZz', + '2jFpEvp7z', + 'aBXrJ0R7z', + '29Yjn62Gk', + 'OY8Ghjt7k', + 'vHQdlVziz', + 'hxQwTjpnk', + 'yBCC3aKGk', + 'vmie2cmWz', + '5SdHCasdf', + '8HjT32Bmz', + '0OmtTCtnk', + 'dtpl2Ctnk', + 'AejrN1AMz', + 'WFlOM-jM1', + 'iRY1K9VZk2', + '5SdHCadmz', + 'PMtIInink', + '8HjT32BmO', + '8mux8PqGz', + 'WVpf2jp7z', + '_gWgX2JGk', + 'k3XQFOBMk', + 'Hmf8FDkmz', + 'g_JlGa-7z', + 'mLYvQBa7z', + 'RXYZv8a7k', + 'rgTEhIBnz', + '1bbF3DBnz', + 'hbZpsTBnz', + '4sdOUTfnk', + 'ViQhUTfnk', + 'mnxVyffnz', + 'Afa86GY7z', + 'BUrWnvL7z', + '2dwZyvY7z', + 'NV05ZKY7k', + 'zvNRAcYnz', + 'wF2BNQLnk', + 'sUASeSPnk', + 'eGahNNP7z', + 'XfzYFHE7k', + 'gvShBHE7z', + '5rYGXHPnk', + 'kTLTHOPnk', + ], + [ + '/d/As1k86FGk/telegraf-live', + '/d/4_P52RcGz/trello', + '/d/S5c-Eg5Mk/iqair', + '/d/ei4Hwg5Mk/simple', + '/d/0FoXlRcGk/fast-recent', + '/d/i3Bj9k5Gz/color', + '/d/oM3vAn5Gz/live-panel', + '/d/fygOqbcMz/oakland-vs-sfo-aqi', + '/d/znVxza5Gz/reduce-test', + '/d/r62wG-cMz/aqi-simple', + '/d/GKOPpB5Mk/reduce', + '/d/Iwnj-B5Mz/test-stream', + '/d/MiXq3fcGk/two-streams', + '/d/gU69oy5Mk/sitewise', + '/d/vKpGfycMk/streaming-test', + '/d/l-rqPW4Mk/home-automation', + '/d/UUMF2MpGz/g7-lightning-demo', + '/d/BmT0wVpGz/new-dashboard-copy', + '/d/-cWXKvpGz/iot-sitewise', + '/d/ycT88LtMk/sheets', + '/d/qyNsQPpGk/oas', + '/d/jfeuaS2Mk/fast-testdata', + '/d/SHUnFN2Mz/aqi-copy', + '/d/6ulhGK2Gk/signal', + '/d/oc3CmphGz/ajax', + '/d/ySCRUthGk/simple-streaming', + '/d/UyxeOy2Mk/ssss', + '/d/bXQXk82Gz/with-form', + '/d/iwZrA92Mz/ajaxxx', + '/d/LpEELjhGz/uplot', + '/d/iD7_wChGz/wind', + '/d/A1RkSmoMz/uplot2', + '/d/04N50IoGz/sssssssss', + '/d/cYOTnUHMk/tenaris-real-time-casing-running-performance-monitoring', + '/d/yP8-PhTMz/save', + '/d/GtNSSxTGz/oas-stream', + '/d/i4EDjETMz/uplot22', + '/d/FjV498oGz/uuuuuuuuu', + '/d/6lHGYrTMk/bbbb', + '/d/EghWyrTMz/draw', + '/d/WL2RS3TGk/x-not-y', + '/d/LM83IR0Gz/bar', + '/d/OJOZxg0Mk/drawing', + '/d/2pcSVkAMk/oas-pumps', + '/d/1OMXhZAMk/google-sheets', + '/d/TzeM-W0Gk/min-max-bands', + '/d/T8PlaW0Mz/min-max', + '/d/b7C1rT0Gz/level', + '/d/ui-xm0AMk/math', + '/d/xuw5200Gk/explicit-sizes', + '/d/30WluxAGk/fixed-size', + '/d/IaBj3R0Mk/bahrs2', + '/d/0PaCxLAMk/explicit-axis', + '/d/UUGwmPAGk/oas-pumps-copy', + '/d/tsWJOP0Gz/discrete', + '/d/EsgWcU0Gk/with-bars', + '/d/iB21U_AMk/compare', + '/d/aj50el0Mz/uplot-sparklines', + '/d/CB7f0mJGz/dddd', + '/d/Cve6BM1Mz/bars-migration', + '/d/of3ezS1Gk/show', + '/d/CkK7pN1Gk/ssssssss', + '/d/s5BgYDJGz/sss', + '/d/xLiSc5JGk/log-scale', + '/d/afcjopJGk/predict-alameda', + '/d/-zJp381Gk/simple-math', + '/d/Bskcg6JGz/series', + '/d/nJHva61Gz/sssss', + '/d/n-9nh4xGz/oas-streams', + '/d/UYOz4IxGz/alarms', + '/d/TuCoAKbMz/rasberry-pi', + '/d/sF2CeuxMk/led-strip-panel', + '/d/0J7CbjbGz/draw2222', + '/d/ZaaxhnaGz/drag', + '/d/eg1btqkgk/sample-application-dashboard', + '/d/P0SJ-5aGk/oas-capture', + '/d/f40fvt-Gz/dash-migration', + '/d/MytUKt-Mk/dash-migration-dash', + '/d/OF0stTaGk/dashes', + '/d/sRphloaMk/a-vs-v', + '/d/hAiitifGk/sssssss', + '/d/Bphd77fGk/vvvvvvvvvvv', + '/d/FUPoEVfMz/barchart', + '/d/8NP40vfGz/bbbbbbbbb', + '/d/7ADmoKBMk/events', + '/d/d8SSQ0fMk/sorted', + '/d/KUodTJBGk/align', + '/d/qaG1XJfMz/hidden-table', + '/d/ZERGDaBMz/goroutines', + '/d/nkKkRBfMk/ssssssssss', + '/d/4Y9THPfGz/fill-below-crossing-zero', + '/d/1t92JEBMk/bars', + '/d/Aox2DUBMk/xy-broke', + '/d/S44Xr8BMz/join-test', + '/d/loekJgLMz/list-asset-models', + '/d/OsaBPRLMz/hqes-demo', + '/d/OCjSDkYGk/signalstream', + '/d/ySMqLZYMk/bar-query', + '/d/5SChbNYGk/bar-aggs', + '/d/hFSIPNYMk/new-dashboard-copy222', + '/d/cgEJibYMz/new-dashboard-copyxxx', + '/d/dUvU5aLGz/with-expression', + '/d/oaSknYYGk/sitewiseiot', + '/d/uwzYGPYMz/with-boolean', + '/d/jY8itlYMz/sample-devops-copy', + '/d/3_SWAIEMk/json-batch', + '/d/BVMEBDEGk/duplicates', + '/d/G1btqkgkK/sample-devops', + '/d/Qcib3hEMz/read-only', + '/d/YbqjdVsGz/sheetssss', + '/d/09zYwVsGk/simple-discrete', + '/d/OzMpFHyGz/timeseries-with-overrides', + '/d/DtxYn2yMk/using-system', + '/d/roiYYeyMz/streaming-rows', + '/d/iqaIUgUGk/notes', + '/d/M13ystUGk/tttt', + '/d/iJViFYUGk/streaming-frames', + '/d/XVpz6P8Mk/ssssssssssssssssss', + '/d/jneZOyUGz/timeline', + '/d/knl36jUMz/timeline-discrete', + '/d/BJyB1RQGz/plctag', + '/d/emal8gQMz/with-table', + '/d/5M0jKzwMk/2s-stream', + '/d/K2X7hzwGk/fast-streaming', + '/d/K2X7hzwGkXX/fast-streamingx', + '/d/NWU_EFQGz/debugger-panel', + '/d/Ja62a0QGk/ssssssssssss', + '/d/Sj6NCAQMk/plc-test-modbus', + '/d/JVAve0QGk/plctest', + '/d/IIb27-wMk/random-walk', + '/d/thX0TaQGz/connected-ui', + '/d/I0c_qawMk/singlestat', + '/d/SyqeGfwGz/explict-poitns', + '/d/UvepM8wMk/query-with-default', + '/d/7mt6VUQGz/simple-timestream-query', + '/d/hydI28wMz/tttttttt', + '/d/pMb0xZ_Mk/simplesimple', + '/d/ubGwyZ_Gk/2s-streaming', + '/d/iu-Y1SlGz/222222', + '/d/o2LkrIlMk/arrow-query', + '/d/8O7BGOlMz/stream', + '/d/MkHH4p_Gz/client', + '/d/CwerwQlGk/streaming-all', + '/d/ugcrG_lGz/sssssssssss', + '/d/S2pEV_lMz/simple-frame', + '/d/nGfmBl_Gk/plctagx', + '/d/qs9876lMz/stream-modbus', + '/d/heS8ckXMz/form', + '/d/kXOlxLXGk/event-bus', + '/d/fsfZnPXGk/sssssssssssssss', + '/d/RW5GOPXMz/boolean-values', + '/d/aCK_RsuGz/skip-overrides', + '/d/CudWVsXMk/new-dashboard-copyxx', + '/d/UCPGWUXGz/fast-20hz', + '/d/JNO-GuuMk/simple-form', + '/d/07GEnXuMz/plctag-form', + '/d/V7z4UjXGz/tsssss', + '/d/6pXFRqXMz/teleteletele', + '/d/T3xS-RrMz/simple-simple-simple', + '/d/5KROWZ9Mk/hhhhh', + '/d/6rficH9Mk/noaa-station-info', + '/d/BYVJRDrGk/canvas-svg', + '/d/rI8AGD9Gz/ssssssssssssss', + '/d/vr2VU59Mz/debug-cursor', + '/d/CsVfQcrGz/shared-crosshair', + '/d/ezIcZtrMk/ppppppppppppppppppppppp', + '/d/2pmPfTrMk/simple-stream', + '/d/LefOZbrGk/2sssss', + '/d/SYgPEx9Gk/pie-events', + '/d/ySj3hUrMk/alarm-threshold', + '/d/imI-H9rGk/ssssssssssssssssssssssssss', + '/d/3NfyxjrGk/archer-all', + '/d/RKjiSmCMk/histogram', + '/d/_sic-mCGk/old-graph-histogram', + '/d/TXSTREZ/simple-streaming-example', + '/d/2xlG9hCMz/with-values', + '/d/lUetATjGk/with-boolean2', + '/d/sZAJd1CMk/timeline222', + '/d/tOlf01CGk/ssssssssssssssssssssssssssssss', + '/d/p2Z_3-CMk/mqtt-test', + '/d/VEY_ZBjMk/iot-sitewise-test', + '/d/TsPV5uCMz/bbbbbbbbbbbbbb', + '/d/ScQLemqGk/every2s', + '/d/RDtEFW3Gz/ssssssssssssssssssss', + '/d/sJjpIG3Gk/discrete-threshold', + '/d/UkUec73Mz/spannulls-thresh-bug', + '/d/jBwo94qMz/bbbbbbbbbbbbbbbbbbb', + '/d/nsyMLdqGk/alerts', + '/d/VHqqyf3Gk/ppppp', + '/d/HWK4WYqMz/alarms-panel', + '/d/PQOrtLqMz/csv-values', + '/d/RLtae_qMz/grafanacon-demo-dash', + '/d/tfhWTu3Mk/simple-post', + '/d/slCULSeMz/discrete2', + '/d/e4Qr2D6Mz/stream-filter', + '/d/PZ0q_v6Gz/ax-ay-az', + '/d/q4i0E5eGz/time-field-order-issue', + '/d/gP_3hpeMk/stream-30s', + '/d/YIq01h6Gz/imu30s', + '/d/Q1cu_26Gz/crash', + '/d/yQk4FPeMz/histogram-old-new', + '/d/G1lpkreGz/sssssssssssss', + '/d/vTeDO96Mz/null-nearest', + '/d/UUvaUqeMz/stat-stat-stat', + '/d/8hs2egg7z/sssssssssssssssss', + '/d/Zf_1R2R7k/tttttt', + '/d/arjAH0Rnz/discrete-many', + '/d/qYmR80Rnk/geomap', + '/d/fao-a_gnz/flight', + '/d/JStPxCgnk/ssssssssssssssss', + '/d/n47VYCR7z/by_value', + '/d/aH1-T6R7z/geomap-example', + '/d/WwLbZ7z7k/geomap-example-copyxxx', + '/d/AaYQ0ok7z/candlestick', + '/d/ufaabok7k/sample-ohlc', + '/d/TbbEZjzWz/starter-app-streaming', + '/d/YeBxHjzWz/starter-app-stats', + '/d/_UOHefk7z/wwwwwww', + '/d/O-966Wm7z/maps', + '/d/H5AJDGi7k/states-info', + '/d/pTgcaGm7z/iot-sitewise-prop', + '/d/kYGg2Vmnk/motor-fb', + '/d/3TAHX0mnz/roci-link', + '/d/TiuQDJm7z/coords', + '/d/ugPWu1m7k/circles', + '/d/pljJH-mnk/markers', + '/d/55wi8ai7z/with-config', + '/d/gtbcCam7z/prepare', + '/d/QmE2fPm7z/sssssssssssssssssssssss', + '/d/QNN14smnz/wwwww', + '/d/faVaZUmnz/xxxxxx', + '/d/a7BGGUi7k/ssssssssssssssssssssssss', + '/d/G__i-8inz/testdatadb-join-test', + '/d/bQ42ZQm7k/mmmmmmmmm', + '/d/jQHCpgZ7z/field-order-chaning', + '/d/15ZQDkWnz/sssssssssssssssssss', + '/d/xssUgnZnk/annotation', + '/d/_b0EvnZnk/geomap-demo', + '/d/fEDxB7Wnk/pie-colors', + '/d/CsC1X7W7z/ssssssssssssssssssssssssssssssssss', + '/d/YgrIaHWnk/simple-geomap', + '/d/qDu_LNZ7k/gazzzzzz', + '/d/TQToJdZ7k/sssssssssssssssssssssssssssssssssss', + '/d/Q_ZeMFW7k/doc-sync', + '/d/MhdgnFW7z/doc-sync-view', + '/d/cUShgpW7k/header-issue', + '/d/QAHRptW7z/min-zoom', + '/d/adsbPtWnk/anno-list-test', + '/d/5q6zrTZnk/two-second-stream', + '/d/WHt9AsW7z/canvas', + '/d/3AJzCsZ7k/esri', + '/d/p8AjnlWnk/hover-info', + '/d/VPoXB9W7z/using-labels-field', + '/d/lTkWjrWnz/wide-geo-labels', + '/d/CHIfDeWnz/xy-with-configs', + '/d/AIJMpeW7z/ohlc-configs', + '/d/yqmhfeWnz/canvascanvas', + '/d/wwgveXMnk/live-now', + '/d/H3S8Z9Mnz/exponent', + '/d/d3sc-Z7nz/nagigation-with-map', + '/d/kTsw-Z77z/nagigation-with-graph', + '/d/NTB3_W77z/nagigation-with-graph-fill', + '/d/4ZXnXWnnz/nagigation-with-table', + '/d/KB52u777k/nagigation-with-table-3-graphs', + '/d/NtSP5H77z/icon', + '/d/XGMjz277z/scatter', + '/d/o0n7i-n7k/map-map', + '/d/dOB3v-7nk/live-update', + '/d/AENRxLnnk/scatter22222', + '/d/ZBYFQ6n7z/roci-test', + '/d/FczuMOV7k/wide-then-long-then-many', + '/d/ZFRZ0t4nz/sample-load-merge', + '/d/Ip9Cpo47z/geogeogeo', + '/d/PQnO2T4nk/geo', + '/d/LH5pQx4nz/trello2', + '/d/Q1OTeE4nz/scene', + '/d/LTJ66PVnk/dynamic', + '/d/OsungsV7k/dynamic-2', + '/d/30-8Iy47k/rociscene', + '/d/9y9x68Vnz/iconiconicon', + '/d/Wd-l-WInz/grafana-ds', + '/d/SnuxeWInk/debug', + '/d/MpuMi4S7k/listing', + '/d/_-4j8NSnk/geojson', + '/d/hjnRDvInk/notice-system', + '/d/RqpLBKI7k/scatter-test', + '/d/c8SRzfS7z/sssssssssssssssssssv', + '/d/1ywgV3I7z/tttttttttttttttttttttt', + '/d/N600ESNnz/gggggggg', + '/d/1-VOLdNnz/ssssss', + '/d/so6JQvInk/scattersssss', + '/d/CxLJVtN7z/scatter9000', + '/d/mDO2zoN7z/ddddd', + '/d/0UhGwTHnz/ccccc', + '/d/TlGlI8H7z/roci-simple', + '/d/FZOvYwNnz/rrrrrosi', + '/d/xl5e3gD7z/mmmmmmmm', + '/d/Jl9hzzDnz/markersmarkers', + '/d/o7j9IMv7k/sssssssssssssssssssss', + '/d/XYzxMvD7k/stream-signal-generator', + '/d/SxTFDFDnz/cacacacaca', + '/d/1PoXo2D7k/shared-logs', + '/d/vGtTYavnk/canvas-simple', + '/d/9reXGuDnk/icon-panel', + '/d/BV19mqD7z/iconicon', + '/d/Z0EyxgO7z/sssssssssssssssssssssssssssssssss', + '/d/wpGifzdnz/prop-history', + '/d/9D3NfnO7z/many', + '/d/PROk7Ndnk/test-roci-manager', + '/d/PFLGIpd7z/xxxx', + '/d/_a8l0tOnz/roci-alarms', + '/d/PoSh4hdnz/suggestion-save', + '/d/nwXEXTdnk/vvvvvvvvvvvvvideo', + '/d/4U6QM0O7k/scrape-status', + '/d/foXXG0dnk/scrape-statusx', + '/d/CETddbOnk/mappings', + '/d/QVhJFLO7k/simple-snap', + '/d/uKsMlLOnk/roci-simple-2', + '/d/ReG_ECd7z/geogeo', + '/d/LYVHVRF7z/sssgggg', + '/d/PD8TSgKnz/live', + '/d/zveU_MKnk/hello', + '/d/yyAt2nKnk/field-value-mapper', + '/d/vJrJ30K7z/iiiiiiii', + '/d/DKGKKJF7k/simple-expression', + '/d/9N4B7xF7k/ohlc', + '/d/bj8k4bK7z/simple-anchor', + '/d/9ye9JbFnz/mmmmixed', + '/d/-CTtXWXMk/cloudwatch', + '/d/3dMRP8Fnk/rrrrrrr', + '/d/wE5U3UF7k/roci-mixers', + '/d/OW6BGQF7k/roci-flare', + '/d/addoT8F7z/market-trend', + '/d/ZXN-EXF7k/new-dashboard', + '/d/1koh-W5nk/table-with-hidden-field', + '/d/7tEcyZ5nz/xxxxxxx', + '/d/MVM264c7z/ddddddddd', + '/d/UD4tLN5nk/ssssssssssssssssssssss', + '/d/B6bzUNcnz/new-dashboardxxx', + '/d/O6tB_Oc7z/geojsonjson', + '/d/JeN9wLcnz/bart', + '/d/XSQ4GU5nk/candlestickssss', + '/d/_0TZl85nz/sssssssssscccc', + '/d/PjuRvw57k/simple-json', + '/d/oJT___cnz/simple-but-broken', + '/d/main/alarm-dashboard', + '/d/e6Hw89cnz/lots-lots', + '/d/_7B69rcnk/ssssssssssssssssssssssssvv', + '/d/s18Unjc7k/extract-dash', + '/d/HEeWbC5nz/labels-10s', + '/d/bFMKD357k/appl', + '/d/v1nIWzhnk/ttttttttttttttt', + '/d/f20UXK2nk/live-loki', + '/d/9ipiiTh7k/crawler-status', + '/d/QcG58A27k/graphng-dashboards', + '/d/hd1DRB27z/near', + '/d/l5MJUjh7z/motor_fb-streaming-30s', + '/d/BNzMMRo7z/with-hide-from', + '/d/honyiZo7z/sssssssssstt', + '/d/jfxzwITnz/tytytyty', + '/d/zNigXIonz/heatmap', + '/d/AJDMjSonk/log-scale-barchart', + '/d/u4H2SHo7z/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbx', + '/d/EdHNh-o7k/bar-chart-improvements', + '/d/d1sjYfT7z/bargroup', + '/d/LdhMK-A7z/simple-expression-export', + '/d/LdhMK-A7X/simple-expression-export3', + '/d/Z2t2Mf07z/route', + '/d/cSOCsK17k/sssssssv', + '/d/4MvG70J7z/heatmap-v2', + '/d/xBhv5_Jnz/geomap-xform', + '/d/Uat1eSbnk/video', + '/d/IFO6yhbnz/sagljasglkasjglksa-kgl-jsaljsa-lgjsalk', + '/d/AJsmL-bnz/raw-editor', + '/d/yXWsLXb7k/updating-with-icons', + '/d/daNwD3xnk/mmmmmmmmmmmmmmmmmm', + '/d/AkgNx3bnk/nulls-nulls-nulls', + '/d/ST27Lqxnz/geomap-new', + '/d/TImqsqbnk/gogogogogoggo', + '/d/DsQzuZ-7k/search-all', + '/d/fuFWehBmk/datasource-tests-elasticsearch-comparison', + '/d/GlAqcPgmz/datasource-tests-mssql-unit-test', + '/d/nP8rcffGk/new-features-in-v7-4', + '/d/-Y-tnEDWk/templating-nested-template-variables', + '/d/O1Mi-z8Gz/panel-and-data-links-in-stat-gauge-and-bargauge', + '/d/8mmCAF1Mz/panel-tests-graph-ng-gaps-and-connected', + '/d/TkZXxlNG3/panel-tests-graph-ng', + '/d/7MeksYbmk/alerting-with-testdata', + '/d/mIJjFy8Kz/timeline-demo', + '/d/xtY_uCAiz/panel-tests-slow-queries-and-annotations', + '/d/TX2VU59MZ/panel-tests-shared-tooltips', + '/d/86Js1xRmk/datasource-tests-mssql', + '/d/tFU1mQyWz/datasource-tests-opentsdb', + '/d/ZvPm55mWk/new-features-in-v6-2', + '/d/O6GmNPvWk/templating-nested-variables-drilldown', + '/d/kVi2Gex7z/test-variable-output', + '/d/eNsFjVBGz/panel-tests-graph-ng-softmin-softmax', + '/d/NF8Pq2Biz/datasource-tests-elasticsearch-v6', + '/d/2xuwrgV7z/panel-tests-geomap', + '/d/DGsCac3kz/datasource-tests-mysql', + '/d/HYaGDGIMk/templating-global-variables-and-interpolation', + '/d/HeUnbEuZk/templating-variables-that-refresh-on-time-change', + '/d/sRrEibfZk/panel-tests-bar-gauge-2', + '/d/imQX6j-Gz/panel-panel-library', + '/d/RlqLq2fiz/datasource-tests-elasticsearch-v2', + '/d/Ei74RD9mz/testdata-repeating-panels', + '/d/ZqZnVvFZz/datasource-tests-shared-queries', + '/d/szkuR1umk/panel-tests-gauge-multi-series', + '/d/6HMMh4rMz/panel-tests-graphng-thresholds', + '/d/P7vAAhvZk/panel-tests-graph-y-axis-ticks', + '/d/Kp9Z0hTik/panel-tests-polystat', + '/d/U_bZIMRMk/panel-tests-react-table', + '/d/rZRUGik7k/datasource-tests-opentsdb-v2-3', + '/d/I0YIojp7z/repeating-a-row-with-a-repeating-vertical-panel', + '/d/Juj4_7ink/transforms-config-from-query', + '/d/n1jR8vnnz/panel-tests-all-panels', + '/d/M94gguRWz/datasource-tests-elasticsearch-v7-filebeat', + '/d/000000003/testdata-demo-dashboard', + '/d/MP-Di9F7k/candlestick', + '/d/sd27_CPGz/panel-tests-graphng-time-axis', + '/d/Y-RvmuRWk/datasource-tests-elasticsearch-v7', + '/d/ZzyTojpnz/repeating-a-row-with-a-non-repeating-panel', + '/d/ICiqZ1rGk/panel-tests-shared-tooltips-cursor-positioning', + '/d/UTv--wqMk/panel-tests-histogram', + '/d/lVE-2YFMz/panel-tests-pie-chart', + '/d/mIJjFy8Gz/timeline-modes', + '/d/000000002/datasource-tests-influxdb-templated', + '/d/spVR9LSMk/templating-textbox-and-data-links', + '/d/2WaUpZmWk/panel-tests-with-and-without-title', + '/d/XMjIZPmik/panel-tests-graph-time-regions', + '/d/yjRroGsWk/datasource-tests-influxdb-logs', + '/d/j6T00KRZz/grafana-dev-overview-and-home', + '/d/_5rDmaQiz/panel-tests-gauge', + '/d/JYola5qzz/datasource-tests-postgres', + '/d/k3PEoCpnk/repeating-a-row-with-a-non-repeating-panel-and-horizontal-repeating-panel', + '/d/7lS-ojt7z/repeating-a-row-with-a-non-repeating-panel-and-vertical-repeating-panel', + '/d/wfTJJL5Wz/datalinks-variables', + '/d/inxsweKGz/gradient-color-modes', + '/d/Ei86FP_Mx/panel-tests-timeseries-stacking', + '/d/xMsQdBfWz/bar-gauge-demo-unfilled', + '/d/37Dq903mk/panel-tests-graph-gradient-area-fills', + '/d/EJ8_d9jZk/panel-tests-stat', + '/d/pttable/panel-tests-table', + '/d/06tPt4gZz/datasource-tests-elasticsearch-v6-filebeat', + '/d/O6f11TZWk/panel-tests-bar-gauge', + '/d/5mqG8qdZz/panel-tests-auto-decimals', + '/d/2jFpEvp7z/panel-tests-geomap-multi-layers', + '/d/aBXrJ0R7z/panel-tests-graph-ng-by-value-color-schemes', + '/d/29Yjn62Gk/panel-tests-graph-ng-y-axis-ticks', + '/d/OY8Ghjt7k/repeating-a-panel-vertically', + '/d/vHQdlVziz/datasource-tests-postgres-unittest', + '/d/hxQwTjpnk/repeating-kitchen-sink', + '/d/yBCC3aKGk/templating-dashboard-links-and-variables', + '/d/vmie2cmWz/bar-gauge-demo', + '/d/5SdHCasdf/panel-tests-time-zone-support', + '/d/8HjT32Bmz/datasource-tests-elasticsearch-v5', + '/d/0OmtTCtnk/repeating-a-row-with-a-repeating-horizontal-panel', + '/d/dtpl2Ctnk/repeating-an-empty-row', + '/d/AejrN1AMz/templating-textbox-e2e-scenarios', + '/d/WFlOM-jM1/barchart-panel-tests-value-sizing', + '/d/iRY1K9VZk2/lazy-loading', + '/d/5SdHCadmz/panel-tests-graph', + '/d/PMtIInink/transforms-rows-to-fields', + '/d/8HjT32BmO/datasource-tests-elasticsearch-v56', + '/d/8mux8PqGz/new-features-in-v8-0', + '/d/WVpf2jp7z/repeating-a-panel-horizontally', + '/d/_gWgX2JGk/panel-tests-graph-ng-gradient-area-fills', + '/d/k3XQFOBMk/panel-tests-graphng-hue-gradients', + '/d/Hmf8FDkmz/datasource-tests-mysql-unittest', + '/d/g_JlGa-7z/panel-title-search', + '/d/mLYvQBa7z/threshold-limit', + '/d/RXYZv8a7k/tall', + '/d/rgTEhIBnz/heatmap-simple', + '/d/1bbF3DBnz/sssssssssttt', + '/d/hbZpsTBnz/zzzz', + '/d/4sdOUTfnk/graph-dot', + '/d/ViQhUTfnk/dot-graph', + '/d/mnxVyffnz/video-cursor-sync', + '/d/Afa86GY7z/zzzzzz', + '/d/BUrWnvL7z/multi-line-system', + '/d/2dwZyvY7z/graph-old-nulls', + '/d/NV05ZKY7k/ssssaveicon', + '/d/zvNRAcYnz/nnnnnnnnnn', + '/d/wF2BNQLnk/from-aaa', + '/d/sUASeSPnk/my-dashboard-title', + '/d/eGahNNP7z/new-dashboards', + '/d/XfzYFHE7k/iconx', + '/d/gvShBHE7z/gogo-xform-multiple', + '/d/5rYGXHPnk/sssssssssbbb', + '/d/kTLTHOPnk/geomap-with-dataview', + ], + [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 818, 818, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, + ], + [ + 'telegraf (live)', + 'trello', + 'iqair', + 'simple', + 'fast recent', + 'color', + 'live panel', + 'Oakland vs SFO (AQI)', + 'reduce test', + 'AQI simple', + 'reduce', + 'test stream', + 'two streams', + 'sitewise', + 'streaming test', + 'Home automation', + 'G7 lightning demo', + 'New dashboard Copy', + 'iot sitewise', + 'sheets', + 'oas', + 'fast-testdata', + 'AQI copy', + 'signal', + 'ajax', + 'simple streaming', + 'ssss', + 'with form', + 'ajaxxx', + 'uplot', + 'wind', + 'uplot2', + 'sssssssss', + 'Tenaris Real Time Casing Running - Performance Monitoring', + 'save', + 'oas stream', + 'uplot22', + 'uuuuuuuuu', + 'bbbb', + 'draw', + 'x not y', + 'bar', + 'drawing', + 'oas pumps', + 'Google Sheets', + 'min-max-bands', + 'min/max', + 'level', + 'math', + 'explicit sizes', + 'fixed size', + 'bahrs2', + 'explicit axis', + 'oas pumps Copy', + 'discrete', + 'with bars', + 'compare', + 'uplot sparklines', + 'dddd', + 'bars migration', + 'show', + 'ssssssss', + 'sss', + 'log scale', + 'predict -- alameda', + 'simple math', + 'series', + 'sssss', + 'oas streams', + 'alarms', + 'rasberry pi', + 'led strip panel', + 'draw2222', + 'drag', + 'Sample Application Dashboard', + 'oas capture', + 'dash migration', + 'dash migration DASH', + 'dashes', + 'a vs v', + 'sssssss', + 'vvvvvvvvvvv', + 'barchart', + 'bbbbbbbbb', + 'events?', + 'sorted', + 'align', + 'hidden table', + 'Goroutines', + 'ssssssssss', + 'fill below crossing zero', + 'BARS', + 'xy broke', + 'join test', + 'list asset models', + 'HQES demo', + 'signalstream', + 'bar query', + 'bar aggs', + 'New dashboard Copy222', + 'New dashboard CopyXXX', + 'with expression', + 'sitewiseiot', + 'with boolean', + 'Sample (DevOps) Copy', + 'json batch', + 'duplicates', + 'Sample (DevOps)', + 'read only', + 'sheetssss', + 'simple discrete', + 'timeseries with overrides', + 'using system...', + 'streaming rows', + 'notes', + 'tttt', + 'streaming frames', + 'ssssssssssssssssss', + 'timeline', + 'timeline/discrete', + 'plctag', + 'with table', + '2s stream', + 'fast streaming', + 'fast streamingX', + 'debugger panel', + 'ssssssssssss', + 'PLC test (modbus)', + 'plctest', + 'random walk', + 'connected ui', + 'singlestat', + 'explict poitns', + 'query with default', + 'simple timestream query', + 'tttttttt', + 'simplesimple', + '2s streaming', + '222222', + 'arrow query', + 'stream', + 'client', + 'streaming all', + 'sssssssssss', + 'simple frame', + 'plctagX', + 'stream modbus', + 'form', + 'event-bus', + 'sssssssssssssss', + 'boolean values', + 'skip-overrides', + 'New dashboard CopyXX', + 'fast 20hz', + 'simple form', + 'plctag form', + 'tsssss', + 'teleteletele', + 'simple simple simple', + 'hhhhh', + 'NOAA Station Info', + 'canvas svg', + 'ssssssssssssss', + 'debug cursor', + 'shared crosshair', + 'ppppppppppppppppppppppp', + 'simple stream', + '2sssss', + 'pie events', + 'alarm-threshold', + 'ssssssssssssssssssssssssss', + 'archer all', + 'histogram', + 'old graph histogram', + 'Simple Streaming Example', + 'with values', + 'with boolean2', + 'timeline222', + 'ssssssssssssssssssssssssssssss', + 'mqtt test', + 'iot-sitewise-test', + 'bbbbbbbbbbbbbb', + 'every2s', + 'ssssssssssssssssssss', + 'discrete-threshold', + 'spanNulls-thresh-bug', + 'bbbbbbbbbbbbbbbbbbb', + 'alerts', + 'ppppp', + 'alarms panel', + 'CSV values', + 'grafanacon-demo-dash', + 'simple post', + 'discrete2', + 'stream filter', + 'ax-ay-az', + 'time field order issue', + 'stream 30s', + 'imu30s', + 'crash', + 'histogram-old-new', + 'sssssssssssss', + 'null-nearest', + 'stat stat stat', + 'sssssssssssssssss', + 'tttttt', + 'discrete many', + 'geomap', + 'flight', + 'ssssssssssssssss', + 'by_value', + 'geomap example', + 'geomap example Copyxxx', + 'candlestick', + 'sample ohlc', + 'Starter App - Streaming', + 'Starter App - Stats', + 'wwwwwww', + 'maps', + 'states info', + 'iot-sitewise-prop', + 'motor FB', + 'roci link', + 'coords', + 'circles', + 'markers', + 'with config', + 'prepare', + 'sssssssssssssssssssssss', + 'wwwww', + 'xxxxxx', + 'ssssssssssssssssssssssss', + 'TestdataDB join test', + 'mmmmmmmmm', + 'field order chaning', + 'sssssssssssssssssss', + 'annotation', + 'geomap demo', + 'pie colors', + 'ssssssssssssssssssssssssssssssssss', + 'simple geomap', + 'gazzzzzz', + 'sssssssssssssssssssssssssssssssssss', + 'doc sync', + 'doc sync view', + 'header issue', + 'min zoom', + 'anno list test', + 'two second stream', + 'canvas', + 'esri', + 'Hover info', + 'using labels field', + 'wide-geo-labels', + 'xy with configs', + 'ohlc-configs', + 'canvascanvas', + 'live now', + 'exponent', + 'nagigation-with-map', + 'nagigation-with-graph', + 'nagigation-with-graph-fill', + 'nagigation-with-table', + 'nagigation-with-table (3 graphs)', + 'ICON', + 'scatter', + 'map map', + 'live update', + 'scatter22222', + 'roci-test', + 'wide-then-long-then-many', + 'sample load/merge', + 'geogeogeo', + 'geo', + 'trello2', + 'scene', + 'dynamic', + 'dynamic (2)', + 'rociscene', + 'iconiconicon', + 'grafana ds', + 'DEBUG', + 'listing', + 'geojson', + 'notice/system', + 'scatter-test', + 'sssssssssssssssssssv', + 'tttttttttttttttttttttt', + 'gggggggg', + 'ssssss', + 'scattersssss', + 'scatter9000', + 'ddddd', + 'ccccc', + 'roci simple', + 'rrrrrosi', + 'mmmmmmmm', + 'markersmarkers', + 'sssssssssssssssssssss', + 'stream signal generator', + 'cacacacaca', + 'shared logs', + 'canvas simple', + 'icon panel', + 'iconicon', + 'sssssssssssssssssssssssssssssssss', + 'prop history', + 'many', + 'test roci manager', + 'xxxx', + 'Roci Alarms', + 'suggestion-save', + 'vvvvvvvvvvvvvideo', + 'Scrape status', + 'Scrape statusX', + 'mappings', + 'simple snap', + 'roci-simple-2', + 'geogeo', + 'sssgggg', + 'live', + 'hello', + 'field-value-mapper', + 'iiiiiiii', + 'simple expression', + 'ohlc', + 'simple anchor', + 'mmmmixed', + 'CloudWatch', + 'rrrrrrr', + 'Roci Mixers', + 'Roci Flare', + 'Market Trend', + 'New dashboard', + 'table with hidden field', + 'xxxxxxx', + 'ddddddddd', + 'ssssssssssssssssssssss', + 'New dashboardXXX', + 'geojsonjson', + 'bart', + 'candlestickssss', + 'sssssssssscccc', + 'simple JSON', + 'simple (but broken)', + 'Alarm Dashboard', + 'lots lots', + 'ssssssssssssssssssssssssvv', + 'extract-dash', + 'labels-10s', + 'appl', + 'ttttttttttttttt', + 'live loki', + 'Crawler status', + 'GraphNG dashboards', + 'near', + 'motor_fb -- streaming 30s', + 'with hide from', + 'sssssssssstt', + 'tytytyty', + 'heatmap', + 'log scale barchart', + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbx', + 'Bar chart improvements', + 'bargroup', + 'simple expression export', + 'simple expression export3', + 'route', + 'sssssssv', + 'heatmap v2', + 'geomap xform', + 'video', + 'sagljasglkasjglksa kgl jsaljsa lgjsalk', + 'raw editor', + 'updating with icons', + 'mmmmmmmmmmmmmmmmmm', + 'nulls nulls nulls', + 'geomap-new', + 'gogogogogoggo', + 'search all', + 'Datasource tests - Elasticsearch comparison', + 'Datasource tests - MSSQL (unit test)', + 'New Features in v7.4', + 'Templating - Nested Template Variables', + 'Panel \u0026 data links in stat, gauge and bargauge', + 'Panel Tests - Graph NG - Gaps and Connected', + 'Panel Tests - Graph NG', + 'Alerting with TestData', + 'Timeline Demo', + 'Panel tests - Slow Queries \u0026 Annotations', + 'Panel Tests - shared tooltips', + 'Datasource tests - MSSQL', + 'Datasource tests - OpenTSDB', + 'New Features in v6.2', + 'Templating - Nested Variables Drilldown', + 'Test variable output', + 'Panel Tests - Graph NG - softMin/softMax', + 'Datasource tests - Elasticsearch v6', + 'Panel Tests - Geomap', + 'Datasource tests - MySQL', + 'Templating - Global variables and interpolation', + 'Templating - Variables That Refresh On Time Change', + 'Panel Tests - Bar Gauge 2', + 'Panel - Panel Library', + 'Datasource tests - Elasticsearch v2', + 'TestData Repeating Panels', + 'Datasource tests - Shared Queries', + 'Panel Tests - Gauge Multi Series', + 'Panel Tests - GraphNG Thresholds', + 'Panel Tests - Graph - Y axis ticks', + 'Panel Tests - Polystat', + 'Panel Tests - React Table', + 'Datasource tests - OpenTSDB v2.3', + 'Repeating a row with a repeating vertical panel', + 'Transforms - Config from query', + 'Panel tests - All panels', + 'Datasource tests - Elasticsearch v7 Filebeat', + 'TestData - Demo Dashboard', + 'Candlestick', + 'Panel Tests - GraphNG - Time Axis', + 'Datasource tests - Elasticsearch v7', + 'Repeating a row with a non-repeating panel', + 'Panel Tests - shared tooltips cursor positioning', + 'Panel Tests - Histogram', + 'Panel Tests - Pie chart', + 'Timeline Modes', + 'Datasource tests - InfluxDB Templated', + 'Templating - Textbox \u0026 data links', + 'Panel Tests - With \u0026 Without title', + 'Panel Tests - Graph Time Regions', + 'Datasource tests - InfluxDB Logs', + 'Grafana Dev Overview \u0026 Home', + 'Panel Tests - Gauge', + 'Datasource tests - Postgres', + 'Repeating a row with a non-repeating panel and horizontal repeating panel', + 'Repeating a row with a non-repeating panel and vertical repeating panel', + 'Datalinks - variables', + 'Gradient Color modes', + 'Panel Tests - TimeSeries - stacking', + 'Bar Gauge Demo Unfilled', + 'Panel Tests - Graph - Gradient Area Fills', + 'Panel Tests - Stat', + 'Panel Tests - Table', + 'Datasource tests - Elasticsearch v6 Filebeat', + 'Panel Tests - Bar Gauge', + 'Panel Tests - Auto Decimals', + 'Panel Tests - Geomap Multi Layers', + 'Panel Tests - Graph NG - By value color schemes', + 'Panel Tests - Graph NG - Y axis ticks', + 'Repeating a panel vertically', + 'Datasource tests - Postgres (unittest)', + 'Repeating Kitchen Sink', + 'Templating - Dashboard Links and Variables', + 'Bar Gauge Demo', + 'Panel Tests - Time zone support', + 'Datasource tests - Elasticsearch v5', + 'Repeating a row with a repeating horizontal panel', + 'Repeating an empty row', + 'Templating - Textbox e2e scenarios', + 'BarChart - Panel Tests - Value sizing', + 'Lazy Loading', + 'Panel Tests - Graph', + 'Transforms - Rows to fields', + 'Datasource tests - Elasticsearch v56', + 'New Features in v8.0', + 'Repeating a panel horizontally', + 'Panel Tests - Graph NG - Gradient Area Fills', + 'Panel Tests - GraphNG - Hue Gradients', + 'Datasource tests - MySQL (unittest)', + 'panel title search', + 'threshold-limit', + 'tall', + 'heatmap simple', + 'sssssssssttt', + 'zzzz', + 'graph-dot', + 'dot-graph', + 'video cursor sync', + 'zzzzzz', + 'multi-line-system', + 'graph-old-nulls', + 'ssssaveicon', + 'NNNNNNNNNN', + 'From AAA', + 'My dashboard title', + 'new dashboards', + 'iconx', + 'gogo xform multiple', + 'sssssssssbbb', + 'geomap with dataview', + ], + [ + 'telegraf (live)', + 'trello', + 'iqair', + 'simple', + 'fast recent', + 'color', + 'live panel', + 'Oakland vs SFO (AQI)', + 'reduce test', + 'AQI simple', + 'reduce', + 'test stream', + 'two streams', + 'sitewise', + 'streaming test', + 'Home automation', + 'G7 lightning demo', + 'New dashboard Copy', + 'iot sitewise', + 'sheets', + 'oas', + 'fast-testdata', + 'AQI copy', + 'signal', + 'ajax', + 'simple streaming', + 'ssss', + 'with form', + 'ajaxxx', + 'uplot', + 'wind', + 'uplot2', + 'sssssssss', + 'Tenaris Real Time Casing Running - Performance Monitoring', + 'save', + 'oas stream', + 'uplot22', + 'uuuuuuuuu', + 'bbbb', + 'draw', + 'x not y', + 'bar', + 'drawing', + 'oas pumps', + 'Google Sheets', + 'min-max-bands', + 'min/max', + 'level', + 'math', + 'explicit sizes', + 'fixed size', + 'bahrs2', + 'explicit axis', + 'oas pumps Copy', + 'discrete', + 'with bars', + 'compare', + 'uplot sparklines', + 'dddd', + 'bars migration', + 'show', + 'ssssssss', + 'sss', + 'log scale', + 'predict -- alameda', + 'simple math', + 'series', + 'sssss', + 'oas streams', + 'alarms', + 'rasberry pi', + 'led strip panel', + 'draw2222', + 'drag', + 'Sample Application Dashboard', + 'oas capture', + 'dash migration', + 'dash migration DASH', + 'dashes', + 'a vs v', + 'sssssss', + 'vvvvvvvvvvv', + 'barchart', + 'bbbbbbbbb', + 'events?', + 'sorted', + 'align', + 'hidden table', + 'Goroutines', + 'ssssssssss', + 'fill below crossing zero', + 'BARS', + 'xy broke', + 'join test', + 'list asset models', + 'HQES demo', + 'signalstream', + 'bar query', + 'bar aggs', + 'New dashboard Copy222', + 'New dashboard CopyXXX', + 'with expression', + 'sitewiseiot', + 'with boolean', + 'Sample (DevOps) Copy', + 'json batch', + 'duplicates', + 'Sample (DevOps)', + 'read only', + 'sheetssss', + 'simple discrete', + 'timeseries with overrides', + 'using system...', + 'streaming rows', + 'notes', + 'tttt', + 'streaming frames', + 'ssssssssssssssssss', + 'timeline', + 'timeline/discrete', + 'plctag', + 'with table', + '2s stream', + 'fast streaming', + 'fast streamingX', + 'debugger panel', + 'ssssssssssss', + 'PLC test (modbus)', + 'plctest', + 'random walk', + 'connected ui', + 'singlestat', + 'explict poitns', + 'query with default', + 'simple timestream query', + 'tttttttt', + 'simplesimple', + '2s streaming', + '222222', + 'arrow query', + 'stream', + 'client', + 'streaming all', + 'sssssssssss', + 'simple frame', + 'plctagX', + 'stream modbus', + 'form', + 'event-bus', + 'sssssssssssssss', + 'boolean values', + 'skip-overrides', + 'New dashboard CopyXX', + 'fast 20hz', + 'simple form', + 'plctag form', + 'tsssss', + 'teleteletele', + 'simple simple simple', + 'hhhhh', + 'NOAA Station Info', + 'canvas svg', + 'ssssssssssssss', + 'debug cursor', + 'shared crosshair', + 'ppppppppppppppppppppppp', + 'simple stream', + '2sssss', + 'pie events', + 'alarm-threshold', + 'ssssssssssssssssssssssssss', + 'archer all', + 'histogram', + 'old graph histogram', + 'Simple Streaming Example', + 'with values', + 'with boolean2', + 'timeline222', + 'ssssssssssssssssssssssssssssss', + 'mqtt test', + 'iot-sitewise-test', + 'bbbbbbbbbbbbbb', + 'every2s', + 'ssssssssssssssssssss', + 'discrete-threshold', + 'spanNulls-thresh-bug', + 'bbbbbbbbbbbbbbbbbbb', + 'alerts', + 'ppppp', + 'alarms panel', + 'CSV values', + 'grafanacon-demo-dash', + 'simple post', + 'discrete2', + 'stream filter', + 'ax-ay-az', + 'time field order issue', + 'stream 30s', + 'imu30s', + 'crash', + 'histogram-old-new', + 'sssssssssssss', + 'null-nearest', + 'stat stat stat', + 'sssssssssssssssss', + 'tttttt', + 'discrete many', + 'geomap', + 'flight', + 'ssssssssssssssss', + 'by_value', + 'geomap example', + 'geomap example Copyxxx', + 'candlestick', + 'sample ohlc', + 'Starter App - Streaming', + 'Starter App - Stats', + 'wwwwwww', + 'maps', + 'states info', + 'iot-sitewise-prop', + 'motor FB', + 'roci link', + 'coords', + 'circles', + 'markers', + 'with config', + 'prepare', + 'sssssssssssssssssssssss', + 'wwwww', + 'xxxxxx', + 'ssssssssssssssssssssssss', + 'TestdataDB join test', + 'mmmmmmmmm', + 'field order chaning', + 'sssssssssssssssssss', + 'annotation', + 'geomap demo', + 'pie colors', + 'ssssssssssssssssssssssssssssssssss', + 'simple geomap', + 'gazzzzzz', + 'sssssssssssssssssssssssssssssssssss', + 'doc sync', + 'doc sync view', + 'header issue', + 'min zoom', + 'anno list test', + 'two second stream', + 'canvas', + 'esri', + 'Hover info', + 'using labels field', + 'wide-geo-labels', + 'xy with configs', + 'ohlc-configs', + 'canvascanvas', + 'live now', + 'exponent', + 'nagigation-with-map', + 'nagigation-with-graph', + 'nagigation-with-graph-fill', + 'nagigation-with-table', + 'nagigation-with-table (3 graphs)', + 'ICON', + 'scatter', + 'map map', + 'live update', + 'scatter22222', + 'roci-test', + 'wide-then-long-then-many', + 'sample load/merge', + 'geogeogeo', + 'geo', + 'trello2', + 'scene', + 'dynamic', + 'dynamic (2)', + 'rociscene', + 'iconiconicon', + 'grafana ds', + 'DEBUG', + 'listing', + 'geojson', + 'notice/system', + 'scatter-test', + 'sssssssssssssssssssv', + 'tttttttttttttttttttttt', + 'gggggggg', + 'ssssss', + 'scattersssss', + 'scatter9000', + 'ddddd', + 'ccccc', + 'roci simple', + 'rrrrrosi', + 'mmmmmmmm', + 'markersmarkers', + 'sssssssssssssssssssss', + 'stream signal generator', + 'cacacacaca', + 'shared logs', + 'canvas simple', + 'icon panel', + 'iconicon', + 'sssssssssssssssssssssssssssssssss', + 'prop history', + 'many', + 'test roci manager', + 'xxxx', + 'Roci Alarms', + 'suggestion-save', + 'vvvvvvvvvvvvvideo', + 'Scrape status', + 'Scrape statusX', + 'mappings', + 'simple snap', + 'roci-simple-2', + 'geogeo', + 'sssgggg', + 'live', + 'hello', + 'field-value-mapper', + 'iiiiiiii', + 'simple expression', + 'ohlc', + 'simple anchor', + 'mmmmixed', + 'CloudWatch', + 'rrrrrrr', + 'Roci Mixers', + 'Roci Flare', + 'Market Trend', + 'New dashboard', + 'table with hidden field', + 'xxxxxxx', + 'ddddddddd', + 'ssssssssssssssssssssss', + 'New dashboardXXX', + 'geojsonjson', + 'bart', + 'candlestickssss', + 'sssssssssscccc', + 'simple JSON', + 'simple (but broken)', + 'Alarm Dashboard', + 'lots lots', + 'ssssssssssssssssssssssssvv', + 'extract-dash', + 'labels-10s', + 'appl', + 'ttttttttttttttt', + 'live loki', + 'Crawler status', + 'GraphNG dashboards', + 'near', + 'motor_fb -- streaming 30s', + 'with hide from', + 'sssssssssstt', + 'tytytyty', + 'heatmap', + 'log scale barchart', + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbx', + 'Bar chart improvements', + 'bargroup', + 'simple expression export', + 'simple expression export3', + 'route', + 'sssssssv', + 'heatmap v2', + 'geomap xform', + 'video', + 'sagljasglkasjglksa kgl jsaljsa lgjsalk', + 'raw editor', + 'updating with icons', + 'mmmmmmmmmmmmmmmmmm', + 'nulls nulls nulls', + 'geomap-new', + 'gogogogogoggo', + 'search all', + 'Datasource tests - Elasticsearch comparison', + 'Datasource tests - MSSQL (unit test)', + 'New Features in v7.4', + 'Templating - Nested Template Variables', + 'Panel \u0026 data links in stat, gauge and bargauge', + 'Panel Tests - Graph NG - Gaps and Connected', + 'Panel Tests - Graph NG', + 'Alerting with TestData', + 'Timeline Demo', + 'Panel tests - Slow Queries \u0026 Annotations', + 'Panel Tests - shared tooltips', + 'Datasource tests - MSSQL', + 'Datasource tests - OpenTSDB', + 'New Features in v6.2', + 'Templating - Nested Variables Drilldown', + 'Test variable output', + 'Panel Tests - Graph NG - softMin/softMax', + 'Datasource tests - Elasticsearch v6', + 'Panel Tests - Geomap', + 'Datasource tests - MySQL', + 'Templating - Global variables and interpolation', + 'Templating - Variables That Refresh On Time Change', + 'Panel Tests - Bar Gauge 2', + 'Panel - Panel Library', + 'Datasource tests - Elasticsearch v2', + 'TestData Repeating Panels', + 'Datasource tests - Shared Queries', + 'Panel Tests - Gauge Multi Series', + 'Panel Tests - GraphNG Thresholds', + 'Panel Tests - Graph - Y axis ticks', + 'Panel Tests - Polystat', + 'Panel Tests - React Table', + 'Datasource tests - OpenTSDB v2.3', + 'Repeating a row with a repeating vertical panel', + 'Transforms - Config from query', + 'Panel tests - All panels', + 'Datasource tests - Elasticsearch v7 Filebeat', + 'TestData - Demo Dashboard', + 'Candlestick', + 'Panel Tests - GraphNG - Time Axis', + 'Datasource tests - Elasticsearch v7', + 'Repeating a row with a non-repeating panel', + 'Panel Tests - shared tooltips cursor positioning', + 'Panel Tests - Histogram', + 'Panel Tests - Pie chart', + 'Timeline Modes', + 'Datasource tests - InfluxDB Templated', + 'Templating - Textbox \u0026 data links', + 'Panel Tests - With \u0026 Without title', + 'Panel Tests - Graph Time Regions', + 'Datasource tests - InfluxDB Logs', + 'Grafana Dev Overview \u0026 Home', + 'Panel Tests - Gauge', + 'Datasource tests - Postgres', + 'Repeating a row with a non-repeating panel and horizontal repeating panel', + 'Repeating a row with a non-repeating panel and vertical repeating panel', + 'Datalinks - variables', + 'Gradient Color modes', + 'Panel Tests - TimeSeries - stacking', + 'Bar Gauge Demo Unfilled', + 'Panel Tests - Graph - Gradient Area Fills', + 'Panel Tests - Stat', + 'Panel Tests - Table', + 'Datasource tests - Elasticsearch v6 Filebeat', + 'Panel Tests - Bar Gauge', + 'Panel Tests - Auto Decimals', + 'Panel Tests - Geomap Multi Layers', + 'Panel Tests - Graph NG - By value color schemes', + 'Panel Tests - Graph NG - Y axis ticks', + 'Repeating a panel vertically', + 'Datasource tests - Postgres (unittest)', + 'Repeating Kitchen Sink', + 'Templating - Dashboard Links and Variables', + 'Bar Gauge Demo', + 'Panel Tests - Time zone support', + 'Datasource tests - Elasticsearch v5', + 'Repeating a row with a repeating horizontal panel', + 'Repeating an empty row', + 'Templating - Textbox e2e scenarios', + 'BarChart - Panel Tests - Value sizing', + 'Lazy Loading', + 'Panel Tests - Graph', + 'Transforms - Rows to fields', + 'Datasource tests - Elasticsearch v56', + 'New Features in v8.0', + 'Repeating a panel horizontally', + 'Panel Tests - Graph NG - Gradient Area Fills', + 'Panel Tests - GraphNG - Hue Gradients', + 'Datasource tests - MySQL (unittest)', + 'panel title search', + 'threshold-limit', + 'tall', + 'heatmap simple', + 'sssssssssttt', + 'zzzz', + 'graph-dot', + 'dot-graph', + 'video cursor sync', + 'zzzzzz', + 'multi-line-system', + 'graph-old-nulls', + 'ssssaveicon', + 'NNNNNNNNNN', + 'From AAA', + 'My dashboard title', + 'new dashboards', + 'iconx', + 'gogo xform multiple', + 'sssssssssbbb', + 'geomap with dataview', + ], + [ + null, + '["events"]', + null, + '["events"]', + null, + null, + null, + '["aqi"]', + null, + '["aqi"]', + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + '["internal"]', + null, + null, + null, + null, + null, + null, + null, + null, + null, + '["Tenaris"]', + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + '["internal"]', + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + '["elasticsearch","gdev","datasource-test"]', + '["gdev","mssql","datasource-test"]', + '["gdev","graph-ng","demo"]', + '["gdev","templating"]', + '["gdev"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","alerting"]', + '["gdev","panel-tests","graph-ng","demo"]', + null, + '["gdev","panel-tests","graph-ng"]', + '["gdev","mssql","datasource-test"]', + '["datasource-test","gdev","opentsdb"]', + '["gdev","demo"]', + '["gdev","templating"]', + null, + '["gdev","panel-tests","graph-ng"]', + '["elasticsearch","gdev","datasource-test"]', + '["gdev","panel-tests"]', + '["gdev","mysql","datasource-tags"]', + '["gdev","templating"]', + '["gdev","templating"]', + '["gdev","panel-tests"]', + null, + '["elasticsearch","gdev","datasource-test"]', + '["gdev","templating"]', + '["gdev","datasource-test"]', + '["panel-tests","gdev","gauge"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests"]', + '["panel-test","gdev","polystat"]', + '["gdev","panel-tests"]', + null, + null, + '["gdev","transform"]', + '["gdev","panel-tests","all-panels"]', + '["elasticsearch","gdev","datasource-test"]', + '["gdev","demo"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests","graph-ng"]', + '["elasticsearch","gdev","datasource-test"]', + null, + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","datasource-test","influxdb"]', + '["gdev","templating"]', + '["gdev","panel-tests"]', + '["gdev","panel-tests","graph"]', + '["gdev","influxdb","datasource-test"]', + null, + '["gdev","panel-tests"]', + '["gdev","postgres","datasource-test"]', + null, + null, + '["gdev","templating"]', + '["gdev","demo"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","demo"]', + '["gdev","panel-tests","graph"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests"]', + '["gdev","elasticsearch","datasource-test"]', + '["gdev","panel-tests"]', + '["gdev","panel-tests"]', + '["gdev","geomap","panel-tests"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests","graph-ng"]', + null, + '["gdev","postgres","datasource-test"]', + null, + '["gdev","templating"]', + '["gdev","demo"]', + '["gdev","panel-tests","graph","table"]', + '["elasticsearch","gdev","datasource-test"]', + null, + null, + null, + '["gdev","panel-tests","barchart","graph-ng"]', + '["gdev","demo"]', + '["gdev","panel-tests","graph"]', + '["gdev","transform"]', + '["elasticsearch","gdev","datasource-test"]', + '["gdev","graph-ng","demo"]', + null, + '["gdev","panel-tests","graph-ng"]', + '["gdev","panel-tests","graph-ng"]', + '["gdev","mysql","datasource-test"]', + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + ], + [ + 26, 30, 26, 30, 26, 26, 26, 26, 26, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 26, 26, 30, 26, 26, + 26, 26, 26, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 29, 26, 26, 26, 26, 27, 26, 26, 26, 26, 26, 27, 27, + 27, 27, 30, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 30, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 30, 27, 30, 27, 27, + 27, 27, 27, 27, 30, 27, 27, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 29, 28, 28, 28, 28, 29, 29, 29, 30, 30, 29, 18, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 34, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 30, 30, 30, 30, 30, 35, + 30, 30, 30, 30, 30, 30, 30, 18, 18, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 30, 30, 30, 30, 31, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 31, 30, 30, 31, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 33, 31, + 31, 0, 31, 31, 31, 32, 31, 31, 31, 32, 31, 33, 33, 33, 33, 33, 31, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 35, 34, 34, 34, + 34, 30, 30, 34, 34, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 33, 16, 27, 25, 27, 33, 27, 21, 33, 16, + 28, 21, 22, 18, 19, 35, 27, 25, 33, 21, 26, 22, 21, 27, 25, 18, 19, 18, 29, 19, 16, 27, 33, 34, 33, 33, + 25, 18, 33, 27, 25, 34, 28, 33, 27, 33, 18, 26, 18, 18, 22, 33, 27, 21, 34, 34, 20, 26, 27, 21, 18, 26, + 16, 25, 18, 19, 33, 33, 26, 34, 16, 34, 26, 18, 25, 25, 34, 34, 27, 33, 18, 16, 33, 25, 33, 34, 27, 27, + 16, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, + ], + [ + 1601921917000, 1601945352000, 1601953959000, 1601956738000, 1601958418000, 1601994141000, 1602115130000, + 1602566020000, 1602569434000, 1602572818000, 1602615706000, 1602622223000, 1602633812000, 1602718685000, + 1602723123000, 1603152181000, 1603153260000, 1603232077000, 1603318409000, 1603734608000, 1603769171000, + 1604333460000, 1604357897000, 1604451518000, 1604517025000, 1604539142000, 1604861011000, 1604885005000, + 1605034961000, 1605073581000, 1605077889000, 1605225963000, 1605403540000, 1605644681000, 1605644959000, + 1605763038000, 1605920404000, 1605986351000, 1606113165000, 1606115234000, 1606165468000, 1606233570000, + 1606244206000, 1606265310000, 1606341455000, 1606345971000, 1606346684000, 1606758486000, 1606764800000, + 1606777193000, 1606858369000, 1606941873000, 1606949710000, 1606966341000, 1606974466000, 1607043210000, + 1607123375000, 1607130681000, 1607383511000, 1607455201000, 1607535941000, 1607581206000, 1607622995000, + 1607714432000, 1607751863000, 1608136171000, 1608339546000, 1608359378000, 1608588906000, 1608613922000, + 1608759104000, 1609312146000, 1609365615000, 1609629510000, 1609810352000, 1609869589000, 1609892764000, + 1609894990000, 1609964166000, 1609977499000, 1610600998000, 1610693547000, 1610745100000, 1610839176000, + 1610905092000, 1611083512000, 1611106687000, 1611119488000, 1611167293000, 1611191322000, 1611267296000, + 1611276701000, 1611335411000, 1611355747000, 1611611822000, 1611617676000, 1611637183000, 1611717602000, + 1611881730000, 1611885672000, 1612200588000, 1612244845000, 1612303858000, 1612337013000, 1612480069000, + 1612919438000, 1612991360000, 1613147081000, 1613169485000, 1613954209000, 1613969646000, 1614021815000, + 1614217127000, 1614804313000, 1614840572000, 1615276267000, 1615531406000, 1615585906000, 1615597525000, + 1615821751000, 1615907404000, 1615914936000, 1615934954000, 1615937325000, 1615938119000, 1616281943000, + 1616446184000, 1616456473000, 1616458587000, 1616532153000, 1616542714000, 1616558755000, 1616565229000, + 1616698857000, 1616701526000, 1616709125000, 1617082721000, 1617088245000, 1617216056000, 1617226936000, + 1617303040000, 1617405410000, 1617828666000, 1617840180000, 1617842082000, 1617856113000, 1618008887000, + 1618083314000, 1618760763000, 1618779942000, 1618785209000, 1618808998000, 1618814535000, 1618844989000, + 1618947179000, 1618948320000, 1619034824000, 1619043404000, 1619130296000, 1619214261000, 1619391229000, + 1619412678000, 1619416857000, 1619538155000, 1619539654000, 1619549878000, 1619635135000, 1619717599000, + 1619737894000, 1619931123000, 1620058667000, 1620102851000, 1620258410000, 1620271294000, 1620451298000, + 1620683146000, 1620704418000, 1620765351000, 1620771751000, 1620853713000, 1620858974000, 1621102638000, + 1621357937000, 1621370540000, 1621399622000, 1621439003000, 1621488812000, 1621615327000, 1621953828000, + 1621965604000, 1621976811000, 1622163165000, 1622179419000, 1622589068000, 1622648963000, 1622661602000, + 1622757598000, 1622783248000, 1622819493000, 1622829272000, 1623081280000, 1623272375000, 1623281687000, + 1623363781000, 1623438080000, 1623875438000, 1623950906000, 1623967131000, 1624298068000, 1624397779000, + 1624400392000, 1624461648000, 1624650363000, 1624999768000, 1625001667000, 1625097351000, 1625097351000, + 1625182701000, 1625686789000, 1625696804000, 1625707109000, 1625768586000, 1626118036000, 1626133284000, + 1626151433000, 1626199085000, 1626215367000, 1626220930000, 1626312225000, 1626331184000, 1626361656000, + 1626362227000, 1626377897000, 1626395047000, 1626640908000, 1626670131000, 1626794900000, 1626804264000, + 1626815660000, 1626822988000, 1626914933000, 1626917652000, 1626980195000, 1627000630000, 1627000669000, + 1627062991000, 1627076165000, 1627086207000, 1627159059000, 1627415777000, 1627428528000, 1627504942000, + 1627587713000, 1627596349000, 1627676604000, 1627680284000, 1627687938000, 1628638830000, 1628643523000, + 1628894804000, 1628895230000, 1628902731000, 1628902967000, 1628970356000, 1629055547000, 1629245566000, + 1629413601000, 1629421776000, 1629497327000, 1629840585000, 1630188167000, 1630300626000, 1630365470000, + 1630365872000, 1630478175000, 1630618748000, 1630619279000, 1630619486000, 1630627441000, 1630685974000, + 1631042742000, 1631055071000, 1631124867000, 1631215842000, 1631232717000, 1631312057000, 1631593429000, + 1631934235000, 1632253517000, 1632352925000, 1632353095000, 1632438848000, 1632499860000, 1632524703000, + 1632808529000, 1632856212000, 1633101254000, 1633103859000, 1633211273000, 1633375543000, 1633447680000, + 1633555159000, 1633728827000, 1633979849000, 1634078433000, 1634162161000, 1634197106000, 1634331546000, + 1634416231000, 1634586210000, 1634596372000, 1634619030000, 1634674887000, 1634684427000, 1634684488000, + 1634757319000, 1634859259000, 1634874571000, 1635139514000, 1635222812000, 1635224108000, 1635378551000, + 1635399147000, 1635785166000, 1635798576000, 1635826136000, 1635826581000, 1635839007000, 1635880696000, + 1636044631000, 1636053815000, 1636059994000, 1636088560000, 1636145921000, 1636411054000, 1636415190000, + 1636524289000, 1636580881000, 1636583647000, 1636653470000, 1637086549000, 1637099716000, 1637122677000, + 1637138320000, 1637190539000, 1637254674000, 1637255512000, 1637259914000, 1637269126000, 1637282077000, + 1637306428000, 1638474412000, 1638835690000, 1638942969000, 1638999911000, 1639108878000, 1639436283000, + 1639515545000, 1639614738000, 1639772366000, 1639774414000, 1639776649000, 1639787461000, 1640193189000, + 1640207238000, 1641234175000, 1641242013000, 1641260716000, 1642052879000, 1642200957000, 1642544010000, + 1643000402000, 1643227350000, 1643392088000, 1643661192000, 1643749342000, 1643758214000, 1643761276000, + 1643764180000, 1643935220000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644448785000, 1644514783000, 1644621050000, 1645130225000, 1645213754000, 1645407791000, 1645408749000, + 1645408895000, 1645575349000, 1646121200000, 1646261030000, 1646286695000, 1646326324000, 1646373109000, + 1646801589000, 1647295045000, 1647304714000, 1647308071000, 1647317285000, 1647324312000, 1647371858000, + ], + [ + 1604353761000, 1623084601000, 1601988989000, 1624471157000, 1601958418000, 1602113048000, 1602563889000, + 1603169519000, 1602570795000, 1612916383000, 1602615706000, 1602622223000, 1602633812000, 1602778201000, + 1602781029000, 1603155691000, 1603210580000, 1603236920000, 1605897380000, 1603735709000, 1606971864000, + 1604342692000, 1604359338000, 1621489970000, 1604519138000, 1604539142000, 1604861011000, 1604907554000, + 1605034961000, 1607666584000, 1605080075000, 1605225963000, 1605403540000, 1605644681000, 1605644959000, + 1605821697000, 1605920404000, 1605986351000, 1606113165000, 1620692465000, 1606165510000, 1606234360000, + 1606244223000, 1606268798000, 1613954325000, 1606345971000, 1606373564000, 1606763022000, 1606771424000, + 1606778531000, 1606858369000, 1606941873000, 1606961495000, 1606975617000, 1622576130000, 1607043210000, + 1607123375000, 1607381143000, 1607383511000, 1607456131000, 1607535941000, 1607584310000, 1607672764000, + 1607714432000, 1607924486000, 1608136171000, 1608339546000, 1608623267000, 1608588906000, 1608613922000, + 1608794497000, 1609312146000, 1609445342000, 1611177885000, 1609810986000, 1609869589000, 1609892764000, + 1609894990000, 1609964224000, 1610330658000, 1610687451000, 1610693597000, 1610745100000, 1610842414000, + 1625537127000, 1611083542000, 1611106687000, 1611119603000, 1611167945000, 1611191322000, 1611267296000, + 1611276701000, 1611445845000, 1611355747000, 1611615276000, 1611690966000, 1612549788000, 1611717993000, + 1611941076000, 1611885672000, 1612200588000, 1612244845000, 1612385490000, 1612337013000, 1612480069000, + 1612919438000, 1612991360000, 1618989812000, 1613169493000, 1613954209000, 1613969783000, 1614026324000, + 1614386402000, 1614804696000, 1614840572000, 1615276267000, 1615531406000, 1615752371000, 1615597736000, + 1615930276000, 1615907404000, 1615914982000, 1618993456000, 1619155915000, 1615938119000, 1621406459000, + 1616446563000, 1621967961000, 1616536293000, 1616532153000, 1616543697000, 1616562318000, 1616565397000, + 1616698857000, 1625089733000, 1616709125000, 1617082721000, 1619629802000, 1617641901000, 1617226941000, + 1617343635000, 1617405445000, 1619156600000, 1617840180000, 1617842203000, 1617856113000, 1618080362000, + 1618119188000, 1618761592000, 1618779942000, 1618785657000, 1618810241000, 1618814535000, 1618844989000, + 1618947728000, 1618948974000, 1619034824000, 1619043580000, 1619211780000, 1619214261000, 1619392810000, + 1619415424000, 1619416857000, 1619818103000, 1619539670000, 1619552611000, 1619702329000, 1619717599000, + 1619798306000, 1619931276000, 1620058667000, 1621458342000, 1621404222000, 1620271294000, 1620451298000, + 1620683240000, 1620706775000, 1620798074000, 1620771751000, 1620853756000, 1620858974000, 1621207950000, + 1621357937000, 1621370568000, 1621399633000, 1621439003000, 1621488812000, 1639083008000, 1621953828000, + 1622565484000, 1621976811000, 1622163165000, 1622179515000, 1622589068000, 1622649152000, 1622661602000, + 1622757598000, 1622783940000, 1622819493000, 1622829272000, 1623081344000, 1623272391000, 1623281687000, + 1623368890000, 1623443987000, 1623875598000, 1623950906000, 1643321323000, 1624307808000, 1624397779000, + 1624400904000, 1625614916000, 1624650363000, 1624999768000, 1625002674000, 1625176950000, 1625176950000, + 1625182701000, 1625686789000, 1625699956000, 1625707109000, 1625768635000, 1626119662000, 1626133284000, + 1626309111000, 1627084512000, 1626215367000, 1626220930000, 1626312225000, 1626331184000, 1626361777000, + 1626362227000, 1626377897000, 1626637416000, 1626640908000, 1626670356000, 1626806118000, 1626825860000, + 1626815750000, 1626823009000, 1626938217000, 1626917652000, 1626980195000, 1627000630000, 1627000864000, + 1627073201000, 1627076165000, 1627086207000, 1627254389000, 1632347924000, 1627428528000, 1627510803000, + 1627587713000, 1627596349000, 1632375700000, 1627680284000, 1627709562000, 1628640762000, 1628643529000, + 1628894804000, 1628970238000, 1630301571000, 1628903144000, 1628971134000, 1629266246000, 1631912618000, + 1629413601000, 1629421796000, 1632203805000, 1629840602000, 1630195660000, 1630300981000, 1630365470000, + 1630386892000, 1630480351000, 1630618748000, 1630619463000, 1630619521000, 1630636032000, 1630685974000, + 1631048397000, 1631082170000, 1631124867000, 1632452739000, 1631232717000, 1631316339000, 1631593429000, + 1631943264000, 1632253517000, 1632352977000, 1632438817000, 1632595486000, 1632499860000, 1632524703000, + 1632808529000, 1633542724000, 1633101254000, 1633103859000, 1633211273000, 1633375543000, 1633447680000, + 1633557650000, 1635181654000, 1633979849000, 1634078433000, 1634258324000, 1634197106000, 1634331568000, + 1634514881000, 1634586210000, 1637019308000, 1634619030000, 1634674887000, 1634684427000, 1634684682000, + 1634766601000, 1634859259000, 1635451838000, 1635221135000, 1635222812000, 1635224709000, 1635436869000, + 1635400954000, 1635785166000, 1635804837000, 1636064281000, 1635826581000, 1635839007000, 1635880696000, + 1636044631000, 1636056231000, 1636533294000, 1636088560000, 1636146554000, 1636411054000, 1636415190000, + 1636524289000, 1636583121000, 1636583647000, 1636929618000, 1638306909000, 1637099716000, 1637122768000, + 1637138320000, 1637222356000, 1637254833000, 1637255945000, 1637260200000, 1637272675000, 1637283690000, + 1637352709000, 1638475893000, 1642105710000, 1638943338000, 1638999911000, 1639108878000, 1639436283000, + 1639515726000, 1639614738000, 1639772366000, 1643410375000, 1639776649000, 1639788334000, 1640193189000, + 1640214479000, 1641234175000, 1641242013000, 1641260830000, 1642052879000, 1647356851000, 1642814250000, + 1643000402000, 1643227350000, 1643398143000, 1643661212000, 1643749370000, 1643758214000, 1643761276000, + 1643764180000, 1646198964000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, + 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338390000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1646434211000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, 1644338391000, + 1646200500000, 1644514783000, 1644621092000, 1645130308000, 1645213754000, 1645408026000, 1645408862000, + 1645408903000, 1645579142000, 1646121545000, 1646261436000, 1646286936000, 1646326324000, 1646373295000, + 1646802032000, 1647295601000, 1647304714000, 1647308071000, 1647317439000, 1647324316000, 1647371943000, + ], + ], + }, + }, + { + schema: { + name: 'panels', + refId: 'A', + fields: [ + { name: 'DashboardID', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'ID', type: 'number', typeInfo: { frame: 'int64' } }, + { name: 'Name', type: 'string', typeInfo: { frame: 'string' } }, + { name: 'Description', type: 'string', typeInfo: { frame: 'string' } }, + { name: 'Type', type: 'string', typeInfo: { frame: 'string' } }, + ], + }, + data: { + values: [ + [ + 52, 52, 53, 54, 55, 56, 57, 57, 58, 58, 59, 59, 59, 59, 59, 59, 59, 60, 61, 61, 61, 61, 61, 61, 62, 63, + 66, 67, 68, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 72, 73, 73, 74, 75, 75, 75, 75, 76, 76, 76, 77, + 77, 77, 78, 79, 80, 81, 82, 82, 82, 82, 83, 84, 85, 87, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 90, 92, 92, 92, 92, 93, 94, 95, 96, 96, 97, 99, 100, 101, 101, 101, 101, 102, 103, 104, 104, + 105, 106, 107, 107, 107, 108, 110, 110, 111, 112, 112, 112, 112, 113, 113, 113, 113, 115, 116, 116, 117, + 118, 119, 119, 120, 121, 122, 122, 124, 125, 125, 125, 126, 127, 128, 128, 128, 128, 129, 130, 131, 132, + 133, 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 137, 138, 139, 140, 141, + 197, 197, 197, 198, 199, 200, 201, 204, 205, 206, 208, 208, 209, 210, 211, 212, 213, 214, 216, 217, 217, + 217, 219, 219, 221, 221, 222, 224, 225, 226, 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 229, 229, 230, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 233, 235, + 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 246, 247, 248, 249, 250, 250, 251, 252, 253, 254, 254, + 254, 255, 255, 255, 255, 255, 256, 257, 258, 258, 259, 261, 262, 262, 262, 263, 264, 265, 266, 267, 268, + 269, 272, 272, 272, 272, 272, 272, 273, 274, 275, 276, 276, 277, 277, 278, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 290, 291, 292, 292, 292, 293, 293, 293, 293, 293, 293, 293, 294, 294, + 294, 295, 360, 360, 364, 365, 365, 365, 365, 365, 369, 369, 374, 375, 375, 382, 383, 389, 389, 392, 393, + 394, 395, 396, 397, 400, 404, 405, 406, 407, 409, 410, 410, 410, 411, 412, 413, 416, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 436, 437, 437, 438, 439, 439, 439, 439, 439, 439, 440, 441, 442, 443, 443, 443, + 443, 443, 443, 444, 444, 445, 446, 447, 447, 447, 447, 447, 448, 448, 448, 448, 449, 450, 452, 453, 454, + 456, 457, 458, 459, 462, 462, 463, 466, 469, 472, 473, 474, 475, 476, 477, 478, 479, 479, 480, 481, 482, + 482, 482, 483, 483, 483, 483, 484, 484, 484, 485, 486, 487, 488, 489, 489, 490, 490, 491, 491, 491, 491, + 491, 491, 491, 491, 492, 493, 493, 494, 494, 494, 494, 495, 496, 497, 497, 497, 498, 499, 500, 501, 502, + 503, 503, 504, 505, 505, 505, 505, 506, 506, 506, 506, 507, 507, 507, 507, 507, 508, 508, 508, 508, 508, + 509, 509, 509, 509, 510, 510, 510, 511, 511, 587, 588, 589, 590, 590, 590, 593, 594, 595, 596, 596, 597, + 598, 599, 599, 599, 599, 599, 599, 600, 600, 600, 600, 600, 601, 602, 603, 604, 605, 606, 606, 607, 608, + 609, 611, 612, 613, 614, 615, 616, 617, 618, 619, 619, 620, 621, 622, 623, 625, 627, 627, 627, 627, 627, + 628, 629, 630, 631, 631, 631, 631, 631, 631, 632, 633, 634, 634, 634, 634, 634, 634, 635, 636, 636, 636, + 636, 636, 637, 638, 640, 641, 641, 642, 649, 649, 649, 650, 651, 652, 652, 652, 653, 654, 655, 656, 658, + 659, 661, 662, 662, 662, 662, 662, 662, 662, 662, 662, 663, 664, 664, 664, 664, 665, 665, 665, 665, 666, + 667, 668, 669, 670, 672, 673, 673, 758, 758, 759, 760, 761, 764, 765, 765, 765, 766, 769, 769, 769, 769, + 772, 772, 773, 774, 776, 776, 777, 777, 777, 777, 778, 779, 780, 781, 782, 782, 783, 784, 785, 785, 785, + 785, 785, 786, 787, 788, 789, 790, 795, 796, 806, 807, 807, 807, 807, 807, 808, 808, 808, 808, 809, 810, + 811, 812, 813, 814, 815, 816, 817, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, 821, + 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, + 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, + 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 822, 823, 823, 823, 823, 823, 823, + 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, 825, 825, 825, + 825, 825, 825, 825, 825, 825, 825, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, + 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 827, 827, 827, 827, 827, 827, + 828, 828, 828, 828, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 830, 830, 830, 830, + 830, 830, 830, 830, 831, 831, 831, 831, 832, 832, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, + 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 834, 834, 834, 835, 836, 836, 836, 836, 836, 836, + 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, 837, 837, 837, 837, 837, 837, 838, 838, 838, + 838, 839, 839, 839, 839, 840, 841, 842, 842, 842, 842, 842, 842, 843, 843, 843, 844, 844, 844, 844, 844, + 844, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 845, 846, 846, 846, 846, + 846, 847, 847, 847, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 849, 849, 849, 849, 849, + 849, 849, 849, 849, 850, 850, 850, 851, 851, 851, 851, 851, 851, 851, 851, 852, 852, 853, 853, 854, 854, + 854, 854, 854, 854, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 855, 855, 856, 856, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 858, 858, 858, 858, + 859, 859, 859, 859, 859, 859, 860, 860, 860, 860, 860, 860, 861, 861, 862, 862, 862, 862, 862, 863, 863, + 863, 863, 863, 863, 864, 864, 864, 864, 864, 864, 864, 865, 865, 865, 866, 867, 867, 868, 868, 868, 868, + 868, 868, 868, 868, 868, 868, 868, 868, 868, 869, 869, 869, 869, 869, 870, 870, 871, 871, 871, 871, 871, + 871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873, + 873, 873, 873, 874, 874, 874, 875, 875, 875, 876, 876, 876, 876, 876, 877, 877, 877, 878, 878, 878, 878, + 878, 878, 878, 878, 879, 879, 879, 879, 879, 880, 880, 880, 880, 881, 881, 881, 881, 881, 881, 881, 881, + 881, 882, 882, 882, 882, 882, 883, 883, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 884, 885, 885, + 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 886, 886, 887, 887, 887, 887, 887, 887, 887, 887, + 887, 888, 888, 888, 888, 888, 888, 888, 888, 888, 889, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 891, 891, 891, 891, 891, 892, 892, 893, 893, 893, 893, 893, 893, 894, 894, 894, 894, 894, 894, 895, 895, + 895, 895, 895, 895, 896, 896, 897, 898, 899, 899, 899, 899, 899, 899, 899, 900, 900, 900, 900, 900, 900, + 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 901, 901, 901, + 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 901, 902, 902, 902, + 902, 902, 902, 902, 902, 902, 903, 903, 903, 903, 903, 903, 904, 904, 904, 904, 904, 904, 904, 904, 904, + 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, + 905, 906, 906, 906, 906, 906, 906, 907, 907, 907, 907, 907, 907, 907, 907, 907, 908, 908, 908, 908, 908, + 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, + 908, 908, 908, 908, 908, 909, 910, 911, 911, 911, 911, 911, 911, 911, 911, 912, 912, 913, 914, 914, 916, + 916, 917, 917, 918, 918, 918, 918, 918, 919, 920, 921, 921, 921, 921, 921, 922, 923, 924, 924, 924, 925, + 926, 927, 928, 929, 930, + ], + [ + 2, 4, 2, 2, 5, 2, 4, 2, 4, 2, 4, 7, 8, 2, 5, 9, 6, 2, 4, 9, 2, 5, 6, 8, 2, 2, 2, 2, 4, 13, 17, 20, 19, + 8, 6, 12, 4, 6, 2, 5, 2, 4, 2, 2, 2, 6, 5, 3, 2, 4, 3, 2, 4, 8, 2, 2, 2, 2, 6, 2, 8, 3, 2, 2, 2, 2, 2, + 18, 20, 21, 22, 2, 4, 5, 8, 7, 10, 12, 14, 16, 2, 3, 2, 6, 4, 2, 2, 2, 4, 2, 2, 2, 2, 3, 11, 9, 8, 2, 4, + 4, 2, 2, 2, 2, 3, 4, 2, 4, 2, 2, 3, 11, 9, 8, 6, 5, 4, 2, 2, 4, 5, 2, 2, 2, 3, 2, 2, 4, 2, 2, 2, 3, 4, + 2, 2, 6, 4, 2, 7, 2, 2, 2, 2, 2, 4, 2, 28, 6, 26, 20, 24, 14, 22, 8, 10, 2, 16, 12, 18, 2, 2, 2, 2, 2, + 4, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 7, 2, 4, 2, 3, 4, 2, 2, 2, 2, 2, 2, 30, 6, 28, + 20, 26, 14, 24, 8, 22, 2, 10, 16, 12, 18, 4, 2, 2, 28, 6, 26, 20, 24, 14, 22, 8, 10, 2, 16, 12, 18, 2, + 2, 2, 2, 3, 7, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 3, 2, 2, 2, 4, 2, 5, 8, 5, 4, 6, 2, 2, 2, 2, 3, 2, 2, 9, + 10, 4, 2, 2, 2, 2, 2, 2, 2, 2, 4, 6, 7, 3, 5, 2, 2, 2, 2, 3, 2, 3, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 4, 2, 6, 4, 2, 4, 2, 5, 9, 11, 8, 10, 2, 3, 4, 2, 2, 3, 2, 2, 3, 5, 7, 8, 2, 3, 2, 2, 3, 2, 2, 4, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 6, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2, 5, + 3, 6, 4, 7, 2, 2, 2, 2, 9, 7, 4, 12, 11, 2, 3, 2, 2, 3, 2, 8, 4, 6, 2, 3, 6, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 6, 4, 2, 6, 4, 2, 3, 2, 3, 4, 2, 2, 2, 2, 2, 3, 2, 3, + 2, 5, 6, 7, 8, 4, 10, 9, 2, 2, 4, 2, 5, 3, 6, 2, 2, 2, 7, 4, 2, 2, 2, 2, 2, 2, 3, 2, 2, 4, 5, 6, 2, 4, + 5, 6, 2, 4, 8, 5, 6, 2, 4, 5, 6, 8, 2, 4, 5, 6, 4, 2, 6, 4, 2, 2, 2, 2, 2, 4, 6, 2, 2, 0, 2, 4, 2, 2, 5, + 2, 8, 7, 6, 3, 5, 2, 8, 6, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 2, 6, 9, 4, 8, 2, 2, 2, 2, 4, 5, 9, 6, 8, 2, 2, 2, 4, 5, 6, 7, 8, 2, 15, 10, 11, 8, 13, 2, 2, 2, 2, 4, + 2, 2, 4, 7, 2, 2, 2, 5, 3, 2, 2, 2, 2, 2, 2, 2, 15, 12, 14, 8, 10, 4, 11, 6, 2, 2, 10, 11, 8, 13, 13, + 11, 10, 8, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, 2, 4, 6, 2, 2, 3, 4, 5, 4, 2, 2, 2, 4, 2, 6, 7, 4, + 2, 2, 2, 2, 2, 4, 2, 2, 2, 7, 5, 2, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8, 4, 6, 9, 7, 4, 3, 5, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 5, 11, 27, 39, 70, 60, 54, 103, 84, 111, 119, 121, 122, 2, 32, 33, 34, 35, 7, 9, 10, 36, + 16, 12, 13, 37, 27, 5, 38, 39, 4, 28, 19, 18, 17, 20, 29, 30, 14, 15, 25, 22, 21, 26, 23, 24, 13, 5, 23, + 26, 27, 25, 36, 41, 42, 32, 44, 43, 57, 54, 55, 46, 48, 49, 50, 51, 52, 53, 40, 29, 30, 4, 6, 8, 9, 11, + 2, 3, 2, 4, 12, 13, 14, 8, 6, 7, 15, 16, 17, 18, 10, 11, 9, 19, 20, 3, 2, 6, 4, 5, 7, 11, 9, 13, 15, 50, + 47, 48, 55, 56, 52, 53, 54, 57, 60, 70, 62, 63, 64, 65, 66, 34, 32, 35, 31, 51, 17, 19, 20, 21, 9, 45, + 46, 68, 4, 7, 9, 6, 3, 5, 9, 13, 12, 4, 6, 7, 8, 18, 17, 10, 9, 11, 14, 15, 12, 13, 16, 4, 13, 2, 5, 9, + 11, 8, 10, 2, 8, 6, 4, 2, 3, 13, 15, 7, 6, 8, 36, 38, 40, 19, 20, 23, 24, 42, 17, 26, 22, 28, 34, 30, + 31, 32, 29, 4, 6, 2, 2, 7, 8, 9, 10, 12, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1, 2, 3, 6, + 5, 8, 62, 66, 63, 65, 2, 4, 3, 6, 11, 2, 8, 22, 12, 23, 21, 24, 5, 3, 2, 1, 2, 3, 6, 5, 8, 7, 8, 9, 10, + 11, 12, 13, 14, 2, 15, 16, 17, 18, 19, 20, 21, 2, 4, 6, 5, 8, 6, 4, 2, 5, 3, 6, 10, 13, 14, 11, 2, 7, + 12, 8, 15, 7, 5, 4, 2, 3, 6, 9, 10, 8, 4, 5, 2, 7, 4, 2, 5, 9, 3, 10, 12, 2, 4, 2, 4, 2, 5, 7, 6, 8, 9, + 34, 35, 32, 41, 62, 4, 28, 8, 30, 6, 26, 20, 24, 18, 22, 10, 16, 2, 14, 12, 4, 2, 4, 3, 22, 16, 21, 17, + 2, 26, 15, 18, 24, 5, 2, 7, 6, 4, 2, 3, 4, 5, 6, 7, 1, 2, 3, 6, 5, 8, 2, 4, 2, 9, 10, 7, 8, 4, 3, 5, 6, + 8, 9, 2, 11, 8, 3, 9, 6, 10, 8, 9, 4, 1, 2, 4, 8, 2, 4, 9, 11, 15, 10, 12, 3, 5, 7, 6, 13, 2, 4, 3, 5, + 7, 4, 2, 7, 2, 3, 5, 4, 8, 11, 2, 5, 6, 16, 18, 17, 19, 30, 15, 12, 13, 20, 21, 9, 7, 26, 27, 28, 2, 4, + 3, 6, 2, 4, 9, 2, 4, 9, 8, 2, 9, 6, 4, 4, 2, 5, 14, 3, 5, 9, 11, 15, 13, 16, 4, 3, 6, 7, 8, 2, 11, 7, + 10, 6, 10, 14, 13, 8, 12, 15, 16, 17, 3, 4, 5, 2, 6, 4, 2, 6, 12, 13, 14, 7, 8, 16, 17, 18, 19, 20, 4, + 7, 11, 12, 5, 13, 2, 3, 6, 9, 10, 8, 14, 2, 3, 11, 12, 13, 9, 4, 6, 10, 7, 8, 7, 5, 4, 2, 3, 6, 9, 10, + 8, 2, 2, 32, 33, 34, 35, 7, 9, 10, 36, 16, 12, 13, 37, 27, 5, 38, 39, 4, 28, 19, 18, 17, 20, 14, 15, 25, + 22, 21, 26, 23, 24, 44, 2, 9, 4, 22, 2, 4, 2, 4, 6, 8, 10, 11, 4, 3, 5, 9, 21, 16, 1, 2, 3, 6, 5, 8, 2, + 4, 2, 2, 9, 15, 16, 17, 10, 18, 19, 7, 20, 23, 24, 45, 26, 17, 28, 46, 48, 47, 43, 29, 44, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 1, 2, 3, 4, 6, 5, 7, 8, 10, 13, 9, 14, 12, 15, 21, 22, 20, 16, 17, 18, 19, + 8, 7, 2, 3, 10, 12, 9, 11, 13, 1, 2, 3, 6, 5, 8, 13, 61, 63, 70, 65, 66, 67, 68, 69, 59, 73, 74, 71, 25, + 23, 26, 27, 43, 41, 32, 44, 55, 54, 51, 48, 76, 50, 75, 49, 77, 2, 2, 11, 12, 7, 13, 16, 2, 3, 5, 4, 6, + 7, 8, 9, 10, 2, 32, 33, 34, 35, 7, 9, 10, 36, 16, 12, 13, 37, 27, 5, 38, 39, 4, 28, 19, 18, 17, 20, 14, + 15, 25, 22, 21, 26, 23, 24, 2, 2, 2, 3, 4, 8, 7, 6, 5, 9, 2, 4, 2, 2, 4, 4, 2, 2, 4, 13, 2, 5, 9, 11, 2, + 2, 6, 4, 2, 5, 3, 2, 2, 4, 6, 2, 2, 2, 2, 2, 2, 2, + ], + [ + 'Avionics (AirData)', + 'Panel Title', + 'Board', + 'Oakland', + 'signal', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Oakland', + 'San Francisco', + 'Difference (OAK vs SFO)', + 'POST Oakland', + ' POST SFO', + 'All Readings', + 'Raw Readings', + 'Panel Title', + 'Oakland', + 'Oakland', + 'POST Oakland', + ' Oakland (w/config)', + 'POST Oakland (w/ unit)', + '', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Temperatures', + 'Temperatures', + 'Temperatures', + 'Delta', + 'Humidity', + 'Room Occupancy', + 'Hue Lights', + '', + '', + '', + '', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Sine (with settings from OAS) ', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'POST Oakland', + 'Oakland', + '', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'START', + '', + 'STOP', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + '', + '', + '', + '', + 'Hook Load vs Depth', + 'Surface Rotary Torque vs Depth', + 'Cumulative Fatigue vs Depth', + '3D DLS vs Depth', + 'Alarms Log', + 'Active Alerts', + 'Receiving Data', + 'Alarms Log', + 'Panel Title', + 'Panel Title', + 'Sine (with settings from OAS) ', + 'Reuse (table)', + 'Panel Title', + 'Reuse (single stats)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Tank Levels', + 'Panel Title', + 'Pumps and Valves', + 'All Data', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Flot', + 'uPlot', + 'Panel Title', + 'Tank Levels', + 'Panel Title', + 'Pumps and Valves', + 'All Data', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + '2 yaxis and axis labels', + '2 yaxis and axis labels', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Latest High/Low', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Host count by micro-service', + 'Percentage hosts with high CPU utilization in Micro-service Zeus', + 'GC Pause distribution for high memory utilization hosts', + 'Memory used distribution for a Micro-service', + 'CPU Usage for a micro-service within a Silo', + 'Hosts with Low CPU Utilization in Microservice Apollo', + 'Task End State Distribution', + 'Hosts with High GC Pause', + 'Disk IO Reads for a host', + 'Per Cell Avg CPU Utilization for Microservice Apollo', + 'Hosts', + 'Measure Names', + 'Regional service distribution', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Goroutines', + 'Goroutines', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Percentage hosts with high CPU utilization in Micro-service Zeus', + 'Host count by micro-service', + 'Memory used distribution for a Micro-service', + 'GC Pause distribution for high memory utilization hosts', + 'Hosts with Low CPU Utilization in Microservice Apollo', + 'CPU Usage for a micro-service within a Silo', + 'Hosts with High GC Pause', + 'Task End State Distribution', + 'Per Cell Avg CPU Utilization for Microservice Apollo', + 'Disk IO Reads for a host', + 'Hosts', + 'Measure Names', + 'Regional service distribution', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Host count by micro-service', + 'Percentage hosts with high CPU utilization in Micro-service Zeus', + 'GC Pause distribution for high memory utilization hosts', + 'Memory used distribution for a Micro-service', + 'CPU Usage for a micro-service within a Silo', + 'Hosts with Low CPU Utilization in Microservice Apollo', + 'Task End State Distribution', + 'Hosts with High GC Pause', + 'Disk IO Reads for a host', + 'Per Cell Avg CPU Utilization for Microservice Apollo', + 'Hosts', + 'Measure Names', + 'Regional service distribution', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Alarms (in standard table)', + 'Alarms (in standard table)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'grafana-singlestat-panel', + 'singlestat (migrated on load)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Row title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'arrow query', + 'Panel Title', + 'Panel Title', + 'Air Data', + 'HvBms', + 'InsData', + 'InsData', + 'InsData', + 'Actuator', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'ttttt', + 'Panel Title', + 'Tides', + 'Next Tide', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'two units', + 'Cursor info', + 'Only temperature', + 'Panel Title', + 'Panel Title', + 'flot panel (temperature)', + 'flot panel (no units)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Angular Graph', + 'Simple dummy streaming example', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'State changes strings', + 'Status map', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'System State', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'flot histogram', + 'new histogram', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Angular singlestat (80%)', + 'Migrated singlestat (80%)', + 'Angular singlestat (30%)', + 'Migrated singlestat (30%)', + 'Angular singlestat (200%)', + 'Migrated singlestat (200%)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Raw flight data', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'World map (angular)', + 'Panel Title', + 'Raw flight data', + 'World map (angular)', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Simple dummy streaming example', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'TestData Map', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Full Update', + 'Changes', + '', + '', + '', + '', + '', + '', + '', + '', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Debug 0', + 'Navigation', + 'Debug 1', + 'geomap', + 'Debug 0', + 'Navigation', + 'Debug 1', + 'graph', + 'Debug 0', + 'Navigation', + 'Panel Title', + 'Debug 1', + 'graph (fill)', + 'Debug 0', + 'Navigation', + 'Debug 1', + 'table', + 'another panel in the table view', + 'Debug 0', + 'Navigation', + 'Debug 1', + 'graph (fill)', + '"Draw" panel (in grafana-edge-app)', + 'Simple "canvas" panel', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'generated panel', + 'generated panel', + 'generated panel', + 'generated panel', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'generated panel', + 'generated panel', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Cell towers', + 'Contours', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'scatter', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Glot (old) graph', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'First scene viewer', + 'Selection', + 'View', + 'Second scene viewer', + 'Anchors', + 'A debug panel', + 'Panel Title', + 'Panel Title', + 'Debug panel (11111)', + 'Selected item', + 'Selected Alarm', + 'Visible components', + 'Debug panel (2222)', + 'Selected item', + 'Panel Title', + 'Panel Title', + 'List entities', + 'Get Entity Components', + 'Layout Manager', + 'Alarms query with table panel', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'LOTS of mapping', + 'no mappings', + 'Panel Title', + 'Panel Title', + 'Simple text panel', + 'With transform!', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Basic query', + 'Validation error (RefId B)', + 'Annotation', + 'Too many datapoints requested', + 'Arithmetic error (RefId B)', + 'Logs', + 'Not unique id:s', + 'Multi-valued template variable', + '$stat panel repeat', + 'Panel Title', + 'List entities', + 'Get Entity Components', + 'Layout Manager', + 'Text panel for mixers page', + 'Alarms query with table panel', + 'Get Entity Components', + 'List entities', + 'Layout Manager', + 'Market Trend', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Alarm List', + 'Selected Alarm History', + 'Scene Viewer', + 'Panel Title', + 'ALL', + 'MIN', + 'MAX', + 'VALUE', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Metrics query', + 'Non-metrics query', + 'Standard range query', + 'tail: api/v2alpha', + 'Crawler status', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'timeseries', + 'Flot based heatmap', + 'Status (same data) note Y reversed', + 'State timeline (same data) note Y reversed', + 'Panel Title', + 'Color field \u0026 Label skipping', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Random walk series', + 'Testdata heatmap', + 'Flot heatmap (default arguments)', + 'Flot "time series buckets" format', + 'new heatmap', + 'Panel Title', + 'with xform', + 'line to airport (raw)', + 'with xform', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Basic date histogram with count', + 'Basic date histogram with metric aggregation', + 'Basic date histogram with moving average aggregation', + 'Basic date histogram with derivative aggregation', + 'Basic date histogram with cumulative sum aggregation', + 'Basic date histogram with bucket script aggregation', + 'Multiple metrics and aggregations', + 'Terms order by simple aggregation', + 'Terms order by extended stats', + 'Terms order by percentile', + 'Inline scripts', + 'Old \u0026 new script format', + 'Old \u0026 new script format', + 'Data types', + 'cast(null as bigint) as time', + 'cast(null as datetime) as time', + 'GETDATE() as time', + 'GETUTCDATE() as time', + 'timeGroup macro 5m without fill', + 'timeGroup macro 5m with fill(NULL) and null as zero', + 'timeGroup macro 5m with fill(10.0)', + 'timeGroup macro 5m with fill(previous) and null as zero', + 'Metrics - timeGroup macro $summarize without fill', + 'Metrics - timeGroup macro $summarize with fill(NULL)', + 'Metrics - timeGroup macro $summarize with fill(100.0)', + 'Metrics - timeGroup macro $summarize with fill(previous)', + 'Multiple series with metric column using timeGroup macro ($summarize)', + 'Multiple series without metric column using timeGroup macro ($summarize)', + 'Multiple series with metric column using unixEpochGroup macro ($summarize)', + 'Multiple series without metric column using unixEpochGroup macro ($summarize)', + 'Multiple series with metric column', + 'Multiple series without metric column', + 'Multiple series with metric column - stacked', + 'Multiple series without metric column - stacked', + 'Multiple series with metric column - stacked percent', + 'Multiple series without metric column - stacked percent', + 'Stored procedure support using epoch', + 'Stored procedure support using datetime', + 'Multiple series with metric column - series mode', + 'Multiple series without metric column - series mode', + 'Multiple series with metric column - histogram', + 'Multiple series without metric column - histogram', + 'Multiple series with metric column - histogram stacked', + 'Multiple series without metric column - histogram stacked', + 'Multiple series with metric column - histogram stacked percent', + 'Multiple series without metric column - histogram stacked percent', + '', + 'Interpolation modes', + 'Interpolation mode: smooth', + 'Interpolation mode: Step before', + 'Interpolation mode: Step after', + '', + 'Soft min \u0026 max', + 'Auto min max', + 'Min: 0, Max: 30', + 'With min 0, max 30, with spike', + 'Soft min 0, soft max 30, with spike', + '', + 'Multiple Y-Axes', + 'Multiple Y-Axes (more than 2!)', + '', + 'Time series panel \u0026 display options', + 'Advanced dashed line settings', + 'Bars with opacity gradient', + 'Bars with hue gradient', + '', + 'Value mappings that work on y-axis', + '', + 'New next generation graph panel ', + 'Live streaming ', + '', + 'Panel Title', + 'Panel drilldown link test', + 'React gauge datalink', + 'React gauge datalink', + 'Data links that filter update variables on current dashboard', + 'Panel Title', + 'No data link', + 'Single data link', + 'Multiple data links', + 'No data link', + 'Single data link', + 'Multiple data links', + 'No data link', + 'Single data link', + 'Multiple data links', + 'No data link', + 'Single data link', + 'Multiple data links', + 'No data link', + 'Single data link', + 'Multiple data links', + 'No data link', + 'Single data link', + 'Multiple data links', + 'Show gaps', + 'Gaps \u0026 null between every point for series B', + 'No nulls but unaligned series', + 'Connected', + 'Same as above but connected', + 'Same as above but connected', + 'Null values in first series \u0026 show gaps ', + 'Null values in second series show gaps (bugged)', + 'Span nulls below 1hr', + 'Always show points between gaps', + 'Lines', + 'Lines 500 data points', + '10 data points, points auto', + '20 data points, points never', + '20 data points, points always', + 'Interpolation: linear', + 'Interpolation: Smooth', + 'Interpolation: Step before', + 'Interpolation: Step after', + 'Dashed lines', + 'Fill below to', + 'Bars and points', + 'Bars: no fill', + 'Bars: Fill + hue gradient', + 'Points: Size 10', + 'Points: size 4', + 'Legend rendering', + 'List', + 'List legend to the right ', + 'Table', + 'Table to the right', + 'Tooltip', + 'Single mode', + 'Multi mode', + 'No tooltip', + 'Diff number of datapoints and multi series tooltip', + 'Annotations', + 'React NG graph', + 'Y-Axis with value mapping', + 'Always Alerting', + 'Always Pending with For', + 'Alert list', + 'Always Alerting with For', + 'Always OK', + 'No data', + 'State changes strings', + 'State changes with boolean values', + 'State changes with nulls', + 'Status map', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'two units', + 'Speed vs Temperature (XY)', + 'Cursor info', + 'Only temperature', + 'Only Speed', + 'Panel Title', + 'flot panel (temperature)', + 'flot panel (no units)', + 'Average logins / $summarize', + 'Average payments started/ended / $summarize', + 'Max CPU / $summarize', + 'Values', + 'CPU', + 'Login Count', + '', + 'Bar Gauge', + 'Retro LED mode', + 'Gradient mode', + 'Basic', + 'Gauge multi series', + '', + 'Multiple Series or Rows', + 'Panels With No Title', + '', + '', + '', + '', + '', + '', + 'Lazy loading of panels', + 'Slow Query (5s)', + '', + 'Slow Query (5s)', + 'Slow Query (5s)', + 'Slow Query (5s)', + 'Slow Query (5s)', + 'Panel Title', + 'Panel drilldown link test', + 'Panel Title', + 'Panel Title', + 'Full Dataset', + 'Plateau 1', + 'Plateau 1 + Spike 1', + 'Plateau 2 + Spike 2', + 'Plateau 3 + Spike 3', + 'Plateau 3 + Spike 3 + 4', + 'Plateau 3 + Spike 4', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Soft: 2.5 - 5, Hard: 1.5 - 6', + 'Auto', + 'hardMin: 9', + 'hardMax: 30', + 'hardMin: 9, hardMax: 30', + 'Top 5 servers', + 'Percentiles \u0026 Metric filter', + 'Standard dev', + 'ES Metrics', + 'ES Log query', + 'World map panel', + 'Size, color mapped to different fields + share view', + 'Thresholds legend', + 'Heatmap data layer', + 'Base layer ArcGIS wold imagery + star shape + share view', + 'Average logins / $summarize', + 'Average payments started/ended / $summarize', + 'Max CPU / $summarize', + 'Values', + 'Variable interpolation', + 'Panel Title', + 'Basic vertical ', + 'Basic vertical (Unfilled)', + 'Gradient ', + 'Gradient (Unfilled)', + 'Title to left of bar', + 'Title to left of bar (Filled)', + 'Panel Title', + '', + '', + 'Top 5 servers', + 'Percentiles \u0026 Metric filter', + 'Standard dev', + 'ES Metrics', + 'ES Log query', + 'World map panel', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + '$Servers', + 'Raw Data Graph', + 'Last non-null', + 'min', + 'Max', + 'Panel Title', + 'Horizontal with range variable', + 'Vertical', + 'Repeat horizontal', + 'Angular Line + Area ', + 'Timeseries - Line + Area', + 'Angular thresholds no lines', + 'Timeseries - Area', + 'Angular thresholds less then ', + 'Angular thresholds less then ', + 'Angular thresholds only lines', + 'Timeseries - Line Thresholds', + 'Angular bands with gap ', + 'Timeseries - with gaps', + 'Angular custom colors', + 'Time series custom colors', + 'Data from 0 - 10K (unit short)', + 'Data from 0 - 10K (unit bytes metric)', + 'Data from 0 - 10K (unit bytes IEC)', + 'Data from 0 - 10K (unit short)', + 'Data from 0.0002 - 0.001 (unit short)', + 'Data from 12000 - 30000 (unit ms)', + 'Data from 0 - 1B (unit short)', + 'Data from 0 - 1B (unit bytes)', + 'Data from 12000 - 30000 (unit ms)', + 'Poor use of space', + 'Composite crash', + 'No Value in Sensor-C Bug', + 'Cell styles', + 'Colored background', + 'Bar gauge cells', + 'Retro LCD cell', + 'Data links', + 'Data link with labels and numeric value', + 'No header', + 'Footer', + 'CPU per host', + 'Login Count per host', + 'Row title $row', + 'Panel Title $vertical', + 'Min, max, threshold from separate query', + 'Custom mappings and apply to self', + 'Mapping data', + 'Value mappings from query result applied to itself', + 'Display data', + 'Value mapping ID -\u003e DisplayText from separate query', + '', + '', + 'Row title', + 'State timeline', + 'Size, color mapped to different fields + share view', + 'Histogram', + 'Logs', + 'Dashboard list', + 'Panel list', + 'Alert list', + 'Heatmap', + 'Bar gauge', + 'Pie chart', + 'Gauge', + 'Tabel', + 'Annotation list', + 'Stat', + 'Graph NG', + 'Bar chart', + 'News panel', + 'Panel Title', + 'Panel Title', + 'Memory / CPU', + 'logins', + 'Memory', + 'Sign ups', + 'Logouts', + 'Sign outs', + 'server requests', + 'Google hits', + 'Logins', + 'Support calls', + 'Google hits', + 'client side full page load', + 'Price \u0026 Volume', + 'Price Only, Hollow Candles', + 'Price Only, OHLC Bars', + 'Volume Only, Alt Colors, 100% Opacity', + 'Sub second range ', + 'Sub minute range', + 'Sub hour range', + 'Sub day range', + 'Last days (shows date)', + 'Last 5 days (year only)', + 'Top 5 servers', + 'Percentiles \u0026 Metric filter', + 'Standard dev', + 'ES Metrics', + 'ES Log query', + 'World map panel', + 'Row title $row', + 'Panel Title', + 'Origin', + 'Sensor 1, ranging as Origin panel', + 'Sensor 2, ranging [-4, 4]', + 'Sensor 3', + 'Sensor 5', + 'Time series + Auto buckets', + 'Time series + bucket size 3', + 'People height distribution', + 'People weight distribution', + 'Standalone transform - Height', + 'Standalone transform - Weight', + 'Donut name', + 'Name and Percent', + 'Name \u0026 No legend', + 'Percent', + 'Value', + 'Name', + 'Memory', + 'State timeline', + 'State timeline (strings \u0026 booleans)', + 'Status grid', + 'Selected Servers', + 'Data', + 'Query: ${query}', + 'Title', + '', + 'Panel Title', + 'Panel Title', + 'Panel Title', + '', + '', + '', + '', + 'My cool pane title', + 'My cool pane title', + 'My cool pane title', + '', + 'Business Hours', + "Sunday's 20-23", + 'Each day of week', + '05:00', + 'From 22:00 to 00:30 (crossing midnight)', + 'Log messages over time', + 'Logs', + 'Starred', + 'tag: panel-tests', + 'tag: dashboard-demo', + 'Data source tests', + 'tag: templating ', + 'tag: transforms', + 'Value options tests', + 'Average, 2 decimals, ms unit', + 'Max (90 ms), no decimals', + 'Current (10 ms), no unit, prefix (p), suffix (s)', + '', + '', + '', + '', + 'Only nulls and no user set min \u0026 max', + 'Value Mappings', + 'value mapping 10 -\u003e TEN', + 'value mapping null -\u003e N/A', + 'value mapping range, 0-10 -\u003e OK, value 10', + 'value mapping range, 90-100 -\u003e BAD, value 90', + 'Templating \u0026 Repeat', + 'repeat $Servers', + 'repeat $Servers', + 'repeat $Servers', + 'repeat $Servers', + 'Average logins / $summarize', + 'Average payments started/ended / $summarize', + 'Max CPU / $summarize', + 'Values', + 'Row title $row', + 'Panel Title', + 'Horizontal repeating $horizontal', + 'Row title $row', + 'Panel Title', + 'Vertical repeating $vertical', + '', + 'Multiple series', + 'Multiple fields', + 'Value reducers 1', + 'Value reducers 2', + 'Gradient color schemes', + 'Stats', + 'Bar Gauge LCD', + 'Data not stacked', + 'Normal stacking (series order 1)', + 'Normal stacking (series order 2)', + 'Bars, data not stacked', + 'Bars, normal stacking (series order 1)', + 'Bars, normal stacking (series order 2)', + 'Stacking groups, data not stacked', + 'Stacking groups, data stacked, two stacking groups', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Req/s', + 'Req/s', + 'Memory', + 'Req/s', + '', + 'Panel Title', + 'Panel Title', + 'Horizontal with graph', + 'Auto grid', + 'Horizontal', + 'Text mode name', + 'Value only', + 'No text', + 'Time series to rows (2 pages)', + 'Time series aggregations', + 'color row by threshold', + 'Column style thresholds \u0026 units', + 'Column style thresholds and links', + 'Panel Title', + 'Panel Title', + 'Title above bar', + 'Title to left of bar', + 'Basic mode', + 'LED', + 'LED Vertical', + 'Basic vertical ', + 'Negative value below min', + 'Negative value below min', + 'Positive value above min', + 'Negative min ', + 'Negative min', + 'Data from 0 - 10K (unit none)', + 'Data from 0 - 10K (unit short)', + 'Data from 0 - 10K (unit bytes IEC)', + 'Data from 0 - 10K (unit none)', + 'Data from 0 - 10K (unit bytes metric)', + 'Data from 0 - 10K (unit ms)', + 'Data from 0 - 10K (unit short)', + 'Data from 0.0002 - 0.001 (unit short)', + 'Data from 12000 - 30000 (unit ms)', + 'Data from 0 - 1B (unit short)', + 'Data from 0 - 1B (unit bytes)', + 'Data from 12000 - 30000 (unit ms)', + 'Data from 12000 - 30000 (unit ms)', + 'Multi layers', + 'Markers', + '15 orange, 30 red', + '15 orange, 30 red', + '15 orange, 50 red', + 'Color line by discrete tresholds', + 'Color bars by discrete thresholds', + 'Color line by color scale', + 'Color bars by color scale', + 'Color line by color scale', + 'Color line by color scale', + 'Data from 0 - 10K (unit short)', + 'Data from 0 - 10K (unit bytes metric)', + 'Data from 0 - 10K (unit bytes IEC)', + 'Data from 0 - 10K (unit short)', + 'Data from 0.0002 - 0.001 (unit short)', + 'Data from 12000 - 30000 (unit ms)', + 'Data from 0 - 1B (unit short)', + 'Data from 0 - 1B (unit bytes)', + 'Data from 12000 - 30000 (unit ms)', + 'Panel Title $vertical', + 'Data types', + 'cast(null as bigint) as time', + 'cast(null as datetime) as time', + 'localtimestamp as time', + 'NOW() as time', + 'timeGroup macro 5m without fill', + 'timeGroup macro 5m with fill(NULL) and null as zero', + 'timeGroup macro 5m with fill(10.0)', + 'timeGroup macro 5m with fill(previous)', + 'Metrics - timeGroup macro $summarize without fill', + 'Metrics - timeGroup macro $summarize with fill(NULL)', + 'Metrics - timeGroup macro $summarize with fill(100.0)', + 'Metrics - timeGroup macro $summarize with fill(previous)', + 'Multiple series with metric column using timeGroup macro ($summarize)', + 'Multiple series without metric column using timeGroup macro ($summarize)', + 'Multiple series with metric column using unixEpochGroup macro ($summarize)', + 'Multiple series without metric column using timeGroup macro ($summarize)', + 'Multiple series with metric column', + 'Multiple series without metric column', + 'Multiple series with metric column - stacked', + 'Multiple series without metric column - stacked', + 'Multiple series with metric column - stacked percent', + 'Multiple series without metric column - stacked percent', + 'Multiple series with metric column - series mode', + 'Multiple series without metric column - series mode', + 'Multiple series with metric column - histogram', + 'Multiple series without metric column - histogram', + 'Multiple series with metric column - histogram stacked', + 'Multiple series without metric column - histogram stacked', + 'Multiple series with metric column - histogram stacked percent', + 'Multiple series without metric column - histogram stacked percent', + 'Orphan non-repeating panel', + 'Row title $row', + 'Horizontal repeating $horizontal', + 'Non-repeating panel', + 'Vertical repeating $vertical', + '${custom.text}', + 'Panel Title', + '', + 'Gradient mode', + 'Basic', + 'Completion', + '', + '', + 'Millisecond res x-axis and tooltip', + 'Random walk series', + '2 yaxis and axis labels', + 'Stacking value ontop of nulls', + 'Null between points', + 'Legend Table No Scroll Visible', + 'Top 5 servers', + 'Percentiles \u0026 Metric filter', + 'Standard dev', + 'ES Metrics', + 'ES Log query', + 'World map panel', + 'Row title $row', + 'Panel Title $horizontal', + 'Row title $row', + 'Panel Title', + 'Auto sizing \u0026 auto show values', + 'Auto sizing \u0026 auto show values', + 'auto show values \u0026 No room for value', + 'auto show values \u0026 Always show value', + 'Fixed value sizing', + 'Auto sizing \u0026 auto show values', + 'auto show values \u0026 little room', + 'Retro LED mode', + '', + '', + '', + '', + '', + '', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow query', + 'Slow Query (5s)', + 'Slow Query (5s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow query', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Slow Query (2s)', + 'Retro LED mode', + 'No Data Points Warning', + 'Datapoints Outside Range Warning', + 'Random walk series', + 'Millisecond res x-axis and tooltip', + '', + '2 yaxis and axis labels', + '', + 'null value connected', + 'null value null as zero', + '', + 'Stacking value ontop of nulls', + '', + 'Stacking all series null segment', + '', + 'Null between points', + '', + 'Legend Table Single Series Should Take Minimum Height', + 'Legend Table No Scroll Visible', + 'Legend Table Should Scroll', + 'Legend Table No Scroll Visible', + 'Legend Table No Scroll Visible', + 'Raw data', + 'Raw data', + 'Unit and color from data', + 'Min, Max \u0026 Thresholds from data', + 'Raw data', + 'Raw data (Custom mapping)', + 'Min max from data', + 'Custom mapping', + 'Extra string fields to labels', + 'Top 5 servers', + 'Percentiles \u0026 Metric filter', + 'Standard dev', + 'ES Metrics', + 'ES Log query', + 'World map panel', + '', + '', + 'State timeline strings', + '', + 'State timeline with time series + thresholds', + 'Same query/data as above', + '', + 'State timeline with time series + thresholds', + 'Status history - boolean values', + '', + 'Browser market share', + 'Popular JS Frameworks', + '', + '', + 'Interpolation mode: smooth', + 'Interpolation mode: Step before', + 'Interpolation mode: Step after', + '', + 'Auto min max', + 'Hard min 0, max 30', + 'Soft min 0, soft max 30', + 'Panel name with automation', + 'Multiple Y-Axes (more than 2!)', + '', + 'Advanced dashed line settings', + 'Advanced dashed line settings', + 'Bars with hue gradient', + '', + 'Histogram visualization', + 'Histogram transform ', + 'Panel Title $horizontal', + 'Req/s', + 'Req/s', + 'Req/s', + 'Memory', + 'Hue gradient mode', + 'Hue gradient mode', + 'Hue gradient mode', + 'Hue gradient mode (line + opacity)', + 'Hue gradient mode (line + opacity)', + 'Hue gradient mode', + 'Hue gradient mode', + 'Hue gradient mode', + 'Hue gradient mode (line + opacity)', + 'Hue gradient mode (line + opacity)', + 'Hue gradient mode (line + opacity)', + 'Data types', + 'cast(null as unsigned integer) as time', + 'cast(null as datetime) as time', + 'cast()NOW() as datetime) as time', + 'NOW() as time', + 'timeGroup macro 5m without fill', + 'timeGroup macro 5m with fill(NULL) and null as zero', + 'timeGroup macro 5m with fill(10.0)', + 'timeGroup macro 5m with fill(previous)', + 'Metrics - timeGroup macro $summarize without fill', + 'Metrics - timeGroup macro $summarize with fill(NULL)', + 'Metrics - timeGroup macro $summarize with fill(100.0)', + 'Metrics - timeGroup macro $summarize with fill(previous)', + 'Multiple series with metric column using timeGroup macro ($summarize)', + 'Multiple series without metric column using timeGroup macro ($summarize)', + 'Multiple series with metric column using unixEpochGroup macro ($summarize)', + 'Multiple series without metric column using unixEpochGroup macro ($summarize)', + 'Multiple series with metric column', + 'Multiple series without metric column', + 'Multiple series with metric column - stacked', + 'Multiple series without metric column - stacked', + 'Multiple series with metric column - stacked percent', + 'Multiple series without metric column - stacked percent', + 'Multiple series with metric column - series mode', + 'Multiple series without metric column - series mode', + 'Multiple series with metric column - histogram', + 'Multiple series without metric column - histogram', + 'Multiple series with metric column - histogram stacked', + 'Multiple series without metric column - histogram stacked', + 'Multiple series with metric column - histogram stacked percent', + 'Multiple series without metric column - histogram stacked percent', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'flot based heatmap', + 'Panel Title', + 'Panel Title', + '', + 'Panel Title', + 'Panel Title', + '', + '', + 'Panel Title', + 'Panel Title', + 'Cursor info', + 'Only temperature', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Data1', + 'TimeSeries', + 'Graph (old)', + 'TimeSeries (step after)', + 'Graph (old) (staircase)', + 'Panel Title', + 'Panel Title', + 'git the things', + 'Flight ino', + 'just some random heatmap', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + 'Panel Title', + ], + [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Count the number of hosts per micro-service in a specific region.', + '', + 'Find the distribution of GC pauses for the hosts with high memory utilization. In this query, we first find the micro-service with the highest memory used, and then find the top-10 hosts for the micro-service in each silo based on the 95th percentile memory utilization. For these hosts, we report the distribution of gc_pause metric.', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'The region distribution of the service', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Count the number of hosts per micro-service in a specific region.', + '', + 'Find the distribution of GC pauses for the hosts with high memory utilization. In this query, we first find the micro-service with the highest memory used, and then find the top-10 hosts for the micro-service in each silo based on the 95th percentile memory utilization. For these hosts, we report the distribution of gc_pause metric.', + '', + '', + '', + '', + '', + '', + '', + '', + 'The region distribution of the service', + '', + '', + '', + 'Count the number of hosts per micro-service in a specific region.', + '', + 'Find the distribution of GC pauses for the hosts with high memory utilization. In this query, we first find the micro-service with the highest memory used, and then find the top-10 hosts for the micro-service in each silo based on the 95th percentile memory utilization. For these hosts, we report the distribution of gc_pause metric.', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'The region distribution of the service', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'description with automation', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Description!', + '', + 'Map with descriptoin', + 'Map with descriptoin', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Series A automation have no nulls and is not aligned with series B', + '', + '', + 'Series A have no nulls and is not aligned with series B', + 'Should look the same as above\n', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Should show gaps', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'asdasdas', + 'asdasdas', + 'asdasdas', + 'asdasdas', + 'asdasdas', + '', + 'asdasdas', + 'asdasdas', + '', + 'asdasdas', + 'asdasdas', + 'asdasdas', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'should read N/A', + 'should read N/A', + 'should read N/A', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Should be smaller given the longer value', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + ], + [ + 'graph3', + 'table', + 'ryantxu-board-panel', + 'gauge', + 'timeseries', + 'stat', + 'bargauge', + 'stat', + 'gauge', + 'live', + 'gauge', + 'gauge', + 'stat', + 'live', + 'live', + 'bargauge', + 'table', + 'table', + 'gauge', + 'table', + 'live', + 'live', + 'live', + 'text', + 'table', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'stat', + 'gauge', + 'stat', + 'gauge', + 'heatmap', + 'table-old', + 'text', + 'text', + 'graph3', + 'text', + 'graph', + 'graph', + 'graph', + 'table', + 'table', + 'stat', + 'edge-form-panel', + 'table', + 'bargauge', + 'graph3', + 'stat', + 'live', + 'gauge', + 'text', + 'timeseries', + 'ryantxu-ajax-panel', + 'graph', + 'graph3', + 'graph', + 'form', + 'text', + 'form', + 'ryantxu-ajax-panel', + 'graph3', + 'ryantxu-wind-panel', + 'graph3', + 'graph', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'natel-plotly-panel', + 'natel-plotly-panel', + 'natel-plotly-panel', + 'natel-plotly-panel', + 'table', + 'stat', + 'stat', + 'ryantxu-ajax-panel', + 'ryantxu-ajax-panel', + 'ryantxu-ajax-panel', + 'graph', + 'table', + 'edge-form-panel', + 'stat', + 'graph3', + 'graph3', + 'stat', + 'edge-draw-panel', + 'edge-draw-panel', + 'graph3', + 'graph3', + 'edge-draw-panel', + 'graph', + 'edge-draw-panel', + 'natel-discrete-panel', + 'table', + 'timeseries', + 'graph', + 'table', + 'graph3', + 'edge-draw-panel', + 'graph', + 'stat', + 'gauge', + 'bargauge', + 'stat', + 'graph', + 'graph3', + 'graph3', + 'graph', + 'edge-draw-panel', + 'natel-discrete-panel', + 'table', + 'natel-discrete-panel', + 'state-timeline', + 'natel-discrete-panel', + 'natel-discrete-panel', + 'graph', + 'graph', + 'graph', + 'stat', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph3', + 'graph3', + 'graph3', + 'graph', + 'graph', + 'table', + 'graph', + 'graph', + 'table', + 'edge-form-panel', + 'table', + 'table', + 'graph', + 'table', + 'table', + 'rpi-ledstrip-panel', + 'edge-draw2-panel', + 'edge-drag-panel', + 'edge-drag-panel', + 'stat', + 'stat', + 'bargauge', + 'gauge', + 'stat', + 'stat', + 'table', + 'graph', + 'graph', + 'heatmap', + 'table', + 'table', + 'table', + 'table', + 'graph', + 'graph3', + 'graph3', + 'xychart', + 'graph', + 'timeseries', + 'timeseries', + 'graph', + 'barchart', + 'timeseries', + 'table', + 'timeseries', + 'table', + 'table', + 'graph', + 'timeseries', + 'timeseries', + 'timeseries', + 'barchart', + 'table', + 'graph', + 'table', + 'edge-form2-panel', + 'edge-form2-panel', + 'timeseries', + 'stat', + 'barchart', + 'bargauge', + 'timeseries', + 'barchart', + 'timeseries', + 'timeseries', + 'graph', + 'table', + 'timeseries', + 'graph', + 'stat', + 'stat', + 'gauge', + 'bargauge', + 'stat', + 'stat', + 'graph', + 'table', + 'heatmap', + 'graph', + 'table', + 'table', + 'table', + 'table', + 'live', + 'graph', + 'stat', + 'stat', + 'bargauge', + 'gauge', + 'stat', + 'stat', + 'table', + 'graph', + 'graph', + 'heatmap', + 'table', + 'table', + 'table', + 'graph', + 'graph', + 'natel-discrete-panel', + 'timeseries', + 'table', + 'timeseries', + 'ryantxu-board-panel', + 'table', + 'live', + 'stat', + 'timeline', + 'timeseries', + 'timeline', + 'graph', + 'table', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'debug', + 'graph', + 'timeseries', + 'table', + 'edge-alarms-panel', + 'graph', + 'graph', + 'table', + 'table', + 'edge-form2-panel', + 'graph', + 'timeseries', + 'grafana-singlestat-panel', + 'singlestat', + 'table', + 'graph', + 'table', + 'table', + 'row', + 'graph', + 'graph', + 'timeseries', + 'timeseries', + 'graph', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'table', + 'graph', + 'table', + 'edge-draw-panel', + 'edge-draw-panel', + 'piechart', + 'debug', + 'timeseries', + 'table', + 'timeseries', + 'timeseries', + 'timeseries', + 'edge-draw-panel', + 'edge-draw-panel', + 'timeseries', + 'timeseries', + 'graph', + 'text', + 'timeseries', + 'stat', + 'edge-draw-panel', + 'edge-draw-panel', + 'stat', + 'graph', + 'timeseries', + 'debug', + 'timeseries', + 'timeseries', + 'timeseries', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'table', + 'gauge', + 'graph', + 'piechart', + 'piechart', + 'debug', + 'graph', + 'graph', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'timeseries', + 'histogram', + 'graph', + 'graph', + 'graph', + 'timeseries', + 'timeline', + 'timeline', + 'timeline', + 'timeseries', + 'table', + 'timeseries', + 'timeseries', + 'state-timeline', + 'status-grid', + 'timeseries', + 'status-grid', + 'graph', + 'alertlist', + 'timeseries', + 'natel-plotly-panel', + 'edge-alarms-panel', + 'barchart', + 'timeseries', + 'stat', + 'state-timeline', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'graph', + 'histogram', + 'graph', + 'timeseries', + 'timeseries', + 'grafana-singlestat-panel', + 'grafana-singlestat-panel', + 'grafana-singlestat-panel', + 'grafana-singlestat-panel', + 'grafana-singlestat-panel', + 'grafana-singlestat-panel', + 'state-timeline', + 'timeseries', + 'natel-discrete-panel', + 'geomap', + 'geomap', + 'grafana-worldmap-panel', + 'timeseries', + 'stat', + 'barchart', + 'table', + 'timeseries', + 'timeseries', + 'state-timeline', + 'table', + 'geomap', + 'debug', + 'timeseries', + 'grafana-worldmap-panel', + 'geomap', + 'table', + 'grafana-worldmap-panel', + 'timeseries', + 'candlestick', + 'candlestick', + 'timeseries', + 'stat', + 'timeseries', + 'geomap', + 'timeseries', + 'table', + 'timeseries', + 'graph', + 'table', + 'geomap', + 'geomap', + 'geomap', + 'geomap', + 'timeseries', + 'geomap', + 'timeseries', + 'geomap', + 'geomap', + 'graph', + 'timeseries', + 'geomap', + 'timeseries', + 'geomap', + 'geomap', + 'annolist', + 'timeseries', + 'grafana-worldmap-panel', + 'geomap', + 'geomap', + 'geomap', + 'stat', + 'piechart', + 'barchart', + 'geomap', + 'geomap', + 'geomap', + 'geomap', + 'live', + 'live', + 'live', + 'live', + 'geomap', + 'table', + 'stat', + 'stat', + 'stat', + 'geomap', + 'geomap', + 'graph', + 'geomap', + 'timeseries', + 'annolist', + 'timeseries', + 'debug', + 'state-timeline', + 'stat', + 'canvas', + 'geomap', + 'geomap', + 'timeseries', + 'debug', + 'geomap', + 'geomap', + 'xychart', + 'candlestick', + 'canvas', + 'timeseries', + 'state-timeline', + 'graph', + 'debug', + 'dashlist', + 'debug', + 'geomap', + 'debug', + 'dashlist', + 'debug', + 'timeseries', + 'debug', + 'dashlist', + 'debug', + 'debug', + 'timeseries', + 'debug', + 'dashlist', + 'debug', + 'table', + 'timeseries', + 'debug', + 'dashlist', + 'debug', + 'timeseries', + 'edge-draw-panel', + 'canvas', + 'geomap', + 'timeseries', + 'xychart', + 'geomap', + 'timeseries', + 'xychart', + 'grafana-iot-roci-scene-viewer-panel', + 'table', + 'grafana-iot-roci-sitewatch-player-panel', + 'timeseries', + 'debug', + 'geomap', + 'geomap', + 'debug', + 'ryantxu-board-panel', + 'grafana-iot-roci-scene-viewer-panel', + 'debug', + 'grafana-iot-roci-debug-panel', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'debug', + 'grafana-iot-roci-debug-panel', + 'geomap', + 'timeseries', + 'timeseries', + 'grafana-iot-roci-scene-viewer-panel', + 'canvas', + 'timeseries', + 'debug', + 'table', + 'geomap', + 'geomap', + 'live', + 'xychart', + 'debug', + 'xychart', + 'geomap', + '', + 'xychart', + 'xychart', + 'debug', + 'canvas', + 'table', + 'grafana-iot-roci-scene-viewer-panel', + 'table', + 'geomap', + 'geomap', + 'live', + 'timeseries', + 'canvas', + 'timeseries', + 'debug', + 'timeseries', + 'logs', + 'graph', + 'canvas', + 'icon', + 'icon', + 'grafana-iot-roci-scene-viewer-panel', + 'table', + 'table', + 'grafana-iot-roci-scene-viewer-panel', + 'table', + 'grafana-iot-roci-debug-panel', + 'table', + 'canvas', + 'grafana-iot-roci-debug-panel', + 'table', + 'table', + 'table', + 'grafana-iot-roci-debug-panel', + 'table', + 'timeseries', + 'grafana-iot-roci-sceneviewer-panel', + 'table', + 'table', + 'grafana-iot-roci-layout-panel', + 'table', + 'timeseries', + 'grafana-iot-roci-sitewatch-player-panel', + 'state-timeline', + 'timeseries', + 'timeseries', + 'table', + 'table', + 'text', + 'table', + 'geomap', + 'geomap', + 'timeseries', + 'live', + 'timeseries', + 'geomap', + 'timeseries', + 'canvas', + 'timeseries', + 'market-trend', + 'canvas', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'logs', + 'timeseries', + 'graph', + 'graph', + 'table', + 'table', + 'table', + 'grafana-iot-babymaker-layout-panel', + 'text', + 'grafana-iot-roci-sceneviewer-panel', + 'table', + 'table', + 'grafana-iot-roci-layout-panel', + 'market-trend', + 'timeseries', + 'table', + 'canvas', + 'barchart', + 'market-trend', + 'geomap', + 'geomap', + 'timeseries', + 'barchart', + 'candlestick', + 'timeseries', + 'timeseries', + 'geomap', + 'table', + 'state-timeline', + 'grafana-iot-twinmaker-sceneviewer-panel', + 'grafana-iot-twinmaker-sceneviewer-panel', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'table', + 'timeseries', + 'candlestick', + 'canvas', + 'geomap', + 'timeseries', + 'table', + 'table', + 'timeseries', + 'live', + 'dashlist', + 'table', + 'timeseries', + 'geomap', + 'timeseries', + 'geomap', + 'table', + 'heatmap-new', + 'timeseries', + 'heatmap', + 'status-history', + 'state-timeline', + 'barchart', + 'barchart', + 'barchart', + 'barchart', + 'timeseries', + 'timeseries', + 'geomap', + 'geomap', + 'timeseries', + 'table', + 'heatmap', + 'heatmap', + 'heatmap-new', + 'table', + 'table', + 'table', + 'geomap', + 'video', + 'timeseries', + 'timeseries', + 'geomap', + 'geomap', + 'timeseries', + 'geomap', + 'geomap', + 'table', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'row', + 'timeseries', + 'timeseries', + 'table', + 'table', + 'table', + 'table', + 'table', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'text', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'row', + 'timeseries', + 'text', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'timeseries', + 'text', + 'row', + 'timeseries', + 'text', + 'text', + 'singlestat', + 'gauge', + 'bargauge', + 'table', + 'graph', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'graph', + 'graph', + 'alertlist', + 'graph', + 'graph', + 'graph', + 'state-timeline', + 'state-timeline', + 'state-timeline', + 'status-history', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'timeseries', + 'xychart', + 'debug', + 'timeseries', + 'timeseries', + 'timeseries', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'table', + 'graph', + 'graph', + 'text', + 'row', + 'bargauge', + 'bargauge', + 'bargauge', + 'row', + 'gauge', + 'text', + 'row', + 'singlestat', + 'singlestat', + 'singlestat', + 'text', + 'bargauge', + 'graph', + 'row', + 'graph', + 'text', + 'graph', + 'graph', + 'graph', + 'graph', + 'text', + 'singlestat', + 'graph', + 'text', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'graph', + 'graph', + 'graph', + 'table-old', + 'table-old', + 'grafana-worldmap-panel', + 'geomap', + 'geomap', + 'geomap', + 'geomap', + 'graph', + 'graph', + 'graph', + 'table', + 'text', + 'graph', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'graph', + '', + '', + 'graph', + 'graph', + 'graph', + 'table-old', + 'table-old', + 'grafana-worldmap-panel', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'graph', + 'gauge', + 'gauge', + 'bargauge', + 'table', + 'gauge', + 'gauge', + 'gauge', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'grafana-polystat-panel', + 'grafana-polystat-panel', + 'grafana-polystat-panel', + 'row', + 'table', + 'table', + 'table', + 'row', + 'table', + 'table', + 'table', + 'graph', + 'graph', + 'row', + 'timeseries', + 'timeseries', + 'table', + 'table', + 'table', + 'table', + 'barchart', + 'text', + 'text', + 'row', + 'state-timeline', + 'geomap', + 'histogram', + 'logs', + 'dashlist', + 'pluginlist', + 'alertlist', + 'heatmap', + 'bargauge', + 'piechart', + 'gauge', + 'table', + 'annolist', + 'stat', + 'timeseries', + 'barchart', + 'news', + 'graph', + 'logs', + 'graph', + 'graph', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'graph', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'graph', + 'candlestick', + 'candlestick', + 'candlestick', + 'candlestick', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'graph', + 'graph', + 'graph', + 'table-old', + 'table-old', + 'grafana-worldmap-panel', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'histogram', + 'histogram', + 'histogram', + 'histogram', + 'table', + 'table', + 'piechart', + 'piechart', + 'piechart', + 'piechart', + 'piechart', + 'piechart', + 'piechart', + 'state-timeline', + 'state-timeline', + 'status-history', + 'graph', + 'table', + 'graph', + 'singlestat', + 'singlestat', + 'singlestat', + 'gauge', + 'gauge', + 'text2', + 'singlestat', + 'gauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'logs', + 'dashlist', + 'dashlist', + 'dashlist', + 'dashlist', + 'dashlist', + 'dashlist', + 'row', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'row', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'row', + 'gauge', + 'gauge', + 'gauge', + 'gauge', + 'graph', + 'graph', + 'graph', + 'table', + 'row', + 'timeseries', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'text', + 'graph', + 'graph', + 'bargauge', + 'gauge', + 'table', + 'stat', + 'bargauge', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'stat', + 'table', + 'table', + 'table', + 'table', + 'table', + 'graph', + 'logs', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'geomap', + 'geomap', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'table', + 'table', + 'table', + 'table', + 'table', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'timeseries', + 'row', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'stat', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'table-old', + 'table-old', + 'grafana-worldmap-panel', + 'row', + 'timeseries', + 'row', + 'text', + 'barchart', + 'barchart', + 'barchart', + 'barchart', + 'barchart', + 'barchart', + 'barchart', + 'bargauge', + 'singlestat', + 'singlestat', + 'singlestat', + 'singlestat', + 'graph', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'bargauge', + 'graph', + 'graph', + 'graph', + 'graph', + 'text', + 'graph', + 'text', + 'graph', + 'graph', + 'text', + 'graph', + 'text', + 'graph', + 'text', + 'graph', + 'text', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'table', + 'table', + 'stat', + 'gauge', + 'table', + 'table', + 'bargauge', + 'gauge', + 'stat', + 'graph', + 'graph', + 'graph', + 'table-old', + 'table-old', + 'grafana-worldmap-panel', + 'text', + 'text', + 'state-timeline', + 'text', + 'state-timeline', + 'timeseries', + 'text', + 'status-history', + 'status-history', + 'text', + 'barchart', + 'barchart', + 'text', + 'text', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'timeseries', + 'text', + 'timeseries', + 'timeseries', + 'timeseries', + 'text', + 'histogram', + 'table', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'table', + 'table', + 'table', + 'table', + 'table', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'graph', + 'table', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'timeseries', + 'heatmap', + 'heatmap-new', + 'timeseries', + '', + 'timeseries', + 'timeseries', + '', + '', + 'timeseries', + 'video', + 'debug', + 'timeseries', + 'timeseries', + 'timeseries', + 'geomap', + 'geomap', + 'table', + 'timeseries', + 'graph', + 'timeseries', + 'graph', + 'canvas', + 'histogram', + 'text', + 'geomap', + 'heatmap', + 'timeseries', + 'timeseries', + 'icon', + 'geomap', + 'timeseries', + 'geomap', + ], + ], + }, + }, + { + schema: { + name: 'panel-type-counts', + refId: 'A', + fields: [ + { type: 'string', typeInfo: { frame: 'string' } }, + { type: 'number', typeInfo: { frame: 'int64' } }, + ], + }, + data: { + values: [ + [ + 'form', + 'grafana-iot-babymaker-layout-panel', + 'news', + 'natel-plotly-panel', + 'edge-alarms-panel', + 'dashlist', + 'icon', + 'video', + 'rpi-ledstrip-panel', + 'row', + 'grafana-iot-roci-sceneviewer-panel', + 'state-timeline', + 'singlestat', + 'grafana-iot-roci-sitewatch-player-panel', + 'heatmap', + 'natel-discrete-panel', + 'edge-form-panel', + 'xychart', + 'piechart', + 'grafana-iot-twinmaker-sceneviewer-panel', + 'text', + 'table-old', + 'canvas', + '', + 'logs', + 'status-history', + 'timeseries', + 'geomap', + 'grafana-iot-roci-debug-panel', + 'market-trend', + 'ryantxu-ajax-panel', + 'stat', + 'live', + 'barchart', + 'edge-form2-panel', + 'text2', + 'edge-draw2-panel', + 'grafana-singlestat-panel', + 'grafana-worldmap-panel', + 'grafana-iot-roci-scene-viewer-panel', + 'grafana-polystat-panel', + 'table', + 'ryantxu-wind-panel', + 'edge-draw-panel', + 'edge-drag-panel', + 'timeline', + 'alertlist', + 'ryantxu-board-panel', + 'bargauge', + 'graph', + 'debug', + 'candlestick', + 'annolist', + 'graph3', + 'histogram', + 'status-grid', + 'grafana-iot-roci-layout-panel', + 'heatmap-new', + 'gauge', + 'pluginlist', + ], + [ + 2, 1, 1, 5, 2, 13, 3, 2, 1, 39, 2, 18, 30, 2, 10, 7, 3, 9, 12, 2, 47, 11, 13, 6, 6, 5, 313, 69, 5, 3, 5, + 58, 17, 24, 3, 1, 1, 7, 9, 6, 3, 142, 1, 13, 2, 5, 3, 3, 62, 311, 28, 9, 3, 18, 9, 2, 2, 3, 57, 1, + ], + ], + }, + }, + { + schema: { + name: 'schema-version-counts', + refId: 'A', + fields: [ + { type: 'string', typeInfo: { frame: 'string' } }, + { type: 'number', typeInfo: { frame: 'int64' } }, + ], + }, + data: { + values: [ + [ + '29', + '0', + '21', + '30', + '36', + '20', + '34', + '25', + '27', + '26', + '33', + '28', + '35', + '22', + '31', + '32', + '16', + '19', + '18', + ], + [7, 1, 6, 102, 8, 1, 24, 9, 122, 51, 45, 7, 27, 3, 50, 2, 7, 4, 14], + ], + }, + }, + ], + }, + }, +}; diff --git a/public/app/features/search/service/types.ts b/public/app/features/search/service/types.ts new file mode 100644 index 00000000000..25a0ed7999f --- /dev/null +++ b/public/app/features/search/service/types.ts @@ -0,0 +1,24 @@ +import { DataFrame } from '@grafana/data'; + +export interface QueryResult { + kind: string; // panel, dashboard, folder + name: string; + description?: string; + url: string; // link to value (unique) + tags?: string[]; + location?: string; // the folder name + score?: number; +} + +export interface QueryFilters { + kind?: string; // limit to a single type + tags?: string[]; // match all tags +} + +export interface QueryResponse { + body: DataFrame; +} + +export interface GrafanaSearcher { + search: (query: string, filter?: QueryFilters) => Promise; +} diff --git a/yarn.lock b/yarn.lock index cb0cc38abc3..4e336422c9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20947,6 +20947,7 @@ __metadata: lru-cache: 7.5.1 memoize-one: 6.0.0 mini-css-extract-plugin: 2.6.0 + minisearch: 5.0.0-beta1 moment: 2.29.1 moment-timezone: 0.5.34 monaco-editor: ^0.31.1 @@ -26360,6 +26361,13 @@ __metadata: languageName: node linkType: hard +"minisearch@npm:5.0.0-beta1": + version: 5.0.0-beta1 + resolution: "minisearch@npm:5.0.0-beta1" + checksum: 7c5ba8b2d1b52df0724e69183306b4204ae4cdc0102813da7f12a8f90a7b4efe7add4c54814ec1bb63f8bd5be599373af9055e0d68ceeef3d225f0a2c7637699 + languageName: node + linkType: hard + "minizlib@npm:^1.3.3": version: 1.3.3 resolution: "minizlib@npm:1.3.3"