diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js index cffe19839ca..f4836954b21 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js @@ -32,6 +32,7 @@ export default DS.Model.extend({ logsLink: DS.attr('string'), state: DS.attr('string'), appAttemptId: DS.attr('string'), + diagnosticsInfo: DS.attr('string'), appId: Ember.computed("id",function () { var id = this.get("id"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js index 7482a2fe998..9384418d992 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js @@ -31,6 +31,7 @@ export default DS.Model.extend({ containerState: DS.attr('string'), nodeHttpAddress: DS.attr('string'), nodeId: DS.attr('string'), + diagnosticsInfo: DS.attr('string'), startTs: function() { return Converter.dateToTimeStamp(this.get("startedTime")); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app-attempt.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app-attempt.js index f8f598b0632..55f484b0a6b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app-attempt.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app-attempt.js @@ -40,7 +40,8 @@ export default DS.JSONAPISerializer.extend({ hosts: payload.host, state: payload.appAttemptState, logsLink: payload.logsLink, - appAttemptId: payload.appAttemptId + appAttemptId: payload.appAttemptId, + diagnosticsInfo: payload.diagnosticsInfo } }; diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-timeline-container.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-timeline-container.js index 132297261da..99ab6c4f313 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-timeline-container.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-timeline-container.js @@ -22,11 +22,6 @@ import Converter from 'yarn-ui/utils/converter'; export default DS.JSONAPISerializer.extend({ internalNormalizeSingleResponse(store, primaryModelClass, payload) { - var payloadEvents = payload.events, - createdEvent = payloadEvents.filterBy('id', 'YARN_CONTAINER_CREATED')[0], - startedTime = createdEvent? createdEvent.timestamp : Date.now(), - finishedEvent = payloadEvents.filterBy('id', 'YARN_CONTAINER_FINISHED')[0], - finishedTime = finishedEvent? finishedEvent.timestamp : Date.now() var fixedPayload = { id: payload.id, @@ -42,6 +37,7 @@ export default DS.JSONAPISerializer.extend({ containerExitStatus: payload.info.YARN_CONTAINER_EXIT_STATUS, containerState: payload.info.YARN_CONTAINER_STATE, nodeId: payload.info.YARN_CONTAINER_ALLOCATED_HOST + ':' + payload.info.YARN_CONTAINER_ALLOCATED_PORT, + diagnosticsInfo: payload.info.YARN_CONTAINER_DIAGNOSTICS_INFO } }; return fixedPayload; diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/styles/app.scss b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/styles/app.scss index a85e0eb4de5..c0aaebeb548 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/styles/app.scss +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/styles/app.scss @@ -728,3 +728,12 @@ div.service-action-mask img { word-wrap: nowrap; overflow: scroll; } + +.diagnostic-info { + pre { + margin-bottom: 0; + white-space: pre-wrap; + border: none; + border-radius: 2px; + } +} \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs index c02c6f7e46d..dc0397a6c0c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs @@ -62,5 +62,11 @@ Link {{/if}} + {{#if attempt.diagnosticsInfo}} + + Diagnostics Info + {{attempt.diagnosticsInfo}} + + {{/if}} diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/timeline-view.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/timeline-view.hbs index 0a1209dfe74..7e7f783dc4e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/timeline-view.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/timeline-view.hbs @@ -37,24 +37,42 @@


-
- -
-
-
- {{#if selected.link}} - {{#link-to selected.linkname selected.id (query-params service=serviceName)}}{{selected.id}}{{/link-to}} +
+
+ +
+
+
+ {{#if selected.link}} + {{#link-to selected.linkname selected.id (query-params service=serviceName)}}{{selected.id}}{{/link-to}} + {{else}} + {{selected.id}} + {{/if}} +
+ {{#if attemptModel}} + {{app-attempt-table attempt=selected}} {{else}} - {{selected.id}} + {{container-table container=selected}} {{/if}}
- {{#if attemptModel}} - {{app-attempt-table attempt=selected}} - {{else}} - {{container-table container=selected}} - {{/if}}
+ {{#unless attemptModel}} + {{#if selected.diagnosticsInfo}} +
+
+
+
+ Diagnostic Info for {{selected.id}} +
+
+
{{selected.diagnosticsInfo}}
+
+
+
+
+ {{/if}} + {{/unless}}
{{em-table columns=gridColumns rows=gridRows definition=tableDefinition}}