-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Aggregate has three functions
(1) Init
(2) What to do with an arriving data
(3) Return the result
Note: The aggregate will only work for the tumbling windows
GraphType :
Node Array
Transition Array
int64 lastTimestamp - timestamp of the last transition of the windows
In a given graph - a nodeLabel will be a unique entry
NodeType =
// Should contain everything needed to render it on a graph visualization
rstring graphLabel, // Name of the graph
int32 graphLevel - Level of hierarchy, or node type
rstring nodeLabel - actual name of the node that would appear on the graph
float64 avgTimeSpent - Average time spent by users on that node
int64 visited -
int64 abandoned
int64 originated
map <rstring, rstring> toolTip - all other fields that may be interesting
rstring parent - ???
rstring parentUrl
rstring childUrl
rstring child - ???
rstring url -
map <rstring, rstring> renderAttributes - borderThickess, colors blah blah
TransitionType =
// Transitions can uniquly identified by combination of {fromNode and toNode}
rstring fromNode, -- same name that is used for the nodeLabel
rstring toNode, -- same name that is used for the nodeLabel
int32 count,
rstring tLabel;
map <rstring, rstring> toolTip
map <rstring, rstring> renderAttributes
Init Function
create an empty graph
Transition Arrival
Logic to update the field of the graph based on the info contained in the transition
-- Actual transition: we add or update of the toNode and the transition
-- Correction transition: we update the fromNode stats ONLY -- This would not impact any of the transitions
Result function
returns the graph
creates a new empty graph
--- Cascading / Aggregating of Graph of graphs --- Future work OR can be done in Java Script
Graph merging
(1) if a node exists update/sum up the stats else add it to the existing graph