Github user satishd commented on a diff in the pull request:

    https://github.com/apache/storm/pull/1256#discussion_r57557021
  
    --- Diff: docs/Trident-RAS-API.md ---
    @@ -0,0 +1,50 @@
    +---
    +title: Trident RAS API
    +layout: documentation
    +documentation: true
    +---
    +
    +## Trident RAS API
    +
    +The Trident RAS (Resource Aware Scheduler) API provides a mechanism to 
allow users to specify the resource consumption of a Trident topology. The API 
looks exactly like the base RAS API, only it is called on Trident Streams 
instead of Bolts and Spouts.
    +
    +In order to avoid duplication and inconsistency in documentation, the 
purpose and effects of resource setting are not described here, but are instead 
found in the [Resource Aware Scheduler 
Overview](Resource_Aware_Scheduler_overview.html)
    +
    +### Use
    +
    +First, an example:
    +
    +```java
    +    TridentTopology topo = new TridentTopology();
    +    TridentState wordCounts =
    +        topology
    +            .newStream("words", feeder)
    +            .parallelismHint(5)
    +            .setCPULoad(20)
    +            .setMemoryLoad(512,256)
    +            .each( new Fields("sentence"),  new Split(), new 
Fields("word"))
    +            .setCPULoad(10)
    +            .setMemoryLoad(512)
    +            .each(new Fields("word"), new BangAdder(), new Fields("word!"))
    +            .parallelismHint(10)
    +            .setCPULoad(50)
    +            .setMemoryLoad(1024)
    +            .groupBy(new Fields("word!"))
    +            .persistentAggregate(new MemoryMapState.Factory(), new 
Count(), new Fields("count"))
    +            .setCPULoad(100)
    +            .setMemoryLoad(2048);
    +```
    +
    +Resources can be set for each operation (except for grouping, shuffling, 
partitioning).
    +Operations that are combined by Trident into single Bolts will have their 
resources summed.
    +
    +Every Bolt is given **at least** the default resources, regardless of user 
settings.
    +
    +The Trident Stream above becomes a Storm Topology with:
    + * a spout and spout coordinator with a CPU load of 20% each, and a memory 
load of 512MiB on heap and 256MiB off heap.
    + * a bolt with 60% cpu load (10% + 50%) and a memory load of 1536MiB (1024 
+ 512) on heap from the combined `Split` and `BangAdder`
    + * a bolt with 100% cpu load and a memory load of 2048MiB.
    --- End diff --
    
    minor nit: 100% cpu load, and a memory load of 2048MiB **on heap and 
default value for off heap**


---
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 [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to