ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrii Tkach (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMBARI-10102) Create ember data model for widget
Date Tue, 17 Mar 2015 12:26:38 GMT
Andrii Tkach created AMBARI-10102:
-------------------------------------

             Summary: Create ember data model for widget
                 Key: AMBARI-10102
                 URL: https://issues.apache.org/jira/browse/AMBARI-10102
             Project: Ambari
          Issue Type: Task
          Components: ambari-web
    Affects Versions: 2.1.0
            Reporter: Andrii Tkach
            Assignee: Andrii Tkach
             Fix For: 2.1.0


As a part of this ticket, create an experimental flag under which poll for the widget information
from the stack while landing on the service summary page for the first time. Since this is
a static information, it is required to be polled just once. This needs to be mapped to a
model as described below

Example API for HDFS service:
{code}
{
  href: "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/2.2/services/HDFS/artifacts/widget_layout",
  Artifacts: {
    artifact_name: "widget_order",
    service_name: "HDFS",
    stack_name: "HDP",
    stack_version: "2.2"
  },

 artifact_data: {
       name: "HDFS",  // This is the serviceName in the ember-data model
       sections: [ 
         {
           name: "HDFS_SUMMARY" // This is the sectionName as described in the below ember-data
model
           widgets: [
             {
               widget_name: “NAMENODE_HEAP”,
               widget_type: “GAUGE”,
               component_name: “NAMENODE”,
               display_name: "NameNode Heap",
                expression: [{
                  template: “${jvmMemoryHeapUsed}/${jvmMemoryHeapMax}”
               }],
               properties: {
                 “warning_threshold”: 0.5,
                 “error_threshold”:   0.7
               }
             }, 
             {
               widget_name: "HDFS_BYTES_READ",
               widget_type: “HEATMAP”,
               display_name: "HDFS Bytes Read",
               description: "", 
               component_name: “DATANODE”,
               expression: [
              {
               template: "${metrics.dfs.datanode.bytes_read}"
              } 
           ]
           properties: {
             display_unit: "MB",
             max_limit: "1024"
           }
             }      
           ]
         }
       ]  
     },
     
       ]  
     }
   ]
 }  
}

{code}


{code}
App.Widget = DS.Model.extend({
  widgetName: DS.attr('string'),
  defaultOrder: "" // This field is not derived from API but needs to be filled in the mapper
on the client side
  widgetType: DS.attr('string'),
  displayName: DS.attr('string'),
  serviceName: DS.attr('string'),
  componentName: DS.attr('string'),
  timeCreated: DS.attr('number'),
  sectionName: DS.attr('string'), 
  author: DS.attr('string'),
  properties: DS.attr('object'),
  expression: DS.attr('array')
});
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message