[
https://issues.apache.org/jira/browse/STORM-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14556580#comment-14556580
]
ASF GitHub Bot commented on STORM-820:
--------------------------------------
Github user d2r commented on a diff in the pull request:
https://github.com/apache/storm/pull/554#discussion_r30919837
--- Diff: storm-core/src/clj/backtype/storm/stats.clj ---
@@ -322,16 +307,16 @@
[(.get_componentId global-stream-id) (.get_streamId global-stream-id)])
(defmethod clojurify-specific-stats BoltStats [^BoltStats stats]
- [(window-set-converter (.get_acked stats) from-global-stream-id symbol)
- (window-set-converter (.get_failed stats) from-global-stream-id symbol)
- (window-set-converter (.get_process_ms_avg stats) from-global-stream-id
symbol)
- (window-set-converter (.get_executed stats) from-global-stream-id
symbol)
- (window-set-converter (.get_execute_ms_avg stats) from-global-stream-id
symbol)])
+ [(window-set-converter (.get_acked stats) from-global-stream-id identity)
--- End diff --
It is not necessary to convert the strings keys coming out from thrift
deserialization, since we use them as strings anyway.
It is also confusing to debug, as the symbol `600` and the number `600` do
not compare equally, yet they look exactly the same when printed out.
I changed this because in the course of writing the code, I printed the
contents of a heartbeat and saw `600`, and when I tried to retrieve the value
for the key `600` as a number, I got nothing back.
> UI Topology & Component Pages have long load times with large,
> highly-connected Topologies
> ------------------------------------------------------------------------------------------
>
> Key: STORM-820
> URL: https://issues.apache.org/jira/browse/STORM-820
> Project: Apache Storm
> Issue Type: Improvement
> Affects Versions: 0.11.0
> Reporter: Derek Dagit
> Assignee: Derek Dagit
>
> In the UI, the Topology Page and the Component Page each make a
> getTopologyInfoWithOpts thrift call to nimbus for executor heartbeat data.
> Metrics from this data are then aggregated in by the UI daemon for display.
> When large topologies, with high-connectedness, are viewed in this way, the
> load times for each page can be minutes long. In addition, heap usage by the
> nimbus JVM can grow substantially as data for each executor, component, &
> stream is serialized to be sent to the UI.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)