mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
add vmui for vmselect component (#1431)
Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
This commit is contained in:
parent
6f8dd85deb
commit
aa11ef6d3b
16 changed files with 186 additions and 23 deletions
|
@ -8,64 +8,64 @@ run-vmselect:
|
||||||
$(MAKE) run-via-docker
|
$(MAKE) run-via-docker
|
||||||
|
|
||||||
vmselect:
|
vmselect:
|
||||||
APP_NAME=vmselect $(MAKE) app-local
|
APP_NAME=vmselect $(MAKE) vmui app-local
|
||||||
|
|
||||||
vmselect-race:
|
vmselect-race:
|
||||||
APP_NAME=vmselect RACE=-race $(MAKE) app-local
|
APP_NAME=vmselect RACE=-race $(MAKE) vmui app-local
|
||||||
|
|
||||||
vmselect-prod:
|
vmselect-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker
|
||||||
|
|
||||||
vmselect-pure-prod:
|
vmselect-pure-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-pure
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-pure
|
||||||
|
|
||||||
vmselect-amd64-prod:
|
vmselect-amd64-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-amd64
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-amd64
|
||||||
|
|
||||||
vmselect-arm-prod:
|
vmselect-arm-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-arm
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-arm
|
||||||
|
|
||||||
vmselect-arm64-prod:
|
vmselect-arm64-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-arm64
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-arm64
|
||||||
|
|
||||||
vmselect-ppc64le-prod:
|
vmselect-ppc64le-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-ppc64le
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-ppc64le
|
||||||
|
|
||||||
vmselect-386-prod:
|
vmselect-386-prod:
|
||||||
APP_NAME=vmselect $(MAKE) app-via-docker-386
|
APP_NAME=vmselect $(MAKE) vmui app-via-docker-386
|
||||||
|
|
||||||
vmselect-prod-race:
|
vmselect-prod-race:
|
||||||
APP_NAME=vmselect RACE=-race $(MAKE) app-via-docker
|
APP_NAME=vmselect RACE=-race $(MAKE) vmui app-via-docker
|
||||||
|
|
||||||
package-vmselect:
|
package-vmselect:
|
||||||
APP_NAME=vmselect $(MAKE) package-via-docker
|
APP_NAME=vmselect $(MAKE) vmui package-via-docker
|
||||||
|
|
||||||
package-vmselect-race:
|
package-vmselect-race:
|
||||||
APP_NAME=vmselect RACE=-race $(MAKE) package-via-docker
|
APP_NAME=vmselect RACE=-race $(MAKE) vmui package-via-docker
|
||||||
|
|
||||||
publish-vmselect:
|
publish-vmselect:
|
||||||
APP_NAME=vmselect $(MAKE) publish-via-docker
|
APP_NAME=vmselect $(MAKE) vmui publish-via-docker
|
||||||
|
|
||||||
publish-vmselect-race:
|
publish-vmselect-race:
|
||||||
APP_NAME=vmselect RACE=-race $(MAKE) publish-via-docker
|
APP_NAME=vmselect RACE=-race $(MAKE) vmui publish-via-docker
|
||||||
|
|
||||||
vmselect-amd64:
|
vmselect-amd64:
|
||||||
CGO_ENABLED=1 GOARCH=amd64 $(MAKE) vmselect-local-with-goarch
|
CGO_ENABLED=1 GOARCH=amd64 $(MAKE) vmui vmselect-local-with-goarch
|
||||||
|
|
||||||
vmselect-arm:
|
vmselect-arm:
|
||||||
CGO_ENABLED=0 GOARCH=arm $(MAKE) vmselect-local-with-goarch
|
CGO_ENABLED=0 GOARCH=arm $(MAKE) vmui vmselect-local-with-goarch
|
||||||
|
|
||||||
vmselect-arm64:
|
vmselect-arm64:
|
||||||
CGO_ENABLED=0 GOARCH=arm64 $(MAKE) vmselect-local-with-goarch
|
CGO_ENABLED=0 GOARCH=arm64 $(MAKE) vmui vmselect-local-with-goarch
|
||||||
|
|
||||||
vmselect-ppc64le:
|
vmselect-ppc64le:
|
||||||
CGO_ENABLED=0 GOARCH=ppc64le $(MAKE) vmselect-local-with-goarch
|
CGO_ENABLED=0 GOARCH=ppc64le $(MAKE) vmui vmselect-local-with-goarch
|
||||||
|
|
||||||
vmselect-386:
|
vmselect-386:
|
||||||
CGO_ENABLED=0 GOARCH=386 $(MAKE) vmselect-local-with-goarch
|
CGO_ENABLED=0 GOARCH=386 $(MAKE) vmui vmselect-local-with-goarch
|
||||||
|
|
||||||
vmselect-local-with-goarch:
|
vmselect-local-with-goarch:
|
||||||
APP_NAME=vmselect $(MAKE) app-local-with-goarch
|
APP_NAME=vmselect $(MAKE) vmui app-local-with-goarch
|
||||||
|
|
||||||
vmselect-pure:
|
vmselect-pure:
|
||||||
APP_NAME=vmselect $(MAKE) app-local-pure
|
APP_NAME=vmselect $(MAKE) vmui app-local-pure
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"embed"
|
||||||
"errors"
|
"errors"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -29,6 +30,10 @@ import (
|
||||||
"github.com/VictoriaMetrics/metrics"
|
"github.com/VictoriaMetrics/metrics"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// static content
|
||||||
|
//go:embed ui
|
||||||
|
var files embed.FS
|
||||||
|
|
||||||
var (
|
var (
|
||||||
httpListenAddr = flag.String("httpListenAddr", ":8481", "Address to listen for http connections")
|
httpListenAddr = flag.String("httpListenAddr", ":8481", "Address to listen for http connections")
|
||||||
cacheDataPath = flag.String("cacheDataPath", "", "Path to directory for cache files. Cache isn't saved if empty")
|
cacheDataPath = flag.String("cacheDataPath", "", "Path to directory for cache files. Cache isn't saved if empty")
|
||||||
|
@ -136,8 +141,13 @@ func requestHandler(w http.ResponseWriter, r *http.Request) bool {
|
||||||
fmt.Fprintf(w, "vmselect - a component of VictoriaMetrics cluster. See docs at https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html")
|
fmt.Fprintf(w, "vmselect - a component of VictoriaMetrics cluster. See docs at https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
// ui access.
|
||||||
|
if strings.HasPrefix(r.URL.Path, "/ui") {
|
||||||
|
http.FileServer(http.FS(files)).ServeHTTP(w, r)
|
||||||
|
return true
|
||||||
|
}
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
defer requestDuration.UpdateDuration(startTime)
|
defer requestDuration.UpdateDuration(startTime)
|
||||||
// Limit the number of concurrent queries.
|
// Limit the number of concurrent queries.
|
||||||
select {
|
select {
|
||||||
case concurrencyCh <- struct{}{}:
|
case concurrencyCh <- struct{}{}:
|
||||||
|
|
BIN
app/vmselect/ui/apple-touch-icon.png
Normal file
BIN
app/vmselect/ui/apple-touch-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
17
app/vmselect/ui/asset-manifest.json
Normal file
17
app/vmselect/ui/asset-manifest.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"files": {
|
||||||
|
"main.css": "./static/css/main.0ba440d3.chunk.css",
|
||||||
|
"main.js": "./static/js/main.37569ff7.chunk.js",
|
||||||
|
"runtime-main.js": "./static/js/runtime-main.04462c68.js",
|
||||||
|
"static/js/2.644dfc9f.chunk.js": "./static/js/2.644dfc9f.chunk.js",
|
||||||
|
"static/js/3.1aaf74ff.chunk.js": "./static/js/3.1aaf74ff.chunk.js",
|
||||||
|
"index.html": "./index.html",
|
||||||
|
"static/js/2.644dfc9f.chunk.js.LICENSE.txt": "./static/js/2.644dfc9f.chunk.js.LICENSE.txt"
|
||||||
|
},
|
||||||
|
"entrypoints": [
|
||||||
|
"static/js/runtime-main.04462c68.js",
|
||||||
|
"static/js/2.644dfc9f.chunk.js",
|
||||||
|
"static/css/main.0ba440d3.chunk.css",
|
||||||
|
"static/js/main.37569ff7.chunk.js"
|
||||||
|
]
|
||||||
|
}
|
BIN
app/vmselect/ui/favicon-32x32.png
Normal file
BIN
app/vmselect/ui/favicon-32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
1
app/vmselect/ui/index.html
Normal file
1
app/vmselect/ui/index.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="VM-UI is a metric explorer for Victoria Metrics"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="./favicon-32x32.png"><link rel="manifest" href="./manifest.json"/><title>VM UI</title><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"/><link href="./static/css/main.0ba440d3.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,u,a=r[0],c=r[1],f=r[2],s=0,p=[];s<a.length;s++)u=a[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&p.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);p.length;)p.shift()();return i.push.apply(i,f||[]),t()}function t(){for(var e,r=0;r<i.length;r++){for(var t=i[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(i.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={1:0},i=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{3:"1aaf74ff"}[e]+".chunk.js"}(e);var c=new Error;i=function(r){a.onerror=a.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){i({type:"timeout",target:a})}),12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="./",u.oe=function(e){throw console.error(e),e};var a=this["webpackJsonpvictoria-metrics-ui"]=this["webpackJsonpvictoria-metrics-ui"]||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([])</script><script src="./static/js/2.644dfc9f.chunk.js"></script><script src="./static/js/main.37569ff7.chunk.js"></script></body></html>
|
20
app/vmselect/ui/manifest.json
Normal file
20
app/vmselect/ui/manifest.json
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"short_name": "Victoria Metrics UI",
|
||||||
|
"name": "Victoria Metrics UI is a metric explorer for Victoria Metrics",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "favicon-32x32.png",
|
||||||
|
"sizes": "32x32",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "apple-touch-icon.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "192x192"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"theme_color": "#000000",
|
||||||
|
"background_color": "#ffffff"
|
||||||
|
}
|
3
app/vmselect/ui/robots.txt
Normal file
3
app/vmselect/ui/robots.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# https://www.robotstxt.org/robotstxt.html
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
1
app/vmselect/ui/static/css/main.0ba440d3.chunk.css
Normal file
1
app/vmselect/ui/static/css/main.0ba440d3.chunk.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.MuiAccordionSummary-content{margin:10px 0!important}.cm-activeLine{background-color:inherit!important}.cm-wrap{border-radius:4px;border:1px solid #b9b9b9;font-size:10px}.one-line-scroll .cm-wrap{height:24px}.line{fill:none;stroke-width:2}.overlay{fill:none;pointer-events:all}.dot{fill:#621773;stroke:#fff}
|
2
app/vmselect/ui/static/js/2.644dfc9f.chunk.js
Normal file
2
app/vmselect/ui/static/js/2.644dfc9f.chunk.js
Normal file
File diff suppressed because one or more lines are too long
98
app/vmselect/ui/static/js/2.644dfc9f.chunk.js.LICENSE.txt
Normal file
98
app/vmselect/ui/static/js/2.644dfc9f.chunk.js.LICENSE.txt
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
/*
|
||||||
|
object-assign
|
||||||
|
(c) Sindre Sorhus
|
||||||
|
@license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! *****************************************************************************
|
||||||
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
***************************************************************************** */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A better abstraction over CSS.
|
||||||
|
*
|
||||||
|
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
|
||||||
|
* @website https://github.com/cssinjs/jss
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v0.20.1
|
||||||
|
* scheduler.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v16.13.1
|
||||||
|
* react-is.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v17.0.1
|
||||||
|
* react-dom.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v17.0.1
|
||||||
|
* react-jsx-runtime.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @license React v17.0.1
|
||||||
|
* react.production.min.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**!
|
||||||
|
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||||
|
* @version 1.16.1-lts
|
||||||
|
* @license
|
||||||
|
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
* SOFTWARE.
|
||||||
|
*/
|
1
app/vmselect/ui/static/js/3.1aaf74ff.chunk.js
Normal file
1
app/vmselect/ui/static/js/3.1aaf74ff.chunk.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
(this["webpackJsonpvictoria-metrics-ui"]=this["webpackJsonpvictoria-metrics-ui"]||[]).push([[3],{430:function(t,n,e){"use strict";e.r(n),e.d(n,"getCLS",(function(){return l})),e.d(n,"getFCP",(function(){return g})),e.d(n,"getFID",(function(){return h})),e.d(n,"getLCP",(function(){return y})),e.d(n,"getTTFB",(function(){return F}));var i,a,r=function(){return"".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)},o=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:r(),isFinal:!1}},u=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},c=!1,s=!1,d=function(t){c=!t.persisted},f=function(){addEventListener("pagehide",d),addEventListener("beforeunload",(function(){}))},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s||(f(),s=!0),addEventListener("visibilitychange",(function(n){var e=n.timeStamp;"hidden"===document.visibilityState&&t({timeStamp:e,isUnloading:c})}),{capture:!0,once:n})},v=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||"hidden"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},l=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=o("CLS",0),a=function(t){t.hadRecentInput||(i.value+=t.value,i.entries.push(t),n())},r=u("layout-shift",a);r&&(n=v(t,i,r,e),p((function(t){var e=t.isUnloading;r.takeRecords().map(a),e&&(i.isFinal=!0),n()})))},m=function(){return void 0===i&&(i="hidden"===document.visibilityState?0:1/0,p((function(t){var n=t.timeStamp;return i=n}),!0)),{get timeStamp(){return i}}},g=function(t){var n,e=o("FCP"),i=m(),a=u("paint",(function(t){"first-contentful-paint"===t.name&&t.startTime<i.timeStamp&&(e.value=t.startTime,e.isFinal=!0,e.entries.push(t),n())}));a&&(n=v(t,e,a))},h=function(t){var n=o("FID"),e=m(),i=function(t){t.startTime<e.timeStamp&&(n.value=t.processingStart-t.startTime,n.entries.push(t),n.isFinal=!0,r())},a=u("first-input",i),r=v(t,n,a);a?p((function(){a.takeRecords().map(i),a.disconnect()}),!0):window.perfMetrics&&window.perfMetrics.onFirstInputDelay&&window.perfMetrics.onFirstInputDelay((function(t,i){i.timeStamp<e.timeStamp&&(n.value=t,n.isFinal=!0,n.entries=[{entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+t}],r())}))},S=function(){return a||(a=new Promise((function(t){return["scroll","keydown","pointerdown"].map((function(n){addEventListener(n,t,{once:!0,passive:!0,capture:!0})}))}))),a},y=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=o("LCP"),a=m(),r=function(t){var e=t.startTime;e<a.timeStamp?(i.value=e,i.entries.push(t)):i.isFinal=!0,n()},c=u("largest-contentful-paint",r);if(c){n=v(t,i,c,e);var s=function(){i.isFinal||(c.takeRecords().map(r),i.isFinal=!0,n())};S().then(s),p(s,!0)}},F=function(t){var n,e=o("TTFB");n=function(){try{var n=performance.getEntriesByType("navigation")[0]||function(){var t=performance.timing,n={entryType:"navigation",startTime:0};for(var e in t)"navigationStart"!==e&&"toJSON"!==e&&(n[e]=Math.max(t[e]-t.navigationStart,0));return n}();e.value=e.delta=n.responseStart,e.entries=[n],e.isFinal=!0,t(e)}catch(t){}},"complete"===document.readyState?setTimeout(n,0):addEventListener("pageshow",n)}}}]);
|
1
app/vmselect/ui/static/js/main.37569ff7.chunk.js
Normal file
1
app/vmselect/ui/static/js/main.37569ff7.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
app/vmselect/ui/static/js/runtime-main.04462c68.js
Normal file
1
app/vmselect/ui/static/js/runtime-main.04462c68.js
Normal file
|
@ -0,0 +1 @@
|
||||||
|
!function(e){function r(r){for(var n,u,a=r[0],c=r[1],f=r[2],s=0,p=[];s<a.length;s++)u=a[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&p.push(o[u][0]),o[u]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);p.length;)p.shift()();return i.push.apply(i,f||[]),t()}function t(){for(var e,r=0;r<i.length;r++){for(var t=i[r],n=!0,a=1;a<t.length;a++){var c=t[a];0!==o[c]&&(n=!1)}n&&(i.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={1:0},i=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var i,a=document.createElement("script");a.charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{3:"1aaf74ff"}[e]+".chunk.js"}(e);var c=new Error;i=function(r){a.onerror=a.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){i({type:"timeout",target:a})}),12e4);a.onerror=a.onload=i,document.head.appendChild(a)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="./",u.oe=function(e){throw console.error(e),e};var a=this["webpackJsonpvictoria-metrics-ui"]=this["webpackJsonpvictoria-metrics-ui"]||[],c=a.push.bind(a);a.push=r,a=a.slice();for(var f=0;f<a.length;f++)r(a[f]);var l=c;t()}([]);
|
|
@ -7,6 +7,14 @@ CERTS_IMAGE := alpine:3.14.0
|
||||||
GO_BUILDER_IMAGE := golang:1.16.5
|
GO_BUILDER_IMAGE := golang:1.16.5
|
||||||
BUILDER_IMAGE := local/builder:2.0.0-$(shell echo $(GO_BUILDER_IMAGE) | tr : _)
|
BUILDER_IMAGE := local/builder:2.0.0-$(shell echo $(GO_BUILDER_IMAGE) | tr : _)
|
||||||
BASE_IMAGE := local/base:1.1.3-$(shell echo $(ROOT_IMAGE) | tr : _)-$(shell echo $(CERTS_IMAGE) | tr : _)
|
BASE_IMAGE := local/base:1.1.3-$(shell echo $(ROOT_IMAGE) | tr : _)-$(shell echo $(CERTS_IMAGE) | tr : _)
|
||||||
|
VMUI_VERSION=v0.1.0
|
||||||
|
VMUI_RELEASE=https://github.com/VictoriaMetrics/vmui/releases
|
||||||
|
|
||||||
|
vmui:
|
||||||
|
cd app/vmselect/ui && \
|
||||||
|
wget ${VMUI_RELEASE}/download/${VMUI_VERSION}/static.zip \
|
||||||
|
-O /tmp/static.zip; unzip /tmp/static.zip -d /tmp; \
|
||||||
|
rm -rf ./*; mv /tmp/build/* ./
|
||||||
|
|
||||||
package-base:
|
package-base:
|
||||||
(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(BASE_IMAGE)$$') \
|
(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(BASE_IMAGE)$$') \
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -45,4 +45,4 @@ require (
|
||||||
gopkg.in/yaml.v2 v2.4.0
|
gopkg.in/yaml.v2 v2.4.0
|
||||||
)
|
)
|
||||||
|
|
||||||
go 1.14
|
go 1.16
|
||||||
|
|
Loading…
Reference in a new issue