Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
spring-boot-admin
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
openSource
spring-boot-admin
Commits
27325103
Commit
27325103
authored
Apr 12, 2015
by
Johannes Stelzer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Redesgin layout in view to save some space.
Use tabs for idents, small lint fixes
parent
a53ba390
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
177 additions
and
205 deletions
+177
-205
main.css
spring-boot-admin-server-ui/app/css/main.css
+6
-25
index.html
spring-boot-admin-server-ui/app/index.html
+0
-2
app.js
spring-boot-admin-server-ui/app/js/app.js
+1
-1
about.html
spring-boot-admin-server-ui/app/views/about.html
+7
-8
apps.html
spring-boot-admin-server-ui/app/views/apps.html
+11
-16
details.html
spring-boot-admin-server-ui/app/views/apps/details.html
+0
-0
classpath.html
...oot-admin-server-ui/app/views/apps/details/classpath.html
+3
-3
env.html
spring-boot-admin-server-ui/app/views/apps/details/env.html
+2
-2
metrics.html
...-boot-admin-server-ui/app/views/apps/details/metrics.html
+9
-9
props.html
...ng-boot-admin-server-ui/app/views/apps/details/props.html
+2
-2
jmx.html
spring-boot-admin-server-ui/app/views/apps/jmx.html
+41
-41
logging.html
spring-boot-admin-server-ui/app/views/apps/logging.html
+11
-12
threads.html
spring-boot-admin-server-ui/app/views/apps/threads.html
+10
-10
trace.html
spring-boot-admin-server-ui/app/views/apps/trace.html
+24
-24
overview.html
spring-boot-admin-server-ui/app/views/overview.html
+45
-43
gulpfile.js
spring-boot-admin-server-ui/gulpfile.js
+4
-4
humanBytes.js
spring-boot-admin-server-ui/test/unit/filter/humanBytes.js
+1
-3
No files found.
spring-boot-admin-server-ui/app/css/main.css
View file @
27325103
...
@@ -5,15 +5,13 @@ body {
...
@@ -5,15 +5,13 @@ body {
font-family
:
"Varela Round"
,
sans-serif
;
font-family
:
"Varela Round"
,
sans-serif
;
}
}
.container-fluid
{
margin
:
0
auto
;
}
.
main-body--wrapper
{
.
content
{
margin-top
:
50px
;
margin-top
:
50px
;
margin-bottom
:
50px
;
margin-bottom
:
50px
;
}
}
.center-block
{
.center-block
{
display
:
block
;
display
:
block
;
margin-left
:
auto
;
margin-left
:
auto
;
...
@@ -21,16 +19,16 @@ body {
...
@@ -21,16 +19,16 @@ body {
}
}
a
{
a
{
color
:
#5fa134
;
color
:
#5fa134
;
}
}
a
:hover
,
a
:hover
,
a
:active
{
a
:active
{
color
:
#5fa134
;
color
:
#5fa134
;
}
}
pre
{
pre
{
white-space
:
pre
;
white-space
:
pre
;
}
}
/** HEADER **/
/** HEADER **/
...
@@ -82,24 +80,6 @@ pre {
...
@@ -82,24 +80,6 @@ pre {
color
:
#eeeeee
;
color
:
#eeeeee
;
background-color
:
#6db33f
;
background-color
:
#6db33f
;
}
}
.header--navbar
.navbar-inner
.navbar-link.nav-search
{
padding
:
20px
0
23px
;
}
.header--navbar
.navbar-inner
.navbar-link.nav-search
.navbar-search--icon
{
color
:
#eeeeee
;
font-size
:
24px
;
padding
:
3px
16px
3px
18px
;
cursor
:
pointer
;
}
.header--navbar
.navbar-inner
.navbar-link.nav-search
:hover
.navbar-search--icon
{
text-shadow
:
0
0
10px
#6db33f
;
}
.header--navbar
.navbar-inner
.navbar-link.nav-search
.search-input-close
{
display
:
none
;
}
.header--navbar
.navbar-inner
.navbar-link.nav-search.js-highlight
{
background-color
:
#6db33f
;
}
a
.spring-logo
{
a
.spring-logo
{
background
:
url("../img/spring-logo.png")
-1px
-1px
no-repeat
;
background
:
url("../img/spring-logo.png")
-1px
-1px
no-repeat
;
...
@@ -120,6 +100,7 @@ a:hover.spring-logo span {
...
@@ -120,6 +100,7 @@ a:hover.spring-logo span {
opacity
:
1
;
opacity
:
1
;
}
}
/** FOOTER **/
/** FOOTER **/
.footer
{
.footer
{
background-color
:
#34302d
;
background-color
:
#34302d
;
...
...
spring-boot-admin-server-ui/app/index.html
View file @
27325103
...
@@ -35,11 +35,9 @@
...
@@ -35,11 +35,9 @@
</div>
</div>
</div>
</div>
</header>
</header>
<div
class=
"container-fluid "
>
<div
class=
"main-body--wrapper"
>
<div
class=
"main-body--wrapper"
>
<div
ui-view
></div>
<div
ui-view
></div>
</div>
</div>
</div>
<footer
class=
"footer"
>
<footer
class=
"footer"
>
<div
class=
"container"
>
<div
class=
"container"
>
Code licensed under
<a
href=
"http://www.apache.org/licenses/LICENSE-2.0"
>
Apache Open Source
</a>
Code licensed under
<a
href=
"http://www.apache.org/licenses/LICENSE-2.0"
>
Apache Open Source
</a>
...
...
spring-boot-admin-server-ui/app/js/app.js
View file @
27325103
...
@@ -31,7 +31,7 @@ var springBootAdmin = angular.module('springBootAdmin', [
...
@@ -31,7 +31,7 @@ var springBootAdmin = angular.module('springBootAdmin', [
'ngResource'
,
'ngResource'
,
'ngRoute'
,
'ngRoute'
,
'ui.router'
,
'ui.router'
,
'ui.bootstrap'
,
'ui.bootstrap'
]);
]);
require
(
'./controller'
);
require
(
'./controller'
);
...
...
spring-boot-admin-server-ui/app/views/about.html
View file @
27325103
<div
class=
"container"
>
<div
class=
"container content"
>
<div
class=
"main-template"
>
<p>
This is an administration GUI for Spring-Boot applications. All applications have to register themselves at this application.
This is an administration GUI for Spring-Boot applications. All applications have to register themselves at this application.
This is done by including
<a
href=
""
>
spring-boot-starters-admin-client
</a>
as dependency. This will
This is done by including
<a
href=
""
>
spring-boot-starters-admin-client
</a>
as dependency. This will
auto-configure a registrator that registers the application.
auto-configure a registrator that registers the application.
</div>
</p>
</div>
</div>
\ No newline at end of file
spring-boot-admin-server-ui/app/views/apps.html
View file @
27325103
<div
class=
"container"
style=
"margin-bottom: 20px;"
>
<div
class=
"navbar"
>
<div
class=
"row"
>
<div
class=
"navbar-inner"
>
<div
class=
"span12"
>
<span
class=
"brand"
>
{{ application.name }}
</span>
<h2
style=
"display: inline-block;"
>
{{ application.name }}
<ul
class=
"nav pull-right"
>
<small>
{{ application.url }}
</small>
<li
class=
"navbar-link"
ng-class=
"{active: $state.includes('apps.details')}"
>
<a
ui-sref=
"apps.details.metrics({id: application.id})"
>
Details
</a></li>
</h2>
<li
class=
"navbar-link"
ui-sref-active=
"active"
><a
ui-sref=
"apps.logging({id: application.id})"
>
Logging
</a></li>
</div>
<li
class=
"navbar-link"
ui-sref-active=
"active"
><a
ui-sref=
"apps.jmx({id: application.id})"
>
JMX
</a></li>
</div>
<li
class=
"navbar-link"
ui-sref-active=
"active"
><a
ui-sref=
"apps.threads({id: application.id})"
>
Threads
</a></li>
<div
class=
"row"
>
<li
class=
"navbar-link"
ui-sref-active=
"active"
><a
ui-sref=
"apps.trace({id: application.id})"
>
Trace
</a></li>
<div
class=
"span12 btn-group text-center"
>
</ul>
<a
class=
"btn"
ng-class=
"{active: $state.includes('apps.details')}"
ui-sref=
"apps.details.metrics({id: application.id})"
>
Details
</a>
<small
class=
"navbar-text"
>
{{ application.url }}
</small>
<a
class=
"btn"
ui-sref-active=
"active"
ui-sref=
"apps.logging({id: application.id})"
>
Logging
</a></label>
<a
class=
"btn"
ui-sref-active=
"active"
ui-sref=
"apps.jmx({id: application.id})"
>
JMX
</a></label>
<a
class=
"btn"
ui-sref-active=
"active"
ui-sref=
"apps.threads({id: application.id})"
>
Threads
</a></label>
<a
class=
"btn"
ui-sref-active=
"active"
ui-sref=
"apps.trace({id: application.id})"
>
Trace
</a></label>
</div>
</div>
</div>
</div>
</div>
<div
ui-view
></div>
<div
ui-view
></div>
spring-boot-admin-server-ui/app/views/apps/details.html
View file @
27325103
This diff is collapsed.
Click to expand it.
spring-boot-admin-server-ui/app/views/apps/details/classpath.html
View file @
27325103
<table
class=
"table table-striped"
>
<table
class=
"table table-striped"
>
<col
style=
"width:30%"
>
<col
style=
"width:30%"
>
<col
style=
"width:auto"
>
<col
style=
"width:auto"
>
<thead>
<thead>
<tr>
<tr>
<th>
Classpath
<small
class=
"pull-right"
><a
href=
"{{ application.url }}/env"
>
raw JSON
</a></small></th>
<th>
Classpath
<small
class=
"pull-right"
><a
href=
"{{ application.url }}/env"
>
raw JSON
</a></small></th>
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<tbody>
<tbody>
<tr
ng-repeat=
"element in classpath"
>
<tr
ng-repeat=
"element in classpath"
>
<td
style=
"text-wrap: none;"
>
<td
style=
"text-wrap: none;"
>
{{ element }}
{{ element }}
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
...
...
spring-boot-admin-server-ui/app/views/apps/details/env.html
View file @
27325103
<table
class=
"table table-striped"
>
<table
class=
"table table-striped"
>
<col
style=
"width:30%"
>
<col
style=
"width:30%"
>
<col
style=
"width:auto"
>
<col
style=
"width:auto"
>
<thead>
<thead>
<tr>
<tr>
<th>
Property
</th>
<th>
Property
</th>
...
...
spring-boot-admin-server-ui/app/views/apps/details/metrics.html
View file @
27325103
...
@@ -5,9 +5,9 @@
...
@@ -5,9 +5,9 @@
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr
ng-repeat=
"counter in counters"
>
<tr
ng-repeat=
"counter in counters"
>
<td><simple-metric-bar
for-metric=
"counter"
global-max=
"countersMax"
></simple-metric-bar></td>
<td><simple-metric-bar
for-metric=
"counter"
global-max=
"countersMax"
></simple-metric-bar></td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<table
class=
"table"
ng-if=
"gauges.length > 0"
>
<table
class=
"table"
ng-if=
"gauges.length > 0"
>
...
@@ -17,11 +17,11 @@
...
@@ -17,11 +17,11 @@
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr
ng-if=
"showRichGauges"
ng-repeat=
"gauge in gauges"
>
<tr
ng-if=
"showRichGauges"
ng-repeat=
"gauge in gauges"
>
<td><rich-metric-bar
for-metric=
"gauge"
global-max=
"gaugesMax"
></rich-metric-bar></td>
<td><rich-metric-bar
for-metric=
"gauge"
global-max=
"gaugesMax"
></rich-metric-bar></td>
</tr>
</tr>
<tr
ng-if=
"!showRichGauges"
ng-repeat=
"gauge in gauges"
>
<tr
ng-if=
"!showRichGauges"
ng-repeat=
"gauge in gauges"
>
<td><simple-metric-bar
for-metric=
"gauge"
global-max=
"gaugesMax"
></simple-metric-bar></td>
<td><simple-metric-bar
for-metric=
"gauge"
global-max=
"gaugesMax"
></simple-metric-bar></td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
spring-boot-admin-server-ui/app/views/apps/details/props.html
View file @
27325103
<table
class=
"table table-striped"
>
<table
class=
"table table-striped"
>
<col
style=
"width:30%"
>
<col
style=
"width:30%"
>
<col
style=
"width:auto"
>
<col
style=
"width:auto"
>
<thead>
<thead>
<tr>
<tr>
<th>
Property
</th>
<th>
Property
</th>
...
...
spring-boot-admin-server-ui/app/views/apps/jmx.html
View file @
27325103
<div
class=
"
alert alert-error"
ng-if=
"error
"
>
<div
class=
"
container content
"
>
<
b>
Error:
</b>
{{ error }}
<
div
class=
"alert alert-error"
ng-if=
"error"
>
</div>
<b>
Error:
</b>
{{ error }}
<div
class=
"container"
>
</div
>
<accordion
close-others=
"true"
>
<accordion
close-others=
"true"
>
<accordion-group
ng-repeat=
"domain in domains track by domain.name"
>
<accordion-group
ng-repeat=
"domain in domains track by domain.name"
>
<accordion-heading>
<accordion-heading>
...
@@ -30,8 +30,8 @@
...
@@ -30,8 +30,8 @@
<button
class=
"btn"
type=
"button"
ng-click=
"readAllAttr(bean)"
>
read
</button>
<button
class=
"btn"
type=
"button"
ng-click=
"readAllAttr(bean)"
>
read
</button>
</legend>
</legend>
<div
ng-show=
"bean.error"
class=
"alert alert-error"
>
<div
ng-show=
"bean.error"
class=
"alert alert-error"
>
<b>
Error:
</b>
{{ bean.error }}
<b>
Error:
</b>
{{ bean.error }}
</div>
</div>
<div
class=
"control-group"
ng-repeat=
"(name, attr) in bean.attributes track by name"
ng-class=
"{error: attr.error}"
>
<div
class=
"control-group"
ng-repeat=
"(name, attr) in bean.attributes track by name"
ng-class=
"{error: attr.error}"
>
<label
class=
"control-label"
for=
"{{name}}"
style=
"word-break: break-all;"
>
<label
class=
"control-label"
for=
"{{name}}"
style=
"word-break: break-all;"
>
{{name}}
<br/>
{{name}}
<br/>
...
@@ -91,19 +91,19 @@
...
@@ -91,19 +91,19 @@
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/form
>
<
/form
>
<
/div
>
<
/div
>
<
div
class
=
"modal-footer"
>
<
div
class
=
"modal-footer"
>
<
button
class
=
"btn"
ng
-
click
=
"$dismiss()"
>
Abort
<
/button
>
<
button
class
=
"btn"
ng
-
click
=
"$dismiss()"
>
Abort
<
/button
>
<
button
class
=
"btn btn-inverse"
ng
-
click
=
"$close()"
>
Execute
<
/button
>
<
button
class
=
"btn btn-inverse"
ng
-
click
=
"$close()"
>
Execute
<
/button
>
<
/div
>
<
/div
>
</script>
</script>
<script
type=
"text/ng-template"
id=
"invocationVariantDialog.html"
>
<script
type=
"text/ng-template"
id=
"invocationVariantDialog.html"
>
<
div
class
=
"modal-header"
>
<
div
class
=
"modal-header"
>
<
h3
>
Variant
for
{{
invocation
.
opname
}}
<
/h3
>
<
h3
>
Variant
for
{{
invocation
.
opname
}}
<
/h3
>
<
/div
>
<
/div
>
<
div
class
=
"modal-body"
>
<
div
class
=
"modal-body"
>
<
p
>
The
method
is
overloaded
.
Please
choose
a
variant
.
<
/p
>
<
p
>
The
method
is
overloaded
.
Please
choose
a
variant
.
<
/p
>
<
form
>
<
form
>
<
div
class
=
"control-group"
>
<
div
class
=
"control-group"
>
<
button
class
=
"btn btn-block"
style
=
"text-align: left; padding-left: 5px;"
ng
-
repeat
=
"op in invocation.opdesc"
ng
-
click
=
"$close(op)"
>
<
button
class
=
"btn btn-block"
style
=
"text-align: left; padding-left: 5px;"
ng
-
repeat
=
"op in invocation.opdesc"
ng
-
click
=
"$close(op)"
>
...
@@ -115,36 +115,36 @@
...
@@ -115,36 +115,36 @@
<
/button
>
<
/button
>
<
/div
>
<
/div
>
<
/form
>
<
/form
>
<
/div
>
<
/div
>
<
div
class
=
"modal-footer"
>
<
div
class
=
"modal-footer"
>
<
button
class
=
"btn"
ng
-
click
=
"$dismiss()"
>
Abort
<
/button
>
<
button
class
=
"btn"
ng
-
click
=
"$dismiss()"
>
Abort
<
/button
>
<
/div>
<
/div
>
</script>
</script>
<script
type=
"text/ng-template"
id=
"invocationResultDialog.html"
>
<script
type=
"text/ng-template"
id=
"invocationResultDialog.html"
>
<
div
class
=
"modal-header"
>
<
div
class
=
"modal-header"
>
<
h3
>
Executing
{{
invocation
.
opname
}}
<
/h3
>
<
h3
>
Executing
{{
invocation
.
opname
}}
<
/h3
>
<
/div
>
<
/div
>
<
div
class
=
"modal-body"
ng
-
switch
=
"invocation.state"
>
<
div
class
=
"modal-body"
ng
-
switch
=
"invocation.state"
>
<
div
ng
-
switch
-
when
=
"executing"
class
=
"progress progress-striped active"
>
<
div
ng
-
switch
-
when
=
"executing"
class
=
"progress progress-striped active"
>
<
div
class
=
"bar"
>
executing
...
<
/div
>
<
div
class
=
"bar"
>
executing
...
<
/div
>
<
/div
>
<
/div
>
<
div
ng
-
switch
-
when
=
"success"
>
<
div
ng
-
switch
-
when
=
"success"
>
<
div
class
=
"alert alert-success"
>
<
div
class
=
"alert alert-success"
>
<
b
>
Success
<
/b
>
<
b
>
Success
<
/b
>
<
/div
>
<
/div
>
<
h4
>
Result
<
small
class
=
"muted"
>
{{
invocation
.
opdesc
.
ret
}}
<
/small></
h4
>
<
h4
>
Result
<
small
class
=
"muted"
>
{{
invocation
.
opdesc
.
ret
}}
<
/small></
h4
>
<
pre
>
{{
invocation
.
result
|
json
}}
<
/pre
>
<
pre
>
{{
invocation
.
result
|
json
}}
<
/pre
>
<
/div
>
<
/div
>
<
div
ng
-
switch
-
when
=
"error"
>
<
div
ng
-
switch
-
when
=
"error"
>
<
div
class
=
"alert alert-error"
>
<
div
class
=
"alert alert-error"
>
<
b
>
Error
:
<
/b> {{ invocation.error }
}
<
b
>
Error
:
<
/b> {{ invocation.error }
}
<
/div
>
<
/div
>
<
h4
>
Stacktrace
:
<
/h4
>
<
h4
>
Stacktrace
:
<
/h4
>
<
pre
>
{{
invocation
.
stacktrace
}}
<
/pre
>
<
pre
>
{{
invocation
.
stacktrace
}}
<
/pre
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"modal-footer"
>
<
div
class
=
"modal-footer"
>
<
button
class
=
"btn"
ng
-
click
=
"$close()"
>
Close
<
/button
>
<
button
class
=
"btn"
ng
-
click
=
"$close()"
>
Close
<
/button
>
<
/div>
<
/div
>
</script>
</script>
spring-boot-admin-server-ui/app/views/apps/logging.html
View file @
27325103
<div
class=
"container"
>
<div
class=
"container
content
"
>
<form
ng-init=
"showPackageLoggers = false"
>
<form
ng-init=
"showPackageLoggers = false"
>
<div
class=
"input-prepend input-append"
>
<div
class=
"input-prepend input-append"
>
<button
class=
"btn"
title=
"Show package-level loggers"
ng-class=
"{'btn-inverse': showPackageLoggers}"
ng-model=
"showPackageLoggers"
btn-checkbox
><i
class=
"icon-folder-open"
ng-class=
"{'icon-white': showPackageLoggers}"
></i></button>
<button
class=
"btn"
title=
"Show package-level loggers"
ng-class=
"{'btn-inverse': showPackageLoggers}"
ng-model=
"showPackageLoggers"
btn-checkbox
><i
class=
"icon-folder-open"
ng-class=
"{'icon-white': showPackageLoggers}"
></i></button>
...
@@ -12,15 +12,15 @@
...
@@ -12,15 +12,15 @@
<tr
ng-repeat=
"logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name"
>
<tr
ng-repeat=
"logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name"
>
<td>
<td>
{{ logger.name }}
{{ logger.name }}
<div
class=
"btn-group pull-right"
>
<div
class=
"btn-group pull-right"
>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-danger': logger.level== 'TRACE'}"
ng-click=
"setLogLevel(logger.name, 'TRACE')"
>
TRACE
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-danger': logger.level== 'TRACE'}"
ng-click=
"setLogLevel(logger.name, 'TRACE')"
>
TRACE
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-warning': logger.level=='DEBUG'}"
ng-click=
"setLogLevel(logger.name, 'DEBUG')"
>
DEBUG
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-warning': logger.level=='DEBUG'}"
ng-click=
"setLogLevel(logger.name, 'DEBUG')"
>
DEBUG
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-info': logger.level=='INFO'}"
ng-click=
"setLogLevel(logger.name, 'INFO')"
>
INFO
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-info': logger.level=='INFO'}"
ng-click=
"setLogLevel(logger.name, 'INFO')"
>
INFO
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-success': logger.level == 'WARN'}"
ng-click=
"setLogLevel(logger.name, 'WARN')"
>
WARN
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-success': logger.level == 'WARN'}"
ng-click=
"setLogLevel(logger.name, 'WARN')"
>
WARN
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-primary': logger.level == 'ERROR'}"
ng-click=
"setLogLevel(logger.name, 'ERROR')"
>
ERROR
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-primary': logger.level == 'ERROR'}"
ng-click=
"setLogLevel(logger.name, 'ERROR')"
>
ERROR
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-inverse': logger.level == 'OFF'}"
ng-click=
"setLogLevel(logger.name, 'OFF')"
>
OFF
</label>
<label
class=
"btn btn-small"
ng-class=
"{'active btn-inverse': logger.level == 'OFF'}"
ng-click=
"setLogLevel(logger.name, 'OFF')"
>
OFF
</label>
</div>
</div>
</td>
</td>
</tr>
</tr>
<tr
ng-show=
"limit < loggers.length"
>
<tr
ng-show=
"limit < loggers.length"
>
<td>
<td>
...
@@ -34,4 +34,4 @@
...
@@ -34,4 +34,4 @@
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
</div>
</div>
\ No newline at end of file
spring-boot-admin-server-ui/app/views/apps/threads.html
View file @
27325103
<div
class=
"
alert alert-error"
ng-if=
"error
"
>
<div
class=
"
container content
"
>
<
b>
Error:
</b>
{{ error }}
<
div
class=
"alert alert-error"
ng-if=
"error"
>
</div>
<b>
Error:
</b>
{{ error }}
<div
class=
"container"
>
</div
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"span12 text-center"
>
<div
class=
"span12 text-center"
>
<form>
<form>
...
@@ -13,22 +13,22 @@
...
@@ -13,22 +13,22 @@
<div
class=
"span12"
>
<div
class=
"span12"
>
<div
class=
"progress"
>
<div
class=
"progress"
>
<div
ng-if=
"threadStats.NEW > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.NEW > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;"
>
New {{ threadStats.NEW }}
New {{ threadStats.NEW }}
</div>
</div>
<div
ng-if=
"threadStats.RUNNABLE > 0"
class=
"bar bar-success"
style=
"width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.RUNNABLE > 0"
class=
"bar bar-success"
style=
"width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;"
>
Runnable {{ threadStats.RUNNABLE }}
Runnable {{ threadStats.RUNNABLE }}
</div>
</div>
<div
ng-if=
"threadStats.BLOCKED > 0"
class=
"bar bar-danger"
style=
"width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.BLOCKED > 0"
class=
"bar bar-danger"
style=
"width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;"
>
Blocked {{ threadStats.BLOCKED }}
Blocked {{ threadStats.BLOCKED }}
</div>
</div>
<div
ng-if=
"threadStats.WAITING > 0"
class=
"bar bar-warning"
style=
"width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.WAITING > 0"
class=
"bar bar-warning"
style=
"width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;"
>
Waiting {{ threadStats.WAITING }}
Waiting {{ threadStats.WAITING }}
</div>
</div>
<div
ng-if=
"threadStats.TIMED_WAITING > 0"
class=
"bar bar-warning bar-striped"
style=
"width:{{ threadStats.TIMED_WAITING / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.TIMED_WAITING > 0"
class=
"bar bar-warning bar-striped"
style=
"width:{{ threadStats.TIMED_WAITING / threadStats.total * 100 | number:2 }}%;"
>
Timed waiting {{ threadStats.TIMED_WAITING }}
Timed waiting {{ threadStats.TIMED_WAITING }}
</div>
</div>
<div
ng-if=
"threadStats.TERMINATED > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;"
>
<div
ng-if=
"threadStats.TERMINATED > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;"
>
Terminated {{ threadStats.TERMINATED }}
Terminated {{ threadStats.TERMINATED }}
</div>
</div>
</div>
</div>
</div>
</div>
...
...
spring-boot-admin-server-ui/app/views/apps/trace.html
View file @
27325103
<div
class=
"
alert alert-error"
ng-if=
"error
"
>
<div
class=
"
container content
"
>
<b>
Error:
</b>
{{ error }}
<div
class=
"alert alert-error"
ng-if=
"error"
>
</div>
<b>
Error:
</b>
{{ error }}
<div
class=
"container"
>
</div
>
<div
class=
"form-inline"
>
<div
class=
"form-inline"
>
<button
title=
"refresh"
class=
"btn"
ng-click=
"refresh()"
><i
class=
"icon-refresh"
></i></button>
<button
title=
"refresh"
class=
"btn"
ng-click=
"refresh()"
><i
class=
"icon-refresh"
></i></button>
<div
class=
"input-prepend input-append"
>
<div
class=
"input-prepend input-append"
>
<button
title=
"auto refresh"
class=
"btn"
ng-click=
"toggleAutoRefresh()"
ng-class=
"{'active':refresher != null}"
><i
ng-class=
"{'icon-play':refresher == null, 'icon-pause':refresher != null}"
></i></button>
<button
title=
"auto refresh"
class=
"btn"
ng-click=
"toggleAutoRefresh()"
ng-class=
"{'active':refresher != null}"
><i
ng-class=
"{'icon-play':refresher == null, 'icon-pause':refresher != null}"
></i></button>
<input
class=
"input-mini"
type=
"number"
min=
"1"
ng-model=
"refreshInterval"
ng-disabled=
"refresher != null"
></input>
<input
class=
"input-mini"
type=
"number"
min=
"1"
ng-model=
"refreshInterval"
ng-disabled=
"refresher != null"
></input>
<span
class=
"add-on"
>
sec
</span>
<span
class=
"add-on"
>
sec
</span>
</div>
</div>
</div>
</div>
<ul
class=
"timeline"
>
<ul
class=
"timeline"
>
<li
ng-repeat=
"trace in traces | orderBy:'timestamp':true"
>
<li
ng-repeat=
"trace in traces | orderBy:'timestamp':true"
>
<div
class=
"event"
ng-click=
"trace.show = !trace.show"
>
<div
class=
"event"
ng-click=
"trace.show = !trace.show"
>
<div
class=
"time"
>
<div
class=
"time"
>
{{trace.timestamp | date:'HH:mm:ss.sss'}}
{{trace.timestamp | date:'HH:mm:ss.sss'}}
<small
class=
"muted"
>
{{trace.timestamp | date:'dd.MM.yyyy'}}
</small><br/>
<small
class=
"muted"
>
{{trace.timestamp | date:'dd.MM.yyyy'}}
</small><br/>
</div>
</div>
<div
class=
"title"
><span
class=
"muted"
>
{{trace.info.method}}
</span>
{{trace.info.path}}
</div>
<div
class=
"title"
><span
class=
"muted"
>
{{trace.info.method}}
</span>
{{trace.info.path}}
</div>
<pre
class=
"content"
ng-show=
"trace.show"
>
{{trace.info | json}}
</pre>
<pre
class=
"content"
ng-show=
"trace.show"
>
{{trace.info | json}}
</pre>
</div>
</div>
</li>
</li>
</ul>
</ul>
</div>
</div>
spring-boot-admin-server-ui/app/views/overview.html
View file @
27325103
<h2
>
Spring-Boot applications
<br>
<div
class=
"container-fluid content"
>
<small>
Here you'll find all Spring-Boot applications that registered themselves at this admin application.
</small>
<h2
>
Spring-Boot applications
<br>
</h2>
<small>
Here you'll find all Spring-Boot applications that registered themselves at this admin application.
</small>
<table
class=
"table table-striped"
>
</h2>
<thead>
<table
class=
"table table-striped"
>
<tr>
<thead>
<th><span
class=
"sortable"
ng-class=
"orderByCssClass('name')"
ng-click=
"orderBy('name')"
>
Application
</span>
<tr>
/
<th><span
class=
"sortable"
ng-class=
"orderByCssClass('name')"
ng-click=
"orderBy('name')"
>
Application
</span>
<span
class=
"sortable"
ng-class=
"orderByCssClass('url')"
ng-click=
"orderBy('url')"
>
URL
</span>
/
</th>
<span
class=
"sortable"
ng-class=
"orderByCssClass('url')"
ng-click=
"orderBy('url')"
>
URL
</span>
<th><span
class=
"sortable"
ng-class=
"orderByCssClass('version')"
ng-click=
"orderBy('version')"
>
Version
</span></th>
</th>
<th>
Info
</th>
<th><span
class=
"sortable"
ng-class=
"orderByCssClass('version')"
ng-click=
"orderBy('version')"
>
Version
</span></th>
<th
colspan=
"2"
>
Status
</th>
<th>
Info
</th>
</tr>
<th
colspan=
"2"
>
Status
</th>
</thead>
</tr>
<tbody>
</thead>
<tr
ng-repeat=
"application in applications|orderBy:order.column:order.descending|orderBy:'status':false track by application.id"
>
<tbody>
<td>
{{ application.name }}
<br/><span
class=
"muted"
>
{{ application.url }}
</span></td>
<tr
ng-repeat=
"application in applications|orderBy:order.column:order.descending|orderBy:'status':false track by application.id"
>
<td>
{{ application.version }}
</td>
<td>
{{ application.name }}
<br/><span
class=
"muted"
>
{{ application.url }}
</span></td>
<td><span
ng-repeat=
"(name, value) in application.info track by name"
>
{{name}}: {{value}}
<br></span></td>
<td>
{{ application.version }}
</td>
<td><span
class=
"status-{{application.status}}"
>
{{ application.status }}
</span>
<td><span
ng-repeat=
"(name, value) in application.info track by name"
>
{{name}}: {{value}}
<br></span></td>
<span
ng-show=
"application.refreshing"
class=
"refresh"
></span></td>
<td><span
class=
"status-{{application.status}}"
>
{{ application.status }}
</span>
<td
style=
"text-align: right;"
>
<span
ng-show=
"application.refreshing"
class=
"refresh"
></span></td>
<div
class=
"btn-group"
ng-hide=
"application.status == null || application.status == 'OFFLINE'"
>
<td
style=
"text-align: right;"
>
<a
ng-disabled=
"!application.providesLogfile"
target=
"_self"
class=
"btn btn-success"
ng-href=
"{{application.providesLogfile ? application.url + '/logfile' :''}}"
><i
class=
"icon-file icon-white"
></i>
Log
</a>
<div
class=
"btn-group"
ng-hide=
"application.status == null || application.status == 'OFFLINE'"
>
<a
ui-sref=
"apps.details.metrics({id: application.id})"
class=
"btn btn-success"
>
Details
</a>
<a
ng-disabled=
"!application.providesLogfile"
target=
"_self"
class=
"btn btn-success"
ng-href=
"{{application.providesLogfile ? application.url + '/logfile' :''}}"
><i
class=
"icon-file icon-white"
></i>
Log
</a>
<a
class=
"btn btn-success dropdown-toggle"
data-toggle=
"dropdown"
>
<a
ui-sref=
"apps.details.metrics({id: application.id})"
class=
"btn btn-success"
>
Details
</a>
<span
class=
"caret"
></span>
<a
class=
"btn btn-success dropdown-toggle"
data-toggle=
"dropdown"
>
</a>
<span
class=
"caret"
></span>
<ul
class=
"dropdown-menu"
>
</a>
<li><a
ui-sref=
"apps.logging({id: application.id})"
>
Logging
</a></li>
<ul
class=
"dropdown-menu"
>
<li><a
ui-sref=
"apps.jmx({id: application.id})"
>
JMX
</a></li>
<li><a
ui-sref=
"apps.logging({id: application.id})"
>
Logging
</a></li>
<li><a
ui-sref=
"apps.threads({id: application.id})"
>
Threads
</a></li>
<li><a
ui-sref=
"apps.jmx({id: application.id})"
>
JMX
</a></li>
<li><a
ui-sref=
"apps.trace({id: application.id})"
>
Trace
</a></li>
<li><a
ui-sref=
"apps.threads({id: application.id})"
>
Threads
</a></li>
</ul>
<li><a
ui-sref=
"apps.trace({id: application.id})"
>
Trace
</a></li>
</div>
</ul>
<div
class=
"btn-group"
title=
"remove"
>
</div>
<a
class=
"btn btn-danger"
ng-click=
"remove(application)"
><i
class=
"icon-remove icon-white"
></i></a>
<div
class=
"btn-group"
title=
"remove"
>
</div>
<a
class=
"btn btn-danger"
ng-click=
"remove(application)"
><i
class=
"icon-remove icon-white"
></i></a>
</td>
</div>
</tr>
</td>
</tbody>
</tr>
</table>
</tbody>
</table>
</div>
spring-boot-admin-server-ui/gulpfile.js
View file @
27325103
...
@@ -79,7 +79,7 @@ gulp.task('lint', function () {
...
@@ -79,7 +79,7 @@ gulp.task('lint', function () {
'app/js/**/*.js'
,
'app/js/**/*.js'
,
'test/**/*.js'
,
'test/**/*.js'
,
'!app/js/third-party/**'
,
'!app/js/third-party/**'
,
'!test/browserified/**'
,
'!test/browserified/**'
])
])
.
pipe
(
eslint
())
.
pipe
(
eslint
())
.
pipe
(
eslint
.
format
());
.
pipe
(
eslint
.
format
());
...
@@ -107,7 +107,7 @@ gulp.task('browserify', ['lint', 'unit'], function () {
...
@@ -107,7 +107,7 @@ gulp.task('browserify', ['lint', 'unit'], function () {
gulp
.
task
(
'ngAnnotate'
,
[
'lint'
,
'unit'
],
function
()
{
gulp
.
task
(
'ngAnnotate'
,
[
'lint'
,
'unit'
],
function
()
{
return
gulp
.
src
([
return
gulp
.
src
([
'app/js/**/*.js'
,
'app/js/**/*.js'
,
'!app/js/third-party/**'
,
'!app/js/third-party/**'
])
])
.
pipe
(
ngAnnotage
())
.
pipe
(
ngAnnotage
())
.
pipe
(
gulp
.
dest
(
target
(
'/ngAnnotate'
)));
.
pipe
(
gulp
.
dest
(
target
(
'/ngAnnotate'
)));
...
@@ -187,7 +187,7 @@ gulp.task('e2e', ['server'], skipTests(function () {
...
@@ -187,7 +187,7 @@ gulp.task('e2e', ['server'], skipTests(function () {
return
gulp
.
src
([
'./test/e2e/**/*.js'
])
return
gulp
.
src
([
'./test/e2e/**/*.js'
])
.
pipe
(
protractor
({
.
pipe
(
protractor
({
configFile
:
forEnv
(
'protractor.conf.js'
),
configFile
:
forEnv
(
'protractor.conf.js'
),
args
:
[
'--baseUrl'
,
'http://localhost:'
+
serverPort
]
,
args
:
[
'--baseUrl'
,
'http://localhost:'
+
serverPort
]
}))
}))
.
on
(
'error'
,
function
(
e
)
{
.
on
(
'error'
,
function
(
e
)
{
throw
e
;
throw
e
;
...
@@ -202,7 +202,7 @@ gulp.task('watch', function () {
...
@@ -202,7 +202,7 @@ gulp.task('watch', function () {
gulp
.
watch
([
gulp
.
watch
([
'app/**'
,
'app/**'
,
'!app/js/third-party/**'
,
'!app/js/third-party/**'
,
'test/**/*.js'
,
'test/**/*.js'
],
[
'fast'
]);
],
[
'fast'
]);
});
});
...
...
spring-boot-admin-server-ui/test/unit/filter/humanBytes.js
View file @
27325103
'use strict'
;
'use strict'
;
var
chai
=
require
(
'chai'
)
var
chai
=
require
(
'chai'
)
,
expect
=
chai
.
expect
,
expect
=
chai
.
expect
;
,
sinon
=
require
(
'sinon'
)
,
sinonChai
=
require
(
'sinon-chai'
);
var
humanBytesFilter
=
require
(
'../../../app/js/filter/humanBytes'
)();
var
humanBytesFilter
=
require
(
'../../../app/js/filter/humanBytes'
)();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment