You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2016/03/07 20:03:31 UTC
[3/6] storm git commit: 1. change all defmeter/defgauge to java 2.
change register-metrics-reporter/reporters in common to java
1. change all defmeter/defgauge to java
2. change register-metrics-reporter/reporters in common to java
Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/68e5d036
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/68e5d036
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/68e5d036
Branch: refs/heads/master
Commit: 68e5d03634b3d2ecf01be0e23466984977a18437
Parents: 122f0f4
Author: 卫乐 <we...@taobao.com>
Authored: Wed Mar 2 11:57:06 2016 +0800
Committer: 卫乐 <we...@taobao.com>
Committed: Wed Mar 2 11:57:06 2016 +0800
----------------------------------------------------------------------
.../src/clj/org/apache/storm/daemon/common.clj | 13 +---
.../src/clj/org/apache/storm/daemon/drpc.clj | 30 ++++----
.../clj/org/apache/storm/daemon/logviewer.clj | 27 ++++---
.../src/clj/org/apache/storm/daemon/nimbus.clj | 2 +-
.../clj/org/apache/storm/daemon/supervisor.clj | 12 +--
storm-core/src/clj/org/apache/storm/ui/core.clj | 81 ++++++++++----------
.../src/clj/org/apache/storm/ui/helpers.clj | 10 +--
.../storm/metric/StormMetricsRegistry.java | 21 ++++-
8 files changed, 99 insertions(+), 97 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/daemon/common.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/daemon/common.clj b/storm-core/src/clj/org/apache/storm/daemon/common.clj
index 65cf233..d356a7e 100644
--- a/storm-core/src/clj/org/apache/storm/daemon/common.clj
+++ b/storm-core/src/clj/org/apache/storm/daemon/common.clj
@@ -33,18 +33,7 @@
(:import [org.apache.storm Thrift]
(org.apache.storm.daemon Acker))
(:require [clojure.set :as set])
- (:require [metrics.reporters.jmx :as jmx])
- (:require [metrics.core :refer [default-registry]]))
-
-(defn start-metrics-reporter [reporter conf]
- (doto reporter
- (.prepare default-registry conf)
- (.start))
- (log-message "Started statistics report plugin..."))
-
-(defn start-metrics-reporters [conf]
- (doseq [reporter (MetricsUtils/getPreparableReporters conf)]
- (start-metrics-reporter reporter conf)))
+ (:require [metrics.reporters.jmx :as jmx]))
(def ACKER-COMPONENT-ID Acker/ACKER_COMPONENT_ID)
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/daemon/drpc.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/daemon/drpc.clj b/storm-core/src/clj/org/apache/storm/daemon/drpc.clj
index 001e810..0fe19e9 100644
--- a/storm-core/src/clj/org/apache/storm/daemon/drpc.clj
+++ b/storm-core/src/clj/org/apache/storm/daemon/drpc.clj
@@ -16,7 +16,8 @@
(ns org.apache.storm.daemon.drpc
(:import [org.apache.storm.security.auth AuthUtils ThriftServer ThriftConnectionType ReqContext]
- [org.apache.storm.ui UIHelpers IConfigurator FilterConfiguration])
+ [org.apache.storm.ui UIHelpers IConfigurator FilterConfiguration]
+ [org.apache.storm.metric StormMetricsRegistry])
(:import [org.apache.storm.security.auth.authorizer DRPCAuthorizerBase])
(:import [org.apache.storm.utils Utils])
(:import [org.apache.storm.generated DistributedRPC DistributedRPC$Iface DistributedRPC$Processor
@@ -36,15 +37,14 @@
(:use compojure.core)
(:use ring.middleware.reload)
(:require [compojure.handler :as handler])
- (:require [metrics.meters :refer [defmeter mark!]])
(:gen-class))
-(defmeter drpc:num-execute-http-requests)
-(defmeter drpc:num-execute-calls)
-(defmeter drpc:num-result-calls)
-(defmeter drpc:num-failRequest-calls)
-(defmeter drpc:num-fetchRequest-calls)
-(defmeter drpc:num-shutdown-calls)
+(def drpc:num-execute-http-requests (StormMetricsRegistry/registerMeter "drpc:num-execute-http-requests"))
+(def drpc:num-execute-calls (StormMetricsRegistry/registerMeter "drpc:num-execute-calls"))
+(def drpc:num-result-calls (StormMetricsRegistry/registerMeter "drpc:num-result-calls"))
+(def drpc:num-failRequest-calls (StormMetricsRegistry/registerMeter "drpc:num-failRequest-calls"))
+(def drpc:num-fetchRequest-calls (StormMetricsRegistry/registerMeter "drpc:num-fetchRequest-calls"))
+(def drpc:num-shutdown-calls (StormMetricsRegistry/registerMeter "drpc:num-shutdown-calls"))
(def STORM-VERSION (VersionInfo/getVersion))
@@ -102,7 +102,7 @@
(reify DistributedRPC$Iface
(^String execute
[this ^String function ^String args]
- (mark! drpc:num-execute-calls)
+ (.mark drpc:num-execute-calls)
(log-debug "Received DRPC request for " function " (" args ") at " (System/currentTimeMillis))
(check-authorization drpc-acl-handler
{DRPCAuthorizerBase/FUNCTION_NAME function}
@@ -132,7 +132,7 @@
(^void result
[this ^String id ^String result]
- (mark! drpc:num-result-calls)
+ (.mark drpc:num-result-calls)
(when-let [func (@id->function id)]
(check-authorization drpc-acl-handler
{DRPCAuthorizerBase/FUNCTION_NAME func}
@@ -146,7 +146,7 @@
(^void failRequest
[this ^String id]
- (mark! drpc:num-failRequest-calls)
+ (.mark drpc:num-failRequest-calls)
(when-let [func (@id->function id)]
(check-authorization drpc-acl-handler
{DRPCAuthorizerBase/FUNCTION_NAME func}
@@ -158,7 +158,7 @@
(^DRPCRequest fetchRequest
[this ^String func]
- (mark! drpc:num-fetchRequest-calls)
+ (.mark drpc:num-fetchRequest-calls)
(check-authorization drpc-acl-handler
{DRPCAuthorizerBase/FUNCTION_NAME func}
"fetchRequest")
@@ -173,7 +173,7 @@
(shutdown
[this]
- (mark! drpc:num-shutdown-calls)
+ (.mark drpc:num-shutdown-calls)
(.interrupt clear-thread)))))
(defn handle-request [handler]
@@ -187,7 +187,7 @@
(.populateContext http-creds-handler (ReqContext/context) servlet-request)))
(defn webapp [handler http-creds-handler]
- (mark! drpc:num-execute-http-requests)
+ (.mark drpc:num-execute-http-requests)
(->
(routes
(POST "/drpc/:func" [:as {:keys [body servlet-request]} func & m]
@@ -268,7 +268,7 @@
https-need-client-auth
https-want-client-auth)
(UIHelpers/configFilter server (ring.util.servlet/servlet app) filters-confs))))))
- (start-metrics-reporters conf)
+ (StormMetricsRegistry/startMetricsReporters conf)
(when handler-server
(.serve handler-server)))))
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/daemon/logviewer.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/daemon/logviewer.clj b/storm-core/src/clj/org/apache/storm/daemon/logviewer.clj
index 221dad7..ed8d980 100644
--- a/storm-core/src/clj/org/apache/storm/daemon/logviewer.clj
+++ b/storm-core/src/clj/org/apache/storm/daemon/logviewer.clj
@@ -20,7 +20,8 @@
(:use [hiccup core page-helpers form-helpers])
(:use [org.apache.storm config util log])
(:use [org.apache.storm.ui helpers])
- (:import [org.apache.storm StormTimer])
+ (:import [org.apache.storm StormTimer]
+ [org.apache.storm.metric StormMetricsRegistry])
(:import [org.apache.storm.utils Utils Time VersionInfo ConfigUtils])
(:import [org.slf4j LoggerFactory])
(:import [java.util Arrays ArrayList HashSet])
@@ -45,8 +46,6 @@
[ring.util.codec :as codec]
[ring.util.response :as resp]
[clojure.string :as string])
- (:require [metrics.meters :refer [defmeter mark!]])
- (:use [org.apache.storm.daemon.common :only [start-metrics-reporters]])
(:gen-class))
(def ^:dynamic *STORM-CONF* (clojurify-structure (ConfigUtils/readStormConfig)))
@@ -54,11 +53,11 @@
(def worker-log-filename-pattern #"^worker.log(.*)")
-(defmeter logviewer:num-log-page-http-requests)
-(defmeter logviewer:num-daemonlog-page-http-requests)
-(defmeter logviewer:num-download-log-file-http-requests)
-(defmeter logviewer:num-download-log-daemon-file-http-requests)
-(defmeter logviewer:num-list-logs-http-requests)
+(def logviewer:num-log-page-http-requests (StormMetricsRegistry/registerMeter "logviewer:num-log-page-http-requests"))
+(def logviewer:num-daemonlog-page-http-requests (StormMetricsRegistry/registerMeter "logviewer:num-daemonlog-page-http-requests"))
+(def logviewer:num-download-log-file-http-requests (StormMetricsRegistry/registerMeter "logviewer:num-download-log-file-http-requests"))
+(def logviewer:num-download-log-daemon-file-http-requests (StormMetricsRegistry/registerMeter "logviewer:num-download-log-daemon-file-http-requests"))
+(def logviewer:num-list-logs-http-requests (StormMetricsRegistry/registerMeter "logviewer:num-list-logs-http-requests"))
(defn cleanup-cutoff-age-millis [conf now-millis]
(- now-millis (* (conf LOGVIEWER-CLEANUP-AGE-MINS) 60 1000)))
@@ -989,7 +988,7 @@
(defroutes log-routes
(GET "/log" [:as req & m]
(try
- (mark! logviewer:num-log-page-http-requests)
+ (.mark logviewer:num-log-page-http-requests)
(let [servlet-request (:servlet-request req)
log-root (:log-root req)
user (.getUserName http-creds-handler servlet-request)
@@ -1057,7 +1056,7 @@
(resp/status 404)))))
(GET "/daemonlog" [:as req & m]
(try
- (mark! logviewer:num-daemonlog-page-http-requests)
+ (.mark logviewer:num-daemonlog-page-http-requests)
(let [servlet-request (:servlet-request req)
daemonlog-root (:daemonlog-root req)
user (.getUserName http-creds-handler servlet-request)
@@ -1071,7 +1070,7 @@
(ring-response-from-exception ex))))
(GET "/download/:file" [:as {:keys [servlet-request servlet-response log-root]} file & m]
(try
- (mark! logviewer:num-download-log-file-http-requests)
+ (.mark logviewer:num-download-log-file-http-requests)
(let [user (.getUserName http-creds-handler servlet-request)]
(download-log-file file servlet-request servlet-response user log-root))
(catch InvalidRequestException ex
@@ -1079,7 +1078,7 @@
(ring-response-from-exception ex))))
(GET "/daemondownload/:file" [:as {:keys [servlet-request servlet-response daemonlog-root]} file & m]
(try
- (mark! logviewer:num-download-log-daemon-file-http-requests)
+ (.mark logviewer:num-download-log-daemon-file-http-requests)
(let [user (.getUserName http-creds-handler servlet-request)]
(download-log-file file servlet-request servlet-response user daemonlog-root))
(catch InvalidRequestException ex
@@ -1137,7 +1136,7 @@
(json-response (UIHelpers/exceptionToJson ex) (:callback m) :status 400))))
(GET "/listLogs" [:as req & m]
(try
- (mark! logviewer:num-list-logs-http-requests)
+ (.mark logviewer:num-list-logs-http-requests)
(let [servlet-request (:servlet-request req)
user (.getUserName http-creds-handler servlet-request)]
(list-log-files user
@@ -1208,4 +1207,4 @@
STORM-VERSION
"'")
(start-logviewer! conf log-root daemonlog-root)
- (start-metrics-reporters conf)))
+ (StormMetricsRegistry/startMetricsReporters conf)))
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj b/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj
index c05482c..9b19a22 100644
--- a/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj
+++ b/storm-core/src/clj/org/apache/storm/daemon/nimbus.clj
@@ -1489,7 +1489,7 @@
(def nimbus:num-supervisors (StormMetricsRegistry/registerGauge "nimbus:num-supervisors"
(fn [] (.size (.supervisors (:storm-cluster-state nimbus) nil)))))
- (start-metrics-reporters conf)
+ (StormMetricsRegistry/startMetricsReporters conf)
(reify Nimbus$Iface
(^void submitTopologyWithOpts
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/daemon/supervisor.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/daemon/supervisor.clj b/storm-core/src/clj/org/apache/storm/daemon/supervisor.clj
index 7295679..88b8751 100644
--- a/storm-core/src/clj/org/apache/storm/daemon/supervisor.clj
+++ b/storm-core/src/clj/org/apache/storm/daemon/supervisor.clj
@@ -14,7 +14,8 @@
;; See the License for the specific language governing permissions and
;; limitations under the License.
(ns org.apache.storm.daemon.supervisor
- (:import [java.io File IOException FileOutputStream])
+ (:import [java.io File IOException FileOutputStream]
+ [org.apache.storm.metric StormMetricsRegistry])
(:import [org.apache.storm.scheduler ISupervisor]
[org.apache.storm.utils LocalState Time Utils Utils$ExitCodeCallable
ConfigUtils]
@@ -41,14 +42,12 @@
(:import [org.apache.zookeeper data.ACL ZooDefs$Ids ZooDefs$Perms])
(:import [org.yaml.snakeyaml Yaml]
[org.yaml.snakeyaml.constructor SafeConstructor])
- (:require [metrics.gauges :refer [defgauge]])
- (:require [metrics.meters :refer [defmeter mark!]])
(:import [org.apache.storm StormTimer])
(:gen-class
:methods [^{:static true} [launch [org.apache.storm.scheduler.ISupervisor] void]])
(:require [clojure.string :as str]))
-(defmeter supervisor:num-workers-launched)
+(def supervisor:num-workers-launched (StormMetricsRegistry/registerMeter "supervisor:num-workers-launched"))
(defmulti download-storm-code cluster-mode)
(defmulti launch-worker (fn [supervisor & _] (cluster-mode (:conf supervisor))))
@@ -1322,8 +1321,9 @@
(validate-distributed-mode! conf)
(let [supervisor (mk-supervisor conf nil supervisor)]
(Utils/addShutdownHookWithForceKillIn1Sec #(.shutdown supervisor)))
- (defgauge supervisor:num-slots-used-gauge #(count (my-worker-ids conf)))
- (start-metrics-reporters conf)))
+ (def supervisor:num-slots-used-gauge (StormMetricsRegistry/registerGauge "supervisor:num-slots-used-gauge"
+ #(count (my-worker-ids conf))))
+ (StormMetricsRegistry/startMetricsReporters conf)))
(defn standalone-supervisor []
(let [conf-atom (atom nil)
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/ui/core.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/ui/core.clj b/storm-core/src/clj/org/apache/storm/ui/core.clj
index 143ab14..e1ab71f 100644
--- a/storm-core/src/clj/org/apache/storm/ui/core.clj
+++ b/storm-core/src/clj/org/apache/storm/ui/core.clj
@@ -24,11 +24,11 @@
(:use [org.apache.storm config util log stats converter])
(:use [org.apache.storm.ui helpers])
(:use [org.apache.storm.daemon [common :only [ACKER-COMPONENT-ID ACKER-INIT-STREAM-ID ACKER-ACK-STREAM-ID
- ACKER-FAIL-STREAM-ID mk-authorization-handler
- start-metrics-reporters]]])
+ ACKER-FAIL-STREAM-ID mk-authorization-handler]]])
(:import [org.apache.storm.utils Time]
[org.apache.storm.generated NimbusSummary]
- [org.apache.storm.ui UIHelpers IConfigurator FilterConfiguration])
+ [org.apache.storm.ui UIHelpers IConfigurator FilterConfiguration]
+ [org.apache.storm.metric StormMetricsRegistry])
(:use [clojure.string :only [blank? lower-case trim split]])
(:import [org.apache.storm.generated ExecutorSpecificStats
ExecutorStats ExecutorSummary ExecutorInfo TopologyInfo SpoutStats BoltStats
@@ -51,7 +51,6 @@
[compojure.handler :as handler]
[ring.util.response :as resp]
[org.apache.storm.internal [thrift :as thrift]])
- (:require [metrics.meters :refer [defmeter mark!]])
(:import [org.apache.commons.lang StringEscapeUtils])
(:import [org.apache.logging.log4j Level])
(:import [org.eclipse.jetty.server Server])
@@ -63,24 +62,24 @@
(def http-creds-handler (AuthUtils/GetUiHttpCredentialsPlugin *STORM-CONF*))
(def STORM-VERSION (VersionInfo/getVersion))
-(defmeter ui:num-cluster-configuration-http-requests)
-(defmeter ui:num-cluster-summary-http-requests)
-(defmeter ui:num-nimbus-summary-http-requests)
-(defmeter ui:num-supervisor-summary-http-requests)
-(defmeter ui:num-all-topologies-summary-http-requests)
-(defmeter ui:num-topology-page-http-requests)
-(defmeter ui:num-build-visualization-http-requests)
-(defmeter ui:num-mk-visualization-data-http-requests)
-(defmeter ui:num-component-page-http-requests)
-(defmeter ui:num-log-config-http-requests)
-(defmeter ui:num-activate-topology-http-requests)
-(defmeter ui:num-deactivate-topology-http-requests)
-(defmeter ui:num-debug-topology-http-requests)
-(defmeter ui:num-component-op-response-http-requests)
-(defmeter ui:num-topology-op-response-http-requests)
-(defmeter ui:num-topology-op-response-http-requests)
-(defmeter ui:num-topology-op-response-http-requests)
-(defmeter ui:num-main-page-http-requests)
+(def ui:num-cluster-configuration-http-requests (StormMetricsRegistry/registerMeter "ui:num-cluster-configuration-http-requests"))
+(def ui:num-cluster-summary-http-requests (StormMetricsRegistry/registerMeter "ui:num-cluster-summary-http-requests"))
+(def ui:num-nimbus-summary-http-requests (StormMetricsRegistry/registerMeter "ui:num-nimbus-summary-http-requests"))
+(def ui:num-supervisor-summary-http-requests (StormMetricsRegistry/registerMeter "ui:num-supervisor-summary-http-requests"))
+(def ui:num-all-topologies-summary-http-requests (StormMetricsRegistry/registerMeter "ui:num-all-topologies-summary-http-requests"))
+(def ui:num-topology-page-http-requests (StormMetricsRegistry/registerMeter "ui:num-topology-page-http-requests"))
+(def ui:num-build-visualization-http-requests (StormMetricsRegistry/registerMeter "ui:num-build-visualization-http-requests"))
+(def ui:num-mk-visualization-data-http-requests (StormMetricsRegistry/registerMeter "ui:num-mk-visualization-data-http-requests"))
+(def ui:num-component-page-http-requests (StormMetricsRegistry/registerMeter "ui:num-component-page-http-requests"))
+(def ui:num-log-config-http-requests (StormMetricsRegistry/registerMeter "ui:num-log-config-http-requests"))
+(def ui:num-activate-topology-http-requests (StormMetricsRegistry/registerMeter "ui:num-activate-topology-http-requests"))
+(def ui:num-deactivate-topology-http-requests (StormMetricsRegistry/registerMeter "ui:num-deactivate-topology-http-requests"))
+(def ui:num-debug-topology-http-requests (StormMetricsRegistry/registerMeter "ui:num-debug-topology-http-requests"))
+(def ui:num-component-op-response-http-requests (StormMetricsRegistry/registerMeter "ui:num-component-op-response-http-requests"))
+(def ui:num-topology-op-response-http-requests (StormMetricsRegistry/registerMeter "ui:num-topology-op-response-http-requests"))
+(def ui:num-topology-op-response-http-requests (StormMetricsRegistry/registerMeter "ui:num-topology-op-response-http-requests"))
+(def ui:num-topology-op-response-http-requests (StormMetricsRegistry/registerMeter "ui:num-topology-op-response-http-requests"))
+(def ui:num-main-page-http-requests (StormMetricsRegistry/registerMeter "ui:num-main-page-http-requests"))
(defn assert-authorized-user
([op]
@@ -940,11 +939,11 @@
(defroutes main-routes
(GET "/api/v1/cluster/configuration" [& m]
- (mark! ui:num-cluster-configuration-http-requests)
+ (.mark ui:num-cluster-configuration-http-requests)
(json-response (cluster-configuration)
(:callback m) :need-serialize false))
(GET "/api/v1/cluster/summary" [:as {:keys [cookies servlet-request]} & m]
- (mark! ui:num-cluster-summary-http-requests)
+ (.mark ui:num-cluster-summary-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getClusterInfo")
(let [user (get-user-name servlet-request)]
@@ -952,7 +951,7 @@
"bugtracker-url" (*STORM-CONF* UI-PROJECT-BUGTRACKER-URL)
"central-log-url" (*STORM-CONF* UI-CENTRAL-LOGGING-URL)) (:callback m))))
(GET "/api/v1/nimbus/summary" [:as {:keys [cookies servlet-request]} & m]
- (mark! ui:num-nimbus-summary-http-requests)
+ (.mark ui:num-nimbus-summary-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getClusterInfo")
(json-response (nimbus-summary) (:callback m)))
@@ -960,13 +959,13 @@
(let [user (.getUserName http-creds-handler servlet-request)]
(json-response (topology-history-info user) (:callback m))))
(GET "/api/v1/supervisor/summary" [:as {:keys [cookies servlet-request]} & m]
- (mark! ui:num-supervisor-summary-http-requests)
+ (.mark ui:num-supervisor-summary-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getClusterInfo")
(json-response (assoc (supervisor-summary)
"logviewerPort" (*STORM-CONF* LOGVIEWER-PORT)) (:callback m)))
(GET "/api/v1/topology/summary" [:as {:keys [cookies servlet-request]} & m]
- (mark! ui:num-all-topologies-summary-http-requests)
+ (.mark ui:num-all-topologies-summary-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getClusterInfo")
(json-response (all-topologies-summary) (:callback m)))
@@ -975,23 +974,23 @@
(json-response {"hostPortList" (worker-host-port id)
"logviewerPort" (*STORM-CONF* LOGVIEWER-PORT)} (:callback m))))
(GET "/api/v1/topology/:id" [:as {:keys [cookies servlet-request scheme]} id & m]
- (mark! ui:num-topology-page-http-requests)
+ (.mark ui:num-topology-page-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getTopology" (topology-config id))
(let [user (get-user-name servlet-request)]
(json-response (topology-page id (:window m) (check-include-sys? (:sys m)) user (= scheme :https)) (:callback m))))
(GET "/api/v1/topology/:id/visualization-init" [:as {:keys [cookies servlet-request]} id & m]
- (mark! ui:num-build-visualization-http-requests)
+ (.mark ui:num-build-visualization-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getTopology" (topology-config id))
(json-response (build-visualization id (:window m) (check-include-sys? (:sys m))) (:callback m)))
(GET "/api/v1/topology/:id/visualization" [:as {:keys [cookies servlet-request]} id & m]
- (mark! ui:num-mk-visualization-data-http-requests)
+ (.mark ui:num-mk-visualization-data-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getTopology" (topology-config id))
(json-response (mk-visualization-data id (:window m) (check-include-sys? (:sys m))) (:callback m)))
(GET "/api/v1/topology/:id/component/:component" [:as {:keys [cookies servlet-request scheme]} id component & m]
- (mark! ui:num-component-page-http-requests)
+ (.mark ui:num-component-page-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getTopology" (topology-config id))
(let [user (get-user-name servlet-request)]
@@ -999,12 +998,12 @@
(component-page id component (:window m) (check-include-sys? (:sys m)) user (= scheme :https))
(:callback m))))
(GET "/api/v1/topology/:id/logconfig" [:as {:keys [cookies servlet-request]} id & m]
- (mark! ui:num-log-config-http-requests)
+ (.mark ui:num-log-config-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "getTopology" (topology-config id))
(json-response (log-config id) (:callback m)))
(POST "/api/v1/topology/:id/activate" [:as {:keys [cookies servlet-request]} id & m]
- (mark! ui:num-activate-topology-http-requests)
+ (.mark ui:num-activate-topology-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "activate" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1017,7 +1016,7 @@
(log-message "Activating topology '" name "'")))
(json-response (topology-op-response id "activate") (m "callback")))
(POST "/api/v1/topology/:id/deactivate" [:as {:keys [cookies servlet-request]} id & m]
- (mark! ui:num-deactivate-topology-http-requests)
+ (.mark ui:num-deactivate-topology-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "deactivate" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1030,7 +1029,7 @@
(log-message "Deactivating topology '" name "'")))
(json-response (topology-op-response id "deactivate") (m "callback")))
(POST "/api/v1/topology/:id/debug/:action/:spct" [:as {:keys [cookies servlet-request]} id action spct & m]
- (mark! ui:num-debug-topology-http-requests)
+ (.mark ui:num-debug-topology-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "debug" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1044,7 +1043,7 @@
(log-message "Debug topology [" name "] action [" action "] sampling pct [" spct "]")))
(json-response (topology-op-response id (str "debug/" action)) (m "callback")))
(POST "/api/v1/topology/:id/component/:component/debug/:action/:spct" [:as {:keys [cookies servlet-request]} id component action spct & m]
- (mark! ui:num-component-op-response-http-requests)
+ (.mark ui:num-component-op-response-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "debug" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1058,7 +1057,7 @@
(log-message "Debug topology [" name "] component [" component "] action [" action "] sampling pct [" spct "]")))
(json-response (component-op-response id component (str "/debug/" action)) (m "callback")))
(POST "/api/v1/topology/:id/rebalance/:wait-time" [:as {:keys [cookies servlet-request]} id wait-time & m]
- (mark! ui:num-topology-op-response-http-requests)
+ (.mark ui:num-topology-op-response-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "rebalance" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1079,7 +1078,7 @@
(log-message "Rebalancing topology '" name "' with wait time: " wait-time " secs")))
(json-response (topology-op-response id "rebalance") (m "callback")))
(POST "/api/v1/topology/:id/kill/:wait-time" [:as {:keys [cookies servlet-request]} id wait-time & m]
- (mark! ui:num-topology-op-response-http-requests)
+ (.mark ui:num-topology-op-response-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "killTopology" (topology-config id))
(thrift/with-configured-nimbus-connection nimbus
@@ -1094,7 +1093,7 @@
(log-message "Killing topology '" name "' with wait time: " wait-time " secs")))
(json-response (topology-op-response id "kill") (m "callback")))
(POST "/api/v1/topology/:id/logconfig" [:as {:keys [cookies servlet-request]} id namedLoggerLevels & m]
- (mark! ui:num-topology-op-response-http-requests)
+ (.mark ui:num-topology-op-response-http-requests)
(populate-context! servlet-request)
(assert-authorized-user "setLogConfig" (topology-config id))
(thrift/with-configured-nimbus-connection
@@ -1233,7 +1232,7 @@
(m "callback")))))
(GET "/" [:as {cookies :cookies}]
- (mark! ui:num-main-page-http-requests)
+ (.mark ui:num-main-page-http-requests)
(resp/redirect "/index.html"))
(route/resources "/")
(route/not-found "Page not found"))
@@ -1270,7 +1269,7 @@
https-ts-type (conf UI-HTTPS-TRUSTSTORE-TYPE)
https-want-client-auth (conf UI-HTTPS-WANT-CLIENT-AUTH)
https-need-client-auth (conf UI-HTTPS-NEED-CLIENT-AUTH)]
- (start-metrics-reporters conf)
+ (StormMetricsRegistry/startMetricsReporters conf)
(UIHelpers/stormRunJetty (int (conf UI-PORT))
(conf UI-HOST)
https-port
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/clj/org/apache/storm/ui/helpers.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/org/apache/storm/ui/helpers.clj b/storm-core/src/clj/org/apache/storm/ui/helpers.clj
index 0ad5e3f..e681cfb 100644
--- a/storm-core/src/clj/org/apache/storm/ui/helpers.clj
+++ b/storm-core/src/clj/org/apache/storm/ui/helpers.clj
@@ -23,7 +23,8 @@
(:use [org.apache.storm.util :only [clojurify-structure defnk not-nil?]])
(:use [clj-time coerce format])
(:import [org.apache.storm.generated ExecutorInfo ExecutorSummary]
- [org.apache.storm.ui UIHelpers])
+ [org.apache.storm.ui UIHelpers]
+ [org.apache.storm.metric StormMetricsRegistry])
(:import [org.apache.storm.logging.filters AccessLoggingFilter])
(:import [java.util EnumSet]
[java.net URLEncoder])
@@ -37,16 +38,15 @@
(org.json.simple JSONValue))
(:require [ring.util servlet])
(:require [compojure.route :as route]
- [compojure.handler :as handler])
- (:require [metrics.meters :refer [defmeter mark!]]))
+ [compojure.handler :as handler]))
;; TODO this function and its callings will be replace when ui.core and logviewer and drpc move to Java
-(defmeter num-web-requests)
+(def num-web-requests (StormMetricsRegistry/registerMeter "num-web-requests"))
(defn requests-middleware
"Coda Hale metric for counting the number of web requests."
[handler]
(fn [req]
- (mark! num-web-requests)
+ (.mark num-web-requests)
(handler req)))
;; TODO this function and its callings will be replace when ui.core and logviewer move to Java
http://git-wip-us.apache.org/repos/asf/storm/blob/68e5d036/storm-core/src/jvm/org/apache/storm/metric/StormMetricsRegistry.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/org/apache/storm/metric/StormMetricsRegistry.java b/storm-core/src/jvm/org/apache/storm/metric/StormMetricsRegistry.java
index eef69d0..28f334b 100644
--- a/storm-core/src/jvm/org/apache/storm/metric/StormMetricsRegistry.java
+++ b/storm-core/src/jvm/org/apache/storm/metric/StormMetricsRegistry.java
@@ -22,13 +22,16 @@ import com.codahale.metrics.Gauge;
import com.codahale.metrics.Meter;
import com.codahale.metrics.Metric;
import com.codahale.metrics.MetricRegistry;
+import java.util.Map;
+import org.apache.storm.daemon.metrics.MetricsUtils;
+import org.apache.storm.daemon.metrics.reporters.PreparableReporter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings("unchecked")
public class StormMetricsRegistry {
private static final Logger LOG = LoggerFactory.getLogger(StormMetricsRegistry.class);
- private static final MetricRegistry metrics = new MetricRegistry();
+ public static final MetricRegistry DEFAULT_REGISTRY = new MetricRegistry();
public static Meter registerMeter(String name) {
Meter meter = new Meter();
@@ -51,13 +54,25 @@ public class StormMetricsRegistry {
return register(name, gauge);
}
+ public static void startMetricsReporters(Map stormConf) {
+ for (PreparableReporter reporter : MetricsUtils.getPreparableReporters(stormConf)) {
+ startMetricsReporter(reporter, stormConf);
+ }
+ }
+
+ private static void startMetricsReporter(PreparableReporter reporter, Map stormConf) {
+ reporter.prepare(StormMetricsRegistry.DEFAULT_REGISTRY, stormConf);
+ reporter.start();
+ LOG.info("Started statistics report plugin...");
+ }
+
private static <T extends Metric> T register(String name, T metric) {
T ret;
try {
- ret = metrics.register(name, metric);
+ ret = DEFAULT_REGISTRY.register(name, metric);
} catch (IllegalArgumentException e) {
// swallow IllegalArgumentException when the metric exists already
- ret = (T) metrics.getMetrics().get(name);
+ ret = (T) DEFAULT_REGISTRY.getMetrics().get(name);
if (ret == null) {
throw e;
} else {