You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by kishorvpatil <gi...@git.apache.org> on 2014/06/23 18:16:27 UTC

[GitHub] incubator-storm pull request: [STORM-366 ]Add color span to most r...

GitHub user kishorvpatil opened a pull request:

    https://github.com/apache/incubator-storm/pull/155

    [STORM-366 ]Add color span to most recent error and fix ui templates for security.

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/kishorvpatil/incubator-storm show-recent-error-security

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-storm/pull/155.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #155
    
----
commit 357fd09dff8eec1f224d7f00f5344931ec2b64df
Author: Kishor Patil <kp...@yahoo-inc.com>
Date:   2014-06-23T16:13:34Z

    Add color span to most recent error and fix ui templates for security.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] incubator-storm pull request: [STORM-366] Add color span to most r...

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/incubator-storm/pull/155#issuecomment-49480443
  
    @revans2  Since security branch did not have restful API docs, I cherry-picked it and updated the restful API docs to reflect use of elapsed time and component errors.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] incubator-storm pull request: [STORM-366] Add color span to most r...

Posted by kishorvpatil <gi...@git.apache.org>.
Github user kishorvpatil commented on the pull request:

    https://github.com/apache/incubator-storm/pull/155#issuecomment-47118735
  
    Removed tablesorter fix from this pull request and created separate https://github.com/apache/incubator-storm/pull/161 just for tablesorter fix. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] incubator-storm pull request: [STORM-366] Add color span to most r...

Posted by revans2 <gi...@git.apache.org>.
Github user revans2 commented on the pull request:

    https://github.com/apache/incubator-storm/pull/155#issuecomment-49372428
  
    Same comment as for #154 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] incubator-storm pull request: [STORM-366] Add color span to most r...

Posted by revans2 <gi...@git.apache.org>.
Github user revans2 commented on a diff in the pull request:

    https://github.com/apache/incubator-storm/pull/155#discussion_r15177904
  
    --- Diff: STORM-UI-REST-API.md ---
    @@ -0,0 +1,565 @@
    +# Storm UI REST API
    +Storm UI server provides a REST Api to access cluster, topology, component overview and metrics. 
    +This api returns json response.  
    +Please ignore undocumented elements in the json repsonse.
    +
    +## Using the UI REST Api
    +
    +### /api/v1/cluster/configuration (GET)
    + returns cluster configuration.  Below is a sample response but doesn't include all the config fileds.
    +
    +Sample Response:  
    +```json
    +  {
    +    "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
    +    "topology.tick.tuple.freq.secs": null,
    +    "topology.builtin.metrics.bucket.size.secs": 60,
    +    "topology.fall.back.on.java.serialization": true,
    +    "topology.max.error.report.per.interval": 5,
    +    "zmq.linger.millis": 5000,
    +    "topology.skip.missing.kryo.registrations": false,
    +    "storm.messaging.netty.client_worker_threads": 1,
    +    "ui.childopts": "-Xmx768m",
    +    "storm.zookeeper.session.timeout": 20000,
    +    "nimbus.reassign": true,
    +    "topology.trident.batch.emit.interval.millis": 500,
    +    "storm.messaging.netty.flush.check.interval.ms": 10,
    +    "nimbus.monitor.freq.secs": 10,
    +    "logviewer.childopts": "-Xmx128m",
    +    "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
    +    "topology.executor.send.buffer.size": 1024,
    +    }
    +```
    +    
    +### /api/v1/cluster/summary (GET)
    +returns cluster summary such as nimbus uptime,number of supervisors,slots etc..
    +
    +Response Fields:
    +
    +|Field  |Value|Description
    +|---	|---	|---
    +|stormVersion|String| Storm version|
    +|nimbusUptime|String| Shows how long the cluster is running|
    +|supervisors|Integer|  Number of supervisors running|
    +|slotsTotal| Integer|Total number of available worker slots|
    +|slotsUsed| Integer| Number of worker slots used|
    +|slotsFree| Integer |Number of worker slots available|
    +|executorsTotal| Integer |Total number of executors|
    +|tasksTotal| Integer |Total tasks|
    +
    +Sample Response:  
    +```json
    +   {
    +    "stormVersion": "0.9.2-incubating-SNAPSHOT",
    +    "nimbusUptime": "3m 53s",
    +    "supervisors": 1,
    +    "slotsTotal": 4,
    +    "slotsUsed": 3,
    +    "slotsFree": 1,
    +    "executorsTotal": 28,
    +    "tasksTotal": 28
    +    }
    +```
    +    
    +### /api/v1/supervisor/summary (GET)
    +returns all supervisors summary 
    +
    +Response Fields:
    +
    +|Field  |Value|Description|
    +|---	|---	|---
    +|id| String | Supervisor's id|
    +|host| String| Supervisor's host name|
    +|uptime| String| Shows how long the supervisor is running|
    +|slotsTotal| Integer| Total number of available worker slots for this supervisor|
    +|slotsUsed| Integer| Number of worker slots used on this supervisor|
    +
    +Sample Response:  
    +```json
    +{
    +    "supervisors": [
    +        {
    +            "id": "0b879808-2a26-442b-8f7d-23101e0c3696",
    +            "host": "10.11.1.7",
    +            "uptime": "5m 58s",
    +            "slotsTotal": 4,
    +            "slotsUsed": 3
    +        }
    +    ]
    +}
    +```
    +    
    +### /api/v1/topology/summary (GET)
    +Returns all topologies summary
    +
    +Response Fields:
    +
    +|Field  |Value | Description|
    +|---	|---	|---
    +|id| String| Topology Id|
    +|name| String| Topology Name|
    +|status| String| Topology Status|
    +|uptime| String|  Shows how long the topology is running|
    +|tasksTotal| Integer |Total number of tasks for this topology|
    +|workersTotal| Integer |Number of workers used for this topology|
    +|executorsTotal| Integer |Number of executors used for this topology|
    +
    +Sample Response:  
    +```json
    +{
    +    "topologies": [
    +        {
    +            "id": "WordCount3-1-1402960825",
    +            "name": "WordCount3",
    +            "status": "ACTIVE",
    +            "uptime": "6m 5s",
    +            "tasksTotal": 28,
    +            "workersTotal": 3,
    +            "executorsTotal": 28
    +        }
    +    ]
    +}
    +```
    + 
    +### /api/v1/topology/:id (GET)
    +  Returns topology information and stats. Subsititute id with topology id.
    +
    +Request Parameters:
    +  
    +|Parameter |Value   |Description  |
    +|----------|--------|-------------|
    +|id   	   |String (required)| Topology Id  |
    +|window    |String. Default value :all-time| Window duration for metrics in ms|
    +|sys       |String. Values 1 or 0. Default value 0| Controls including sys stats part of the response|
    +
    +
    +Response Fields:
    +
    +|Field  |Value |Description|
    +|---	|---	|---
    +|id| String| Topology Id|
    +|name| String |Topology Name|
    +|uptime| String |Shows how long the topology is running|
    +|status| String |Shows Topology's current status|
    +|tasksTotal| Integer |Total number of tasks for this topology|
    +|workersTotal| Integer |Number of workers used for this topology|
    +|executorsTotal| Integer |Number of executors used for this topology|
    +|msgTimeout| Integer | Number of seconds a tuple has before the spout considers it failed |
    +|windowHint| String | window param value in "hh mm ss" format. Default value is "All Time"|
    +|topologyStats| Array | Array of all the topology related stats per time window|
    +|topologyStats.windowPretty| String |Duration passed in HH:MM:SS format|
    +|topologyStats.window| String |User requested time window for metrics|
    +|topologyStats.emitted| Long |Number of messages emitted in given window|
    +|topologyStats.trasferred| Long |Number messages transferred in given window|
    +|topologyStats.completeLatency| String (double value returned in String format) |Total latency for processing the message|
    +|topologyStats.acked| Long |Number of messages acked in given window|
    +|topologyStats.failed| Long |Number of messages failed in given window|
    +|spouts| Array | Array of all the spout components in the topology|
    +|spouts.spoutId| String |Spout id|
    +|spouts.executors| Integer |Number of executors for the spout|
    +|spouts.emitted| Long |Number of messages emitted in given window |
    +|spouts.completeLatency| String (double value returned in String format) |Total latency for processing the message|
    +|spouts.transferred| Long |Total number of messages  transferred in given window|
    +|spouts.tasks| Integer |Total number of tasks for the spout|
    +|spouts.lastError| String |Shows the last error happened in a spout|
    +|spouts.errorLapsedSecs| Integer | Number of seconds elapsed since that last error happened in a spout|
    +|spouts.errorWorkerLogLink| String | Link to the worker log that reported the exception |
    +|spouts.acked| Long |Number of messages acked|
    +|spouts.failed| Long |Number of messages failed|
    +|bolts| Array | Array of bolt components in the topology|
    +|bolts.boltId| String |Bolt id|
    +|bolts.capacity| String (double value returned in String format) |This value indicates number of messages executed * average execute latency / time window|
    +|bolts.processLatency| String (double value returned in String format)  |Bolt's average time to ack a message after it's received|
    +|bolts.executeLatency| String (double value returned in String format) |Average time for bolt's execute method |
    +|bolts.executors| Integer |Number of executor tasks in the bolt component|
    +|bolts.tasks| Integer |Number of instances of bolt|
    +|bolts.acked| Long |Number of tuples acked by the bolt|
    +|bolts.failed| Long |Number of tuples failed by the bolt|
    +|bolts.lastError| String |Shows the last error occurred in the bolt|
    +|bolts.errorLapsedSecs| Integer |Number of seconds elapsed since that last error happened in a bolt|
    +|bolts.errorWorkerLogLink| String | Link to the worker log that reported the exception |
    +|bolts.emitted| Long |Number of tuples emitted|
    +
    +
    +
    +Examples:  
    +```no-highlight
    + 1. http://ui-daemon-host-name:8080/api/v1/topology/WordCount3-1-1402960825
    + 2. http://ui-daemon-host-name:8080/api/v1/topology/WordCount3-1-1402960825?sys=1
    + 3. http://ui-daemon-host-name:8080/api/v1/topology/WordCount3-1-1402960825?window=600
    +```
    +
    +Sample Response:  
    +```json 
    + {
    +    "name": "WordCount3",
    +    "id": "WordCount3-1-1402960825",
    +    "workersTotal": 3,
    +    "window": "600",
    +    "status": "ACTIVE",
    +    "tasksTotal": 28,
    +    "executorsTotal": 28,
    +    "uptime": "29m 19s",
    +    "msgTimeout": 30,
    +    "windowHint": "10m 0s",
    +    "topologyStats": [
    +        {
    +            "windowPretty": "10m 0s",
    +            "window": "600",
    +            "emitted": 397960,
    +            "transferred": 213380,
    +            "completeLatency": "0.000",
    +            "acked": 213460,
    +            "failed": 0
    +        },
    +        {
    +            "windowPretty": "3h 0m 0s",
    +            "window": "10800",
    +            "emitted": 1190260,
    +            "transferred": 638260,
    +            "completeLatency": "0.000",
    +            "acked": 638280,
    +            "failed": 0
    +        },
    +        {
    +            "windowPretty": "1d 0h 0m 0s",
    +            "window": "86400",
    +            "emitted": 1190260,
    +            "transferred": 638260,
    +            "completeLatency": "0.000",
    +            "acked": 638280,
    +            "failed": 0
    +        },
    +        {
    +            "windowPretty": "All time",
    +            "window": ":all-time",
    +            "emitted": 1190260,
    +            "transferred": 638260,
    +            "completeLatency": "0.000",
    +            "acked": 638280,
    +            "failed": 0
    +        }
    +    ],
    +    "spouts": [
    +        {
    +            "executors": 5,
    +            "emitted": 28880,
    +            "completeLatency": "0.000",
    +            "transferred": 28880,
    +            "acked": 0,
    +            "spoutId": "spout",
    +            "tasks": 5,
    +            "lastError": "",
    +            "errorLapsedSecs": "",
    --- End diff --
    
    If this is an integer why is in an empty string here?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] incubator-storm pull request: [STORM-366] Add color span to most r...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/incubator-storm/pull/155


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---