HDFS-8388. Time and Date format need to be in sync in NameNode UI page. Contributed by Surendra Singh Lilhore.
This commit is contained in:
parent
00804e2457
commit
65ccf2b125
|
@ -192,6 +192,8 @@ Each metrics record contains tags such as ProcessName, SessionId, and Hostname a
|
||||||
| `PutImageNumOps` | Total number of fsimage uploads to SecondaryNameNode |
|
| `PutImageNumOps` | Total number of fsimage uploads to SecondaryNameNode |
|
||||||
| `PutImageAvgTime` | Average fsimage upload time in milliseconds |
|
| `PutImageAvgTime` | Average fsimage upload time in milliseconds |
|
||||||
| `TotalFileOps`| Total number of file operations performed |
|
| `TotalFileOps`| Total number of file operations performed |
|
||||||
|
| `NNStarted`| NameNode start time |
|
||||||
|
| `NNStartedTimeInMillis`| NameNode start time in milliseconds |
|
||||||
|
|
||||||
FSNamesystem
|
FSNamesystem
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -1270,6 +1270,9 @@ Release 2.8.0 - UNRELEASED
|
||||||
HDFS-8950. NameNode refresh doesn't remove DataNodes that are no longer in
|
HDFS-8950. NameNode refresh doesn't remove DataNodes that are no longer in
|
||||||
the allowed list (Daniel Templeton)
|
the allowed list (Daniel Templeton)
|
||||||
|
|
||||||
|
HDFS-8388. Time and Date format need to be in sync in NameNode UI page.
|
||||||
|
(Surendra Singh Lilhore via aajisaka)
|
||||||
|
|
||||||
Release 2.7.2 - UNRELEASED
|
Release 2.7.2 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -6131,6 +6131,11 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
|
||||||
return getStartTime().toString();
|
return getStartTime().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override // NameNodeMXBean
|
||||||
|
public long getNNStartedTimeInMillis() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
@Override // NameNodeMXBean
|
@Override // NameNodeMXBean
|
||||||
public String getCompileInfo() {
|
public String getCompileInfo() {
|
||||||
return VersionInfo.getDate() + " by " + VersionInfo.getUser() +
|
return VersionInfo.getDate() + " by " + VersionInfo.getUser() +
|
||||||
|
|
|
@ -238,6 +238,12 @@ public interface NameNodeMXBean {
|
||||||
*/
|
*/
|
||||||
public String getNNStarted();
|
public String getNNStarted();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the NN start time in milliseconds.
|
||||||
|
* @return the NN start time in msec
|
||||||
|
*/
|
||||||
|
long getNNStartedTimeInMillis();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the compilation information which contains date, user and branch
|
* Get the compilation information which contains date, user and branch
|
||||||
*
|
*
|
||||||
|
|
|
@ -130,9 +130,9 @@
|
||||||
<tr><th>Namenode ID:</th><td>{NamenodeID}</td></tr>
|
<tr><th>Namenode ID:</th><td>{NamenodeID}</td></tr>
|
||||||
{/HAInfo}
|
{/HAInfo}
|
||||||
{#nn}
|
{#nn}
|
||||||
<tr><th>Started:</th><td>{NNStarted}</td></tr>
|
<tr><th>Started:</th><td>{NNStartedTimeInMillis|date_tostring}</td></tr>
|
||||||
<tr><th>Version:</th><td>{Version}</td></tr>
|
<tr><th>Version:</th><td>{Version}</td></tr>
|
||||||
<tr><th>Compiled:</th><td>{CompileInfo}</td></tr>
|
<tr><th>Compiled:</th><td>{CompileInfo|format_compile_info}</td></tr>
|
||||||
<tr><th>Cluster ID:</th><td>{ClusterId}</td></tr>
|
<tr><th>Cluster ID:</th><td>{ClusterId}</td></tr>
|
||||||
<tr><th>Block Pool ID:</th><td>{BlockPoolId}</td></tr>
|
<tr><th>Block Pool ID:</th><td>{BlockPoolId}</td></tr>
|
||||||
{/nn}
|
{/nn}
|
||||||
|
@ -423,7 +423,6 @@ There are no reported volume failures.
|
||||||
</script><script type="text/javascript" src="/static/bootstrap-3.0.2/js/bootstrap.min.js">
|
</script><script type="text/javascript" src="/static/bootstrap-3.0.2/js/bootstrap.min.js">
|
||||||
</script><script type="text/javascript" src="/static/dataTables.bootstrap.js">
|
</script><script type="text/javascript" src="/static/dataTables.bootstrap.js">
|
||||||
</script><script type="text/javascript" src="/static/moment.min.js">
|
</script><script type="text/javascript" src="/static/moment.min.js">
|
||||||
</script><script type="text/javascript" src="/static/moment.min.js">
|
|
||||||
</script><script type="text/javascript" src="/static/dust-full-2.0.0.min.js">
|
</script><script type="text/javascript" src="/static/dust-full-2.0.0.min.js">
|
||||||
</script><script type="text/javascript" src="/static/dust-helpers-1.1.1.min.js">
|
</script><script type="text/javascript" src="/static/dust-helpers-1.1.1.min.js">
|
||||||
</script><script type="text/javascript" src="/static/dfs-dust.js">
|
</script><script type="text/javascript" src="/static/dfs-dust.js">
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
||||||
var value = dust.helpers.tap(params.value, chunk, ctx);
|
var value = dust.helpers.tap(params.value, chunk, ctx);
|
||||||
return chunk.write('' + new Date(Number(value)).toLocaleString());
|
return chunk.write('' + moment(Number(value)).format('ddd MMM DD HH:mm:ss ZZ YYYY'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@
|
||||||
var HELPERS = {
|
var HELPERS = {
|
||||||
'helper_relative_time' : function (chunk, ctx, bodies, params) {
|
'helper_relative_time' : function (chunk, ctx, bodies, params) {
|
||||||
var value = dust.helpers.tap(params.value, chunk, ctx);
|
var value = dust.helpers.tap(params.value, chunk, ctx);
|
||||||
return chunk.write(moment().subtract(Number(value), 'seconds').format('YYYY-MM-DD HH:mm:ss'));
|
return chunk.write(moment().subtract(Number(value), 'seconds').format('ddd MMM DD HH:mm:ss ZZ YYYY'));
|
||||||
},
|
},
|
||||||
'helper_usage_bar' : function (chunk, ctx, bodies, params) {
|
'helper_usage_bar' : function (chunk, ctx, bodies, params) {
|
||||||
var value = dust.helpers.tap(params.value, chunk, ctx);
|
var value = dust.helpers.tap(params.value, chunk, ctx);
|
||||||
|
@ -262,7 +262,7 @@
|
||||||
var HELPERS = {
|
var HELPERS = {
|
||||||
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
||||||
var value = dust.helpers.tap(params.value, chunk, ctx);
|
var value = dust.helpers.tap(params.value, chunk, ctx);
|
||||||
return chunk.write('' + new Date(Number(value)).toLocaleString());
|
return chunk.write('' + moment(Number(value)).format('ddd MMM DD HH:mm:ss ZZ YYYY'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -199,6 +199,7 @@
|
||||||
</script><script type="text/javascript" src="/static/dust-helpers-1.1.1.min.js">
|
</script><script type="text/javascript" src="/static/dust-helpers-1.1.1.min.js">
|
||||||
</script><script type="text/javascript" src="/static/dfs-dust.js">
|
</script><script type="text/javascript" src="/static/dfs-dust.js">
|
||||||
</script><script type="text/javascript" src="explorer.js">
|
</script><script type="text/javascript" src="explorer.js">
|
||||||
|
</script><script type="text/javascript" src="/static/moment.min.js">
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -146,7 +146,7 @@
|
||||||
var HELPERS = {
|
var HELPERS = {
|
||||||
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
'helper_date_tostring' : function (chunk, ctx, bodies, params) {
|
||||||
var value = dust.helpers.tap(params.value, chunk, ctx);
|
var value = dust.helpers.tap(params.value, chunk, ctx);
|
||||||
return chunk.write('' + new Date(Number(value)).toLocaleString());
|
return chunk.write('' + moment(Number(value)).format('ddd MMM DD HH:mm:ss ZZ YYYY'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var url = '/webhdfs/v1' + encode_path(dir) + '?op=LISTSTATUS';
|
var url = '/webhdfs/v1' + encode_path(dir) + '?op=LISTSTATUS';
|
||||||
|
|
|
@ -58,9 +58,15 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
'date_tostring' : function (v) {
|
'date_tostring' : function (v) {
|
||||||
return new Date(Number(v)).toLocaleString();
|
return moment(Number(v)).format('ddd MMM DD HH:mm:ss ZZ YYYY');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'format_compile_info' : function (v) {
|
||||||
|
var info = v.split(" by ")
|
||||||
|
var date = moment(info[0]).format('ddd MMM DD HH:mm:ss ZZ YYYY');
|
||||||
|
return date.concat(" by ").concat(info[1]);
|
||||||
|
},
|
||||||
|
|
||||||
'helper_to_permission': function (v) {
|
'helper_to_permission': function (v) {
|
||||||
var symbols = [ '---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx' ];
|
var symbols = [ '---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx' ];
|
||||||
var vInt = parseInt(v, 8);
|
var vInt = parseInt(v, 8);
|
||||||
|
|
Loading…
Reference in New Issue