YARN-8595. [UI2] Container diagnostic information is missing from container page. Contributed by Akhil PB.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d920b9db Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d920b9db Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d920b9db Branch: refs/heads/YARN-7402 Commit: d920b9db77be44adc4f8a2a0c2df889af82be04f Parents: a48a0cc Author: Sunil G <sun...@apache.org> Authored: Wed Aug 1 14:27:54 2018 +0530 Committer: Sunil G <sun...@apache.org> Committed: Wed Aug 1 14:27:54 2018 +0530 ---------------------------------------------------------------------- .../main/webapp/app/models/yarn-app-attempt.js | 1 + .../app/models/yarn-timeline-container.js | 1 + .../webapp/app/serializers/yarn-app-attempt.js | 3 +- .../app/serializers/yarn-timeline-container.js | 6 +-- .../src/main/webapp/app/styles/app.scss | 9 ++++ .../templates/components/app-attempt-table.hbs | 6 +++ .../app/templates/components/timeline-view.hbs | 44 ++++++++++++++------ 7 files changed, 51 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app-attempt.js ---------------------------------------------------------------------- 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 cffe198..f483695 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"); http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-timeline-container.js ---------------------------------------------------------------------- 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 7482a2f..9384418 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")); http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app-attempt.js ---------------------------------------------------------------------- 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 f8f598b..55f484b 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 } }; http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-timeline-container.js ---------------------------------------------------------------------- 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 1322972..99ab6c4 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; http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/styles/app.scss ---------------------------------------------------------------------- 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 a85e0eb..c0aaebe 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 http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/app-attempt-table.hbs ---------------------------------------------------------------------- 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 c02c6f7..dc0397a 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 @@ <td><a href="{{prepend-protocol attempt.logsLink}}" target="_blank">Link</a></td> </tr> {{/if}} + {{#if attempt.diagnosticsInfo}} + <tr> + <td>Diagnostics Info</td> + <td>{{attempt.diagnosticsInfo}}</td> + </tr> + {{/if}} </tbody> </table> http://git-wip-us.apache.org/repos/asf/hadoop/blob/d920b9db/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/timeline-view.hbs ---------------------------------------------------------------------- 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 0a1209d..7e7f783 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 @@ <div class="tab-content"> <div role="tabpanel" class="tab-pane {{if (eq viewType "graph") "active" ""}}" id="graphViewTab"> <br/><br/> - <div class="col-md-7 container-fluid" id={{parent-id}}></div> - <!-- diag info --> - <div class="col-md-5 container-fluid"> - <div class="panel panel-default add-ellipsis attempt-info-panel"> - <div class="panel-heading"> - {{#if selected.link}} - {{#link-to selected.linkname selected.id (query-params service=serviceName)}}{{selected.id}}{{/link-to}} + <div class="row"> + <div class="col-md-7 container-fluid" id={{parent-id}}></div> + <!-- diag info --> + <div class="col-md-5 container-fluid"> + <div class="panel panel-default add-ellipsis attempt-info-panel"> + <div class="panel-heading"> + {{#if selected.link}} + {{#link-to selected.linkname selected.id (query-params service=serviceName)}}{{selected.id}}{{/link-to}} + {{else}} + {{selected.id}} + {{/if}} + </div> + {{#if attemptModel}} + {{app-attempt-table attempt=selected}} {{else}} - {{selected.id}} + {{container-table container=selected}} {{/if}} </div> - {{#if attemptModel}} - {{app-attempt-table attempt=selected}} - {{else}} - {{container-table container=selected}} - {{/if}} </div> </div> + {{#unless attemptModel}} + {{#if selected.diagnosticsInfo}} + <div class="row"> + <div class="col-md-12"> + <div class="panel panel-default"> + <div class="panel-heading"> + Diagnostic Info for {{selected.id}} + </div> + <div class="diagnostic-info"> + <pre>{{selected.diagnosticsInfo}}</pre> + </div> + </div> + </div> + </div> + {{/if}} + {{/unless}} </div> <div role="tabpanel" class="tab-pane {{if (eq viewType "grid") "active" ""}}" id="gridViewTab"> {{em-table columns=gridColumns rows=gridRows definition=tableDefinition}} --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org