123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- import Ember from 'ember';
- import DS from 'ember-data';
- import Converter from 'yarn-ui/utils/converter';
- export default DS.Model.extend({
- startTime: DS.attr('string'),
- startedTime: DS.attr('string'),
- finishedTime: DS.attr('string'),
- containerId: DS.attr('string'),
- amContainerId: DS.attr('string'),
- nodeHttpAddress: DS.attr('string'),
- nodeId: DS.attr('string'),
- hosts: DS.attr('string'),
- logsLink: DS.attr('string'),
- state: DS.attr('string'),
- appAttemptId: DS.attr('string'),
- appId: Ember.computed("id",function () {
- var id = this.get("id");
- id = id.split("_");
- id[0] = "application";
- id.pop();
- return id.join("_");
- }),
- attemptStartedTime: function() {
- var startTime = this.get("startTime");
- // If startTime variable is not present, get from startedTime
- if (startTime === undefined ||
- startTime === "Invalid date") {
- startTime = this.get("startedTime");
- }
- return startTime;
- }.property("startedTime"),
- startTs: function() {
- return Converter.dateToTimeStamp(this.get('attemptStartedTime'));
- }.property("startTime"),
- finishedTs: function() {
- var ts = Converter.dateToTimeStamp(this.get("finishedTime"));
- return ts;
- }.property("finishedTime"),
- validatedFinishedTs: function() {
- if (this.get("finishedTs") < this.get("startTs")) {
- return "";
- }
- return this.get("finishedTime");
- }.property("finishedTime"),
- shortAppAttemptId: function() {
- if (!this.get("containerId")) {
- return this.get("id");
- }
- return "attempt_" +
- parseInt(Converter.containerIdToAttemptId(this.get("containerId")).split("_")[3]);
- }.property("containerId"),
- appMasterContainerId: function() {
- var id = this.get("containerId");
- // If containerId variable is not present, get from amContainerId
- if (id === undefined) {
- id = this.get("amContainerId");
- }
- return id;
- }.property("amContainerId"),
- IsAmNodeUrl: function() {
- var url = this.get("nodeHttpAddress");
- // If nodeHttpAddress variable is not present, hardcode it.
- if (url === undefined) {
- url = "Not Available";
- }
- return url !== "Not Available";
- }.property("nodeHttpAddress"),
- amNodeId : function() {
- var id = this.get("nodeId");
- // If nodeId variable is not present, get from host
- if (id === undefined) {
- id = this.get("hosts");
- }
- return id;
- }.property("nodeId"),
- IsLinkAvailable: function() {
- var url = this.get("logsLink");
- // If logsLink variable is not present, hardcode its.
- if (url === undefined) {
- url = "Not Available";
- }
- return url !== "Not Available";
- }.property("logsLink"),
- elapsedTime: function() {
- var elapsedMs = this.get("finishedTs") - this.get("startTs");
- if (elapsedMs <= 0) {
- elapsedMs = Date.now() - this.get("startTs");
- }
- return Converter.msToElapsedTime(elapsedMs);
- }.property(),
- tooltipLabel: function() {
- return "<p>Id:" + this.get("id") +
- "</p><p>ElapsedTime:" +
- String(this.get("elapsedTime")) + "</p>";
- }.property(),
- link: function() {
- return "/yarn-app-attempt/" + this.get("id");
- }.property(),
- linkname: function() {
- return "yarn-app-attempt";
- }.property(),
- attemptState: function() {
- return this.get("state");
- }.property(),
- });
|