فهرست منبع

HUE-2308 [oozie] Use new metric collection system

Romain Rigaux 11 سال پیش
والد
کامیت
e994227

+ 29 - 14
apps/oozie/src/oozie/templates/dashboard/list_oozie_info.mako

@@ -40,11 +40,17 @@ ${ layout.menubar(section='oozie', dashboard=True) }
   </h1>
 
   <ul class="nav nav-tabs">
+    % if instrumentation:
     <li class="active"><a href="#instrumentation" data-toggle="tab">${ _('Instrumentation') }</a></li>
+    % else:
+    <li class="active"><a href="#metrics" data-toggle="tab">${ _('Metrics') }</a></li>
+    % endif
     <li><a href="#configuration" data-toggle="tab">${ _('Configuration') }</a></li>
   </ul>
 
   <div class="tab-content" style="padding-bottom:200px">
+
+    % if instrumentation:
     <div class="tab-pane active" id="instrumentation">
       <form class="form-search">
         <input type="text" class="searchFilter input-xlarge search-query" placeholder="${_('Text Filter')}">
@@ -107,8 +113,17 @@ ${ layout.menubar(section='oozie', dashboard=True) }
             % endfor
         </div>
       </div>
+    </div>
+    % endif
 
+    % if metrics:
+    <div class="tab-pane active" id="metrics">
+      <form class="form-search">
+        <input type="text" class="searchFilter input-xlarge search-query" placeholder="${_('Text Filter')}">
+      </form>
+      ${ metrics }
     </div>
+    % endif
 
     <div class="tab-pane" id="configuration">
       <form class="form-search">
@@ -134,20 +149,20 @@ ${ layout.menubar(section='oozie', dashboard=True) }
 
     $("*[rel=tooltip]").tooltip();
 
-        var _metadataTable = $("#configurationTable").dataTable({
-            "bPaginate": false,
-            "bLengthChange": false,
-            "bInfo": false,
-            "bAutoWidth": false,
-            "aoColumns": [
-                { "sWidth": "30%" },
-                { "sWidth": "70%" }
-            ],
-            "oLanguage": {
-                "sEmptyTable": "${_('No data available')}",
-                "sZeroRecords": "${_('No matching records')}",
-            }
-        });
+    var _metadataTable = $("#configurationTable").dataTable({
+        "bPaginate": false,
+        "bLengthChange": false,
+        "bInfo": false,
+        "bAutoWidth": false,
+        "aoColumns": [
+            { "sWidth": "30%" },
+            { "sWidth": "70%" }
+        ],
+        "oLanguage": {
+           "sEmptyTable": "${_('No data available')}",
+           "sZeroRecords": "${_('No matching records')}",
+        }
+   });
 
    var instrumentationTables = [];
 

+ 9 - 1
apps/oozie/src/oozie/views/dashboard.py

@@ -396,12 +396,20 @@ def get_oozie_job_log(request, job_id):
 def list_oozie_info(request):
   api = get_oozie(request.user)
 
-  instrumentation = api.get_instrumentation()
   configuration = api.get_configuration()
   oozie_status = api.get_oozie_status()
+  instrumentation = {}
+  metrics = {}
+
+  if 'org.apache.oozie.service.MetricsInstrumentationService' in [c.strip() for c in configuration.get('oozie.services.ext', '').split(',')]:
+    api2 = get_oozie(request.user, api_version="v2")
+    metrics = api2.get_metrics()
+  else:
+    instrumentation = api.get_instrumentation()
 
   return render('dashboard/list_oozie_info.mako', request, {
     'instrumentation': instrumentation,
+    'metrics': metrics,
     'configuration': configuration,
     'oozie_status': oozie_status,
   })

+ 1 - 0
apps/search/static/js/search.ko.js

@@ -433,6 +433,7 @@ var Collection = function (vm, collection) {
 
   self.addFacet = function (facet_json) {
     self.removeFacet(function(){return facet_json.widget_id});
+    logGA('add_facet/' + facet_json.widgetType);
 
     $.post("/search/template/new_facet", {
       "collection": ko.mapping.toJSON(self),

+ 5 - 0
desktop/libs/liboozie/src/liboozie/oozie_api.py

@@ -275,6 +275,11 @@ class OozieApi(object):
     resp = self._root.get('admin/instrumentation', params)
     return resp
 
+  def get_metrics(self):
+    params = self._get_params()
+    resp = self._root.get('admin/metrics', params)
+    return resp
+
   def get_configuration(self):
     """
     get_configuration() -> Oozie config (dictionary)