[ https://issues.apache.org/jira/browse/STORM-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15191189#comment-15191189 ]
ASF GitHub Bot commented on STORM-1616: --------------------------------------- Github user knusbaum commented on a diff in the pull request: https://github.com/apache/storm/pull/1199#discussion_r55854925 --- Diff: storm-core/src/jvm/org/apache/storm/trident/operation/DefaultResourceDeclarer.java --- @@ -0,0 +1,62 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.storm.trident.operation; + +import java.util.HashMap; +import java.util.Map; +import org.apache.storm.Config; +import org.apache.storm.utils.Utils; +import org.apache.storm.topology.ResourceDeclarer; + +public class DefaultResourceDeclarer implements ResourceDeclarer, ITridentResource { + + private Map<String, Number> resources = new HashMap<>(); + private Map conf = Utils.readStormConfig(); + + @Override + public DefaultResourceDeclarer setMemoryLoad(Number onHeap) { + return setMemoryLoad(onHeap, Utils.getDouble(conf.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB))); + } + + @Override + public DefaultResourceDeclarer setMemoryLoad(Number onHeap, Number offHeap) { + if (onHeap != null) { + onHeap = onHeap.doubleValue(); + resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB, onHeap); + } + if (offHeap!=null) { + offHeap = offHeap.doubleValue(); + resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB, offHeap); + } + return this; + } + + @Override + public DefaultResourceDeclarer setCPULoad(Number amount) { + if(amount != null) { + amount = amount.doubleValue(); + resources.put(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT, amount); + } + return this; + } + + @Override + public Map<String, Number> getResources() { --- End diff -- it provides an interface to get the resources back out of something extending DefaultResourceDeclarer. This is used in TridentTopology. > Add RAS API for Trident > ----------------------- > > Key: STORM-1616 > URL: https://issues.apache.org/jira/browse/STORM-1616 > Project: Apache Storm > Issue Type: Bug > Reporter: Kyle Nusbaum > Assignee: Kyle Nusbaum > -- This message was sent by Atlassian JIRA (v6.3.4#6332)