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
baa6d4e1
Commit
baa6d4e1
authored
Mar 03, 2015
by
Johannes Stelzer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
normalize eol via .gitattributes
closes #49
parent
62b5eeaa
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
126 additions
and
108 deletions
+126
-108
.gitattributes
.gitattributes
+17
-0
jmx.html
spring-boot-admin-server-ui/app/views/apps/jmx.html
+0
-0
logging.html
spring-boot-admin-server-ui/app/views/apps/logging.html
+37
-36
threads.html
spring-boot-admin-server-ui/app/views/apps/threads.html
+72
-72
No files found.
.gitattributes
0 → 100644
View file @
baa6d4e1
# All text files should have the "lf" (Unix) line endings
* text eol=lf
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.java text
*.js text
*.css text
*.html text
*.properties text
*.xml text
*.yml text
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.jar binary
spring-boot-admin-server-ui/app/views/apps/jmx.html
View file @
baa6d4e1
This diff is collapsed.
Click to expand it.
spring-boot-admin-server-ui/app/views/apps/logging.html
View file @
baa6d4e1
<div
class=
"container"
>
<form
ng-init=
"showPackageLoggers = false"
>
<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>
<input
placeholder=
"Filter by name ..."
class=
"span10"
type=
"search"
ng-model=
"filterLogger.name"
/>
<button
class=
"btn"
title=
"reload list"
ng-click=
"reload()"
><i
class=
"icon-refresh"
></i></button>
<span
title=
"filtered / total"
class=
"add-on"
>
{{ filteredLoggers.length }}/{{ loggers.length }}
</span>
</div>
</form>
<table
class=
"table"
>
<tbody>
<tr
ng-repeat=
"logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name"
>
<td>
{{ logger.name }}
<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-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-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-inverse': logger.level == 'OFF'}"
ng-click=
"setLogLevel(logger.name, 'OFF')"
>
OFF
</label>
</div>
</td>
</tr>
<tr
ng-show=
"limit < loggers.length"
>
<td>
<button
class=
"btn btn-link btn-block"
ng-click=
"limit = limit + 10"
>
show more
</button>
</td>
</tr>
<tr
ng-show=
"limit < loggers.length"
>
<td>
<button
class=
"btn btn-link btn-block"
ng-click=
"limit = loggers.length"
>
show all
</button>
</td>
</tr>
</tbody>
</table>
<div
class=
"container"
>
<form
ng-init=
"showPackageLoggers = false"
>
<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>
<input
placeholder=
"Filter by name ..."
class=
"span10"
type=
"search"
ng-model=
"filterLogger.name"
/>
<button
class=
"btn"
title=
"reload list"
ng-click=
"reload()"
><i
class=
"icon-refresh"
></i></button>
<span
title=
"filtered / total"
class=
"add-on"
>
{{ filteredLoggers.length }}/{{ loggers.length }}
</span>
</div>
</form>
<table
class=
"table"
>
<tbody>
<tr
ng-repeat=
"logger in (filteredLoggers = (loggers | classNameLoggerOnly:!showPackageLoggers | filter:filterLogger) ) | limitTo: limit track by logger.name"
>
<td>
{{ logger.name }}
<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-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-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-inverse': logger.level == 'OFF'}"
ng-click=
"setLogLevel(logger.name, 'OFF')"
>
OFF
</label>
</div>
</td>
</tr>
<tr
ng-show=
"limit < loggers.length"
>
<td>
<button
class=
"btn btn-link btn-block"
ng-click=
"limit = limit + 10"
>
show more
</button>
</td>
</tr>
<tr
ng-show=
"limit < loggers.length"
>
<td>
<button
class=
"btn btn-link btn-block"
ng-click=
"limit = loggers.length"
>
show all
</button>
</td>
</tr>
</tbody>
</table>
</div>
\ No newline at end of file
spring-boot-admin-server-ui/app/views/apps/threads.html
View file @
baa6d4e1
<div
class=
"alert alert-error"
ng-if=
"error"
>
<b>
Error:
</b>
{{ error }}
</div>
<div
class=
"container"
>
<div
class=
"row"
>
<div
class=
"span12 text-center"
>
<form>
<button
class=
"btn"
ng-click=
"dumpThreads()"
><i
class=
"icon-screenshot"
></i>
Dump all threads!
</button>
</form>
</div>
</div>
<div
class=
"row"
ng-show=
"threadStats"
>
<div
class=
"span12"
>
<div
class=
"progress"
>
<div
ng-if=
"threadStats.NEW > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;"
>
New {{ threadStats.NEW }}
</div>
<div
ng-if=
"threadStats.RUNNABLE > 0"
class=
"bar bar-success"
style=
"width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;"
>
Runnable {{ threadStats.RUNNABLE }}
</div>
<div
ng-if=
"threadStats.BLOCKED > 0"
class=
"bar bar-danger"
style=
"width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;"
>
Blocked {{ threadStats.BLOCKED }}
</div>
<div
ng-if=
"threadStats.WAITING > 0"
class=
"bar bar-warning"
style=
"width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;"
>
Waiting {{ threadStats.WAITING }}
</div>
<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 }}
</div>
<div
ng-if=
"threadStats.TERMINATED > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;"
>
Terminated {{ threadStats.TERMINATED }}
</div>
</div>
</div>
</div>
<div
class=
"row"
ng-show=
"dump"
>
<div
class=
"span12"
>
<accordion
close-others=
"true"
>
<accordion-group
ng-repeat=
"thread in dump | orderBy:'threadName' track by thread.threadId"
>
<accordion-heading>
<small
class=
"muted"
>
{{thread.threadId}}
</small>
{{thread.threadName}}
<span
class=
"pull-right label"
ng-class=
"{ 'label-info': thread.threadState == 'NEW', 'label-success': thread.threadState == 'RUNNABLE', 'label-important': thread.threadState == 'BLOCKED', 'label-warning': thread.threadState == 'TIMED_WAITING' || thread.threadState == 'WAITING', 'label-info': thread.threadState == 'TERMINATED'}"
>
{{thread.threadState}}
</span>
<span
class=
"label label-warning"
ng-if=
"thread.suspended"
>
suspended
</span>
</accordion-heading>
<div
class=
"container"
>
<div
class=
"row"
>
<table
class=
"span6"
>
<colgroup>
<col
style=
"min-width: 10em;"
/>
</colgroup>
<tr><td>
Blocked count
</td><td>
{{thread.blockedCount}}
</td></tr>
<tr><td>
Blocked time
</td><td>
{{thread.blockedTime}}
</td></tr>
<tr><td>
Waited count
</td><td>
{{thread.waitedCount}}
</td></tr>
<tr><td>
Waited time
</td><td>
{{thread.waitedTime}}
</td></tr>
</table>
<table
class=
"span6"
>
<colgroup>
<col
style=
"min-width: 10em;"
/>
</colgroup>
<tr><td>
Lock name
</td><td
style=
"word-break: break-word;"
>
{{thread.lockName}}
</td></tr>
<tr><td>
Lock owner id
</td><td>
{{thread.lockOwnerId}}
</td></tr>
<tr><td>
Lock owner name
</td><td
style=
"word-break: break-word;"
>
{{thread.lockOwnerName}}
</td></tr>
</table>
</div>
</div>
<pre
style=
"overflow: auto; max-height: 20em"
ng-if=
"thread.stackTrace"
><span
ng-repeat=
"el in thread.stackTrace"
>
{{el.className}}.{{el.methodName}}({{el.fileName}}:{{el.lineNumber}})
<span
class=
"label"
ng-if=
"el.nativeMethod"
>
native
</span>
</span></pre>
</accordion-group>
</accordion>
</div>
</div>
</div>
<div
class=
"alert alert-error"
ng-if=
"error"
>
<b>
Error:
</b>
{{ error }}
</div>
<div
class=
"container"
>
<div
class=
"row"
>
<div
class=
"span12 text-center"
>
<form>
<button
class=
"btn"
ng-click=
"dumpThreads()"
><i
class=
"icon-screenshot"
></i>
Dump all threads!
</button>
</form>
</div>
</div>
<div
class=
"row"
ng-show=
"threadStats"
>
<div
class=
"span12"
>
<div
class=
"progress"
>
<div
ng-if=
"threadStats.NEW > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.NEW / threadStats.total * 100 | number:2 }}%;"
>
New {{ threadStats.NEW }}
</div>
<div
ng-if=
"threadStats.RUNNABLE > 0"
class=
"bar bar-success"
style=
"width:{{ threadStats.RUNNABLE / threadStats.total * 100 | number:2 }}%;"
>
Runnable {{ threadStats.RUNNABLE }}
</div>
<div
ng-if=
"threadStats.BLOCKED > 0"
class=
"bar bar-danger"
style=
"width:{{ threadStats.BLOCKED / threadStats.total * 100 | number:2 }}%;"
>
Blocked {{ threadStats.BLOCKED }}
</div>
<div
ng-if=
"threadStats.WAITING > 0"
class=
"bar bar-warning"
style=
"width:{{ threadStats.WAITING / threadStats.total * 100 | number:2 }}%;"
>
Waiting {{ threadStats.WAITING }}
</div>
<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 }}
</div>
<div
ng-if=
"threadStats.TERMINATED > 0"
class=
"bar bar-info"
style=
"width:{{ threadStats.TERMINATED / threadStats.total * 100 | number:2 }}%;"
>
Terminated {{ threadStats.TERMINATED }}
</div>
</div>
</div>
</div>
<div
class=
"row"
ng-show=
"dump"
>
<div
class=
"span12"
>
<accordion
close-others=
"true"
>
<accordion-group
ng-repeat=
"thread in dump | orderBy:'threadName' track by thread.threadId"
>
<accordion-heading>
<small
class=
"muted"
>
{{thread.threadId}}
</small>
{{thread.threadName}}
<span
class=
"pull-right label"
ng-class=
"{ 'label-info': thread.threadState == 'NEW', 'label-success': thread.threadState == 'RUNNABLE', 'label-important': thread.threadState == 'BLOCKED', 'label-warning': thread.threadState == 'TIMED_WAITING' || thread.threadState == 'WAITING', 'label-info': thread.threadState == 'TERMINATED'}"
>
{{thread.threadState}}
</span>
<span
class=
"label label-warning"
ng-if=
"thread.suspended"
>
suspended
</span>
</accordion-heading>
<div
class=
"container"
>
<div
class=
"row"
>
<table
class=
"span6"
>
<colgroup>
<col
style=
"min-width: 10em;"
/>
</colgroup>
<tr><td>
Blocked count
</td><td>
{{thread.blockedCount}}
</td></tr>
<tr><td>
Blocked time
</td><td>
{{thread.blockedTime}}
</td></tr>
<tr><td>
Waited count
</td><td>
{{thread.waitedCount}}
</td></tr>
<tr><td>
Waited time
</td><td>
{{thread.waitedTime}}
</td></tr>
</table>
<table
class=
"span6"
>
<colgroup>
<col
style=
"min-width: 10em;"
/>
</colgroup>
<tr><td>
Lock name
</td><td
style=
"word-break: break-word;"
>
{{thread.lockName}}
</td></tr>
<tr><td>
Lock owner id
</td><td>
{{thread.lockOwnerId}}
</td></tr>
<tr><td>
Lock owner name
</td><td
style=
"word-break: break-word;"
>
{{thread.lockOwnerName}}
</td></tr>
</table>
</div>
</div>
<pre
style=
"overflow: auto; max-height: 20em"
ng-if=
"thread.stackTrace"
><span
ng-repeat=
"el in thread.stackTrace"
>
{{el.className}}.{{el.methodName}}({{el.fileName}}:{{el.lineNumber}})
<span
class=
"label"
ng-if=
"el.nativeMethod"
>
native
</span>
</span></pre>
</accordion-group>
</accordion>
</div>
</div>
</div>
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