Пример #1
0
        internal void UnregisterNode(Guid guid)
        {
            NodeProfilingData data = null;

            if (nodeProfilingData.TryGetValue(guid, out data))
            {
                nodeProfilingData.Remove(guid);
                data.Dispose();
            }
        }
Пример #2
0
        public TimeSpan?NodeExecutionTime(NodeModel node)
        {
            NodeProfilingData nodeData = null;

            if (nodeProfilingData.TryGetValue(node.GUID, out nodeData))
            {
                return(nodeData.ExecutionTime);
            }

            return(null);
        }
Пример #3
0
        internal void RegisterNode(NodeModel node)
        {
            NodeProfilingData nodeData = null;

            if (nodeProfilingData.TryGetValue(node.GUID, out nodeData))
            {
                nodeData.Reset();
                return;
            }

            nodeProfilingData.Add(node.GUID, new NodeProfilingData(node));
        }
Пример #4
0
        internal void UnregisterDeletedNodes(IEnumerable <NodeModel> modelNodes)
        {
            var remainingNodes = new Dictionary <Guid, NodeProfilingData>();

            foreach (NodeModel node in modelNodes)
            {
                NodeProfilingData data = null;
                if (nodeProfilingData.TryGetValue(node.GUID, out data))
                {
                    remainingNodes.Add(node.GUID, data);
                    continue;
                }

                UnregisterNode(node.GUID);
            }

            nodeProfilingData = remainingNodes;
        }