Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doujutun3207
flink
提交
907f773c
F
flink
项目概览
doujutun3207
/
flink
与 Fork 源项目一致
从无法访问的项目Fork
通知
24
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flink
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
907f773c
编写于
8月 21, 2015
作者:
P
Piotr Godek
提交者:
Stephan Ewen
9月 17, 2015
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[FLINK-2357] [web dashboard] Auto-update overview page
上级
b26ce5a3
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
150 addition
and
136 deletion
+150
-136
flink-runtime-web/README.md
flink-runtime-web/README.md
+1
-1
flink-runtime-web/web-dashboard/app/partials/jobs/completed-jobs.jade
...e-web/web-dashboard/app/partials/jobs/completed-jobs.jade
+1
-1
flink-runtime-web/web-dashboard/app/partials/jobs/job.jade
flink-runtime-web/web-dashboard/app/partials/jobs/job.jade
+5
-4
flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node.jade
...me-web/web-dashboard/app/partials/jobs/job.plan.node.jade
+2
-2
flink-runtime-web/web-dashboard/app/partials/jobs/running-jobs.jade
...ime-web/web-dashboard/app/partials/jobs/running-jobs.jade
+4
-4
flink-runtime-web/web-dashboard/app/partials/overview.jade
flink-runtime-web/web-dashboard/app/partials/overview.jade
+5
-5
flink-runtime-web/web-dashboard/app/scripts/common/services.coffee
...time-web/web-dashboard/app/scripts/common/services.coffee
+1
-1
flink-runtime-web/web-dashboard/app/scripts/index.coffee
flink-runtime-web/web-dashboard/app/scripts/index.coffee
+0
-2
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee
...b/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee
+1
-1
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.dir.coffee
...eb/web-dashboard/app/scripts/modules/jobs/jobs.dir.coffee
+15
-22
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.svc.coffee
...eb/web-dashboard/app/scripts/modules/jobs/jobs.svc.coffee
+37
-32
flink-runtime-web/web-dashboard/app/scripts/modules/overview/overview.ctrl.coffee
...shboard/app/scripts/modules/overview/overview.ctrl.coffee
+9
-1
flink-runtime-web/web-dashboard/web/js/index.js
flink-runtime-web/web-dashboard/web/js/index.js
+61
-42
flink-runtime-web/web-dashboard/web/partials/jobs/completed-jobs.html
...e-web/web-dashboard/web/partials/jobs/completed-jobs.html
+1
-1
flink-runtime-web/web-dashboard/web/partials/jobs/job.html
flink-runtime-web/web-dashboard/web/partials/jobs/job.html
+4
-6
flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.html
...me-web/web-dashboard/web/partials/jobs/job.plan.node.html
+2
-2
flink-runtime-web/web-dashboard/web/partials/jobs/running-jobs.html
...ime-web/web-dashboard/web/partials/jobs/running-jobs.html
+0
-4
flink-runtime-web/web-dashboard/web/partials/overview.html
flink-runtime-web/web-dashboard/web/partials/overview.html
+1
-5
未找到文件。
flink-runtime-web/README.md
浏览文件 @
907f773c
...
...
@@ -113,7 +113,7 @@ mvn -DskipTests clean package
To simplify continuous development, one can use a
*standalone proxy server*
, together with automatic
re-compilation:
1.
Edit the file
`app/scripts/index.coffee`
. Comment/uncomment the lines that define the
`webServer`
,
`jobServer`
, and
`new
Server`
URLs.
1.
Edit the file
`app/scripts/index.coffee`
. Comment/uncomment the lines that define the
`webServer`
,
and
`job
Server`
URLs.
2.
Re-compile the files via
`gulp`
. By calling
`gulp watch`
, the build-tool autocompiles future changes.
3.
Start the proxy server via
`node server.js`
4.
Access the dashboard at
[
`http://localhost:3000`
](
http://localhost:3000
)
...
...
flink-runtime-web/web-dashboard/app/partials/jobs/completed-jobs.jade
浏览文件 @
907f773c
...
...
@@ -38,7 +38,7 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
tr(ng-repeat="job in jobs" ui-sref="single-job.plan({ jobid: job.jid })")
td {{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job
['end-time'] - job['start-time']
}} ms
td {{job
.duration
}} ms
td {{job.name}}
td {{job.jid}}
td.label-group
...
...
flink-runtime-web/web-dashboard/app/partials/jobs/job.jade
浏览文件 @
907f773c
...
...
@@ -32,11 +32,12 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main(ng-if="job")
.navbar-info.first.last.hidden-xs.hidden-sm
| {{ job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
| -
| {{ job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
span(ng-if="job['end-time'] > -1")
| -
| {{ job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
.navbar-info.last.first
| {{job
['end-time'] - job['start-time']
}} ms
.navbar-info.last.first
(ng-if="job.duration > -1")
| {{job
.duration
}} ms
nav.navbar.navbar-default.navbar-fixed-top.navbar-main-additional(ng-if="job")
ul.nav.nav-tabs
...
...
flink-runtime-web/web-dashboard/app/partials/jobs/job.plan.node.jade
浏览文件 @
907f773c
...
...
@@ -25,7 +25,7 @@
.panel-info(ng-if="node.description")
.label-group
bs-label(status="{{status}}" ng-repeat="(index, status) in stateList") {{node.vertex.
groupvertex
[status]}}
bs-label(status="{{status}}" ng-repeat="(index, status) in stateList") {{node.vertex.
tasks
[status]}}
.panel-heading.clearfix
.panel-info.first.last(ng-if="node.description")
...
...
@@ -40,7 +40,7 @@
tbody
tr(ng-repeat="vertex in node.vertex.groupvertex.groupmembers")
td {{ vertex.
vertex
name | humanizeTaskName }}
td {{ vertex.name | humanizeTaskName }}
td
bs-label(status="{{vertex.vertexstatus}}") {{vertex.vertexstatus}}
...
...
flink-runtime-web/web-dashboard/app/partials/jobs/running-jobs.jade
浏览文件 @
907f773c
...
...
@@ -27,8 +27,8 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
thead
tr
th Start Time
th End Time
th Duration
//-
th End Time
//-
th Duration
th Job Name
th Job ID
th Tasks
...
...
@@ -37,8 +37,8 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
tbody
tr(ng-repeat="job in jobs" ui-sref="single-job.plan({ jobid: job.jid })")
td {{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job['end-time'] - job['start-time']
}} ms
//-
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
//- td {{job.duration
}} ms
td {{job.name}}
td {{job.jid}}
td.label-group
...
...
flink-runtime-web/web-dashboard/app/partials/overview.jade
浏览文件 @
907f773c
...
...
@@ -87,8 +87,8 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
thead
tr
th Start Time
th End Time
th Duration
//-
th End Time
//-
th Duration
th Job Name
th Job ID
th Tasks
...
...
@@ -97,8 +97,8 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
tbody
tr(ng-repeat="job in runningJobs" ui-sref="single-job.plan({ jobid: job.jid })")
td {{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job.duration}}
//-
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
//- td {{job.duration}} ms
td {{job.name}}
td {{job.jid}}
td.label-group
...
...
@@ -126,7 +126,7 @@ nav.navbar.navbar-default.navbar-fixed-top.navbar-main
tr(ng-repeat="job in finishedJobs" ui-sref="single-job.plan({ jobid: job.jid })")
td {{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
td {{job
['end-time'] - job['start-time']
}} ms
td {{job
.duration
}} ms
td {{job.name}}
td {{job.jid}}
td.label-group
...
...
flink-runtime-web/web-dashboard/app/scripts/common/services.coffee
浏览文件 @
907f773c
...
...
@@ -24,7 +24,7 @@ angular.module('flinkApp')
@
loadConfig
=
->
deferred
=
$q
.
defer
()
$http
.
get
flinkConfig
.
new
Server
+
"/config"
$http
.
get
flinkConfig
.
job
Server
+
"/config"
.
success
(
data
,
status
,
headers
,
config
)
->
deferred
.
resolve
(
data
)
...
...
flink-runtime-web/web-dashboard/app/scripts/index.coffee
浏览文件 @
907f773c
...
...
@@ -30,9 +30,7 @@ angular.module('flinkApp', ['ui.router', 'angularMoment'])
.
value
'flinkConfig'
,
{
jobServer
:
'http://localhost:8081'
newServer
:
'http://localhost:8081'
# jobServer: 'http://localhost:3000/new-server'
# newServer: 'http://localhost:3000/new-server'
"refresh-interval"
:
10000
}
...
...
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.ctrl.coffee
浏览文件 @
907f773c
...
...
@@ -70,5 +70,5 @@ angular.module('flinkApp')
# --------------------------------------
.
controller
'JobTimelineVertexController'
,
(
$scope
,
$state
,
$stateParams
,
JobsService
)
->
JobsService
.
getVertex
(
$stateParams
.
jobid
,
$stateParams
.
vertexId
).
then
(
data
)
->
JobsService
.
getVertex
(
$stateParams
.
vertexId
).
then
(
data
)
->
$scope
.
vertex
=
data
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.dir.coffee
浏览文件 @
907f773c
...
...
@@ -35,34 +35,32 @@ angular.module('flinkApp')
analyzeTime
=
(
data
)
->
testData
=
[]
angular
.
forEach
data
.
groupvertex
.
groupmembers
,
(
vertex
,
i
)
->
vTime
=
data
.
verticetimes
[
vertex
.
vertexid
]
angular
.
forEach
data
.
subtasks
,
(
subtask
,
i
)
->
testData
.
push
{
label
:
"
#{
vertex
.
vertexinstancename
}
(
#{
i
}
)"
label
:
"
#{
subtask
.
host
}
(
#{
subtask
.
subtask
}
)"
times
:
[
{
label
:
"Scheduled"
color
:
"#666"
borderColor
:
"#555"
starting_time
:
vTime
[
"SCHEDULED"
]
*
100
ending_time
:
vTime
[
"DEPLOYING"
]
*
100
starting_time
:
subtask
.
timestamps
[
"SCHEDULED"
]
ending_time
:
subtask
.
timestamps
[
"DEPLOYING"
]
type
:
'regular'
}
{
label
:
"Deploying"
color
:
"#aaa"
borderColor
:
"#555"
starting_time
:
vTime
[
"DEPLOYING"
]
*
100
ending_time
:
vTime
[
"RUNNING"
]
*
100
starting_time
:
subtask
.
timestamps
[
"DEPLOYING"
]
ending_time
:
subtask
.
timestamps
[
"RUNNING"
]
type
:
'regular'
}
{
label
:
"Running"
color
:
"#ddd"
borderColor
:
"#555"
starting_time
:
vTime
[
"RUNNING"
]
*
100
ending_time
:
vTime
[
"FINISHED"
]
*
100
starting_time
:
subtask
.
timestamps
[
"RUNNING"
]
ending_time
:
subtask
.
timestamps
[
"FINISHED"
]
type
:
'regular'
}
]
...
...
@@ -115,26 +113,21 @@ angular.module('flinkApp')
label
:
"Scheduled"
color
:
"#cccccc"
borderColor
:
"#555"
starting_time
:
data
.
oldV
[
"SCHEDULED"
]
ending_time
:
data
.
oldV
[
"SCHEDULED"
]
+
1
# link: vertex.groupvertexid
starting_time
:
data
.
timestamps
[
"CREATED"
]
ending_time
:
data
.
timestamps
[
"CREATED"
]
+
1
type
:
'scheduled'
]
angular
.
forEach
data
.
oldV
.
groupvertices
,
(
vertex
)
->
vTime
=
data
.
oldV
.
groupverticetimes
[
vertex
.
groupvertexid
]
# console.log vTime, vertex.groupvertexid
angular
.
forEach
data
.
vertices
,
(
vertex
)
->
testData
.
push
times
:
[
label
:
translateLabel
(
vertex
.
groupvertex
name
)
label
:
translateLabel
(
vertex
.
name
)
color
:
"#d9f1f7"
borderColor
:
"#62cdea"
starting_time
:
v
Time
[
"STARTED"
]
ending_time
:
v
Time
[
"ENDED"
]
link
:
vertex
.
groupvertex
id
starting_time
:
v
ertex
[
'start-time'
]
ending_time
:
v
ertex
[
'end-time'
]
link
:
vertex
.
id
type
:
'regular'
]
...
...
flink-runtime-web/web-dashboard/app/scripts/modules/jobs/jobs.svc.coffee
浏览文件 @
907f773c
...
...
@@ -69,7 +69,7 @@ angular.module('flinkApp')
@
listJobs
=
->
deferred
=
$q
.
defer
()
$http
.
get
flinkConfig
.
new
Server
+
"/joboverview"
$http
.
get
flinkConfig
.
job
Server
+
"/joboverview"
.
success
(
data
,
status
,
headers
,
config
)
->
angular
.
forEach
data
,
(
list
,
listKey
)
->
...
...
@@ -80,11 +80,6 @@ angular.module('flinkApp')
when
'cancelled'
then
jobs
.
cancelled
=
list
when
'failed'
then
jobs
.
failed
=
list
# angular.forEach list, (jobid, index) ->
# $http.get flinkConfig.newServer + "/jobs/" + jobid
# .success (details) ->
# list[index] = details
deferred
.
resolve
(
jobs
)
notifyObservers
()
...
...
@@ -100,23 +95,28 @@ angular.module('flinkApp')
currentJob
=
null
deferreds
.
job
=
$q
.
defer
()
$http
.
get
flinkConfig
.
new
Server
+
"/jobs/"
+
jobid
$http
.
get
flinkConfig
.
job
Server
+
"/jobs/"
+
jobid
.
success
(
data
,
status
,
headers
,
config
)
->
data
.
time
=
Date
.
now
()
#
data.time = Date.now()
$http
.
get
flinkConfig
.
new
Server
+
"/jobs/"
+
jobid
+
"/vertices"
$http
.
get
flinkConfig
.
job
Server
+
"/jobs/"
+
jobid
+
"/vertices"
.
success
(
vertices
)
->
data
=
angular
.
extend
(
data
,
vertices
)
$http
.
get
flinkConfig
.
jobServer
+
"/jobsInfo?get=job&job="
+
jobid
.
success
(
oldVertices
)
->
data
.
oldV
=
oldVertices
[
0
]
# $http.get flinkConfig.jobServer + "/jobsInfo?get=job&job=" + jobid
# .success (oldVertices) ->
# data.oldV = oldVertices[0]
$http
.
get
flinkConfig
.
jobServer
+
"/jobs/"
+
jobid
+
"/config"
.
success
(
jobConfig
)
->
data
=
angular
.
extend
(
data
,
jobConfig
)
$http
.
get
flinkConfig
.
jobServer
+
"/jobs/"
+
jobid
+
"/
config
"
.
success
(
jobConfig
)
->
data
=
angular
.
extend
(
data
,
jobConfig
)
$http
.
get
flinkConfig
.
jobServer
+
"/jobs/"
+
jobid
+
"/
exceptions
"
.
success
(
exceptions
)
->
data
.
exceptions
=
exceptions
currentJob
=
data
deferreds
.
job
.
resolve
(
data
)
deferreds
.
job
.
promise
...
...
@@ -125,7 +125,7 @@ angular.module('flinkApp')
currentPlan
=
null
deferreds
.
plan
=
$q
.
defer
()
$http
.
get
flinkConfig
.
new
Server
+
"/jobs/"
+
jobid
+
"/plan"
$http
.
get
flinkConfig
.
job
Server
+
"/jobs/"
+
jobid
+
"/plan"
.
success
(
data
)
->
currentPlan
=
data
...
...
@@ -142,33 +142,38 @@ angular.module('flinkApp')
null
deferred
=
$q
.
defer
()
# if currentPlan
# deferred.resolve(seekNode(nodeid, currentPlan.nodes))
# else
# # deferreds.plan.promise.then (data) ->
# $q.all([deferreds.plan.promise, deferreds.job.promise]).then (data) ->
# console.log 'resolving getNode'
# deferred.resolve(seekNode(nodeid, currentPlan.nodes))
deferred
=
$q
.
defer
()
$q
.
all
([
deferreds
.
plan
.
promise
,
deferreds
.
job
.
promise
]).
then
(
data
)
=>
foundNode
=
seekNode
(
nodeid
,
currentPlan
.
nodes
)
# @getVertex(currentJob.jid, currentJob.oldV.groupvertices[0].groupvertexid).then (vertex) ->
@
getVertex
(
currentJob
.
jid
,
nodeid
).
then
(
vertex
)
->
foundNode
.
vertex
=
vertex
deferred
.
resolve
(
foundNode
)
# $http.get flinkConfig.jobServer + "/jobsInfo?get=groupvertex&job=" + currentJob.jid + "&groupvertex=" + nodeid
foundNode
.
vertex
=
@
seekVertex
(
nodeid
)
deferred
.
resolve
(
foundNode
)
deferred
.
promise
@
seekVertex
=
(
nodeid
)
->
for
vertex
in
currentJob
.
vertices
return
vertex
if
vertex
.
id
is
nodeid
return
null
@
getVertex
=
(
jobId
,
vertexI
d
)
->
@
getVertex
=
(
vertexi
d
)
->
deferred
=
$q
.
defer
()
$http
.
get
flinkConfig
.
jobServer
+
"/jobsInfo?get=groupvertex&job="
+
jobId
+
"&groupvertex="
+
vertexId
.
success
(
data
)
->
deferred
.
resolve
(
data
)
$q
.
all
([
deferreds
.
job
.
promise
]).
then
(
data
)
=>
vertex
=
@
seekVertex
(
vertexid
)
$http
.
get
flinkConfig
.
jobServer
+
"/jobs/"
+
currentJob
.
jid
+
"/vertices/"
+
vertexid
+
"/subtasktimes"
.
success
(
data
)
->
vertex
.
subtasks
=
data
.
subtasks
deferred
.
resolve
(
vertex
)
deferred
.
promise
...
...
flink-runtime-web/web-dashboard/app/scripts/modules/overview/overview.ctrl.coffee
浏览文件 @
907f773c
...
...
@@ -18,7 +18,7 @@
angular
.
module
(
'flinkApp'
)
.
controller
'OverviewController'
,
(
$scope
,
OverviewService
,
JobsService
)
->
.
controller
'OverviewController'
,
(
$scope
,
OverviewService
,
JobsService
,
$interval
,
flinkConfig
)
->
$scope
.
jobObserver
=
->
$scope
.
runningJobs
=
JobsService
.
getJobs
(
'running'
)
$scope
.
finishedJobs
=
JobsService
.
getJobs
(
'finished'
)
...
...
@@ -31,3 +31,11 @@ angular.module('flinkApp')
OverviewService
.
loadOverview
().
then
(
data
)
->
$scope
.
overview
=
data
refresh
=
$interval
->
OverviewService
.
loadOverview
().
then
(
data
)
->
$scope
.
overview
=
data
,
flinkConfig
[
"refresh-interval"
]
$scope
.
$on
'$destroy'
,
->
$interval
.
cancel
(
refresh
)
flink-runtime-web/web-dashboard/web/js/index.js
浏览文件 @
907f773c
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
flink-runtime-web/web-dashboard/web/partials/jobs/completed-jobs.html
浏览文件 @
907f773c
...
...
@@ -38,7 +38,7 @@ limitations under the License.
<tr
ng-repeat=
"job in jobs"
ui-sref=
"single-job.plan({ jobid: job.jid })"
>
<td>
{{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job
['end-time'] - job['start-time']
}} ms
</td>
<td>
{{job
.duration
}} ms
</td>
<td>
{{job.name}}
</td>
<td>
{{job.jid}}
</td>
<td
class=
"label-group"
>
...
...
flink-runtime-web/web-dashboard/web/partials/jobs/job.html
浏览文件 @
907f773c
...
...
@@ -28,12 +28,10 @@ limitations under the License.
<bs-label
status=
"{{status}}"
ng-repeat=
"(status, value) in job.tasks"
>
{{value}}
</bs-label>
</div>
</div>
<div
class=
"navbar-info first last hidden-xs hidden-sm"
>
{{ job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
-
{{ job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
</div>
<div
class=
"navbar-info last first"
>
{{job['end-time'] - job['start-time']}} ms
</div>
<div
class=
"navbar-info first last hidden-xs hidden-sm"
>
{{ job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
<span
ng-if=
"job['end-time'] > -1"
>
-
{{ job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss' }}
</span></div>
<div
ng-if=
"job.duration > -1"
class=
"navbar-info last first"
>
{{job.duration}} ms
</div>
</nav>
<nav
ng-if=
"job"
class=
"navbar navbar-default navbar-fixed-top navbar-main-additional"
>
<ul
class=
"nav nav-tabs"
>
...
...
flink-runtime-web/web-dashboard/web/partials/jobs/job.plan.node.html
浏览文件 @
907f773c
...
...
@@ -23,7 +23,7 @@ limitations under the License.
<div
class=
"panel-info first"
>
ID: {{ node.id }}
</div>
<div
ng-if=
"node.description"
class=
"panel-info"
>
<div
class=
"label-group"
>
<bs-label
status=
"{{status}}"
ng-repeat=
"(index, status) in stateList"
>
{{node.vertex.
groupvertex
[status]}}
</bs-label>
<bs-label
status=
"{{status}}"
ng-repeat=
"(index, status) in stateList"
>
{{node.vertex.
tasks
[status]}}
</bs-label>
</div>
</div>
</div>
...
...
@@ -40,7 +40,7 @@ limitations under the License.
</thead>
<tbody>
<tr
ng-repeat=
"vertex in node.vertex.groupvertex.groupmembers"
>
<td>
{{ vertex.
vertex
name | humanizeTaskName }}
</td>
<td>
{{ vertex.name | humanizeTaskName }}
</td>
<td>
<bs-label
status=
"{{vertex.vertexstatus}}"
>
{{vertex.vertexstatus}}
</bs-label>
</td>
...
...
flink-runtime-web/web-dashboard/web/partials/jobs/running-jobs.html
浏览文件 @
907f773c
...
...
@@ -26,8 +26,6 @@ limitations under the License.
<thead>
<tr>
<th>
Start Time
</th>
<th>
End Time
</th>
<th>
Duration
</th>
<th>
Job Name
</th>
<th>
Job ID
</th>
<th>
Tasks
</th>
...
...
@@ -37,8 +35,6 @@ limitations under the License.
<tbody>
<tr
ng-repeat=
"job in jobs"
ui-sref=
"single-job.plan({ jobid: job.jid })"
>
<td>
{{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job['end-time'] - job['start-time']}} ms
</td>
<td>
{{job.name}}
</td>
<td>
{{job.jid}}
</td>
<td
class=
"label-group"
>
...
...
flink-runtime-web/web-dashboard/web/partials/overview.html
浏览文件 @
907f773c
...
...
@@ -83,8 +83,6 @@ limitations under the License.
<thead>
<tr>
<th>
Start Time
</th>
<th>
End Time
</th>
<th>
Duration
</th>
<th>
Job Name
</th>
<th>
Job ID
</th>
<th>
Tasks
</th>
...
...
@@ -94,8 +92,6 @@ limitations under the License.
<tbody>
<tr
ng-repeat=
"job in runningJobs"
ui-sref=
"single-job.plan({ jobid: job.jid })"
>
<td>
{{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job.duration}}
</td>
<td>
{{job.name}}
</td>
<td>
{{job.jid}}
</td>
<td
class=
"label-group"
>
...
...
@@ -130,7 +126,7 @@ limitations under the License.
<tr
ng-repeat=
"job in finishedJobs"
ui-sref=
"single-job.plan({ jobid: job.jid })"
>
<td>
{{job['start-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job['end-time'] | amDateFormat:'YYYY-MM-DD, H:mm:ss'}}
</td>
<td>
{{job
['end-time'] - job['start-time']
}} ms
</td>
<td>
{{job
.duration
}} ms
</td>
<td>
{{job.name}}
</td>
<td>
{{job.jid}}
</td>
<td
class=
"label-group"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录