QPanda3  0.1.0
Supported by OriginQ
Loading...
Searching...
No Matches
pyqpanda3.profiling.gprof2dot.Profile Class Reference

The whole profile. More...

Inheritance diagram for pyqpanda3.profiling.gprof2dot.Profile:

Classes

class  _TarjanData
 

Public Member Functions

 __init__ (self)
 
 add_function (self, function)
 
 add_cycle (self, cycle)
 
 validate (self)
 Validate the edges.
 
 find_cycles (self)
 Find cycles using Tarjan's strongly connected components algorithm.
 
 prune_root (self, roots, depth=-1)
 
 prune_leaf (self, leafs, depth=-1)
 
 getFunctionIds (self, funcName)
 
 getFunctionId (self, funcName)
 
 printFunctionIds (self, selector=None, file=sys.stderr)
 Print to file function entries selected by fnmatch.fnmatch like in method getFunctionIds, with following extensions:
 
 call_ratios (self, event)
 
 integrate (self, outevent, inevent)
 Propagate function time ratio along the function calls.
 
 aggregate (self, event)
 Aggregate an event for the whole profile.
 
 ratio (self, outevent, inevent)
 
 prune (self, node_thres, edge_thres, paths, color_nodes_by_selftime)
 Prune the profile.
 
 dump (self)
 
- Public Member Functions inherited from pyqpanda3.profiling.gprof2dot.Object
 __hash__ (self)
 
 __eq__ (self, other)
 
 __lt__ (self, other)
 
 __contains__ (self, event)
 
 __getitem__ (self, event)
 
 __setitem__ (self, event, value)
 

Public Attributes

dict functions = {}
 
list cycles = []
 
float cycles = 0.0
 
- Public Attributes inherited from pyqpanda3.profiling.gprof2dot.Object
dict events = {}
 

Protected Member Functions

 _tarjan (self, function, order, stack, data)
 Tarjan's strongly connected components algorithm.
 
 _integrate_function (self, function, outevent, inevent)
 
 _integrate_call (self, call, outevent, inevent)
 
 _integrate_cycle (self, cycle, outevent, inevent)
 
 _rank_cycle_function (self, cycle, function, ranks)
 Dijkstra's shortest paths algorithm.
 
 _call_ratios_cycle (self, cycle, function, ranks, call_ratios, visited)
 
 _integrate_cycle_function (self, cycle, function, partial_ratio, partials, ranks, call_ratios, outevent, inevent)
 
 _dump_events (self, events)
 

Detailed Description

The whole profile.

Constructor & Destructor Documentation

◆ __init__()

pyqpanda3.profiling.gprof2dot.Profile.__init__ ( self)

Member Function Documentation

◆ _call_ratios_cycle()

pyqpanda3.profiling.gprof2dot.Profile._call_ratios_cycle ( self,
cycle,
function,
ranks,
call_ratios,
visited )
protected

◆ _dump_events()

pyqpanda3.profiling.gprof2dot.Profile._dump_events ( self,
events )
protected

◆ _integrate_call()

pyqpanda3.profiling.gprof2dot.Profile._integrate_call ( self,
call,
outevent,
inevent )
protected

◆ _integrate_cycle()

pyqpanda3.profiling.gprof2dot.Profile._integrate_cycle ( self,
cycle,
outevent,
inevent )
protected

◆ _integrate_cycle_function()

pyqpanda3.profiling.gprof2dot.Profile._integrate_cycle_function ( self,
cycle,
function,
partial_ratio,
partials,
ranks,
call_ratios,
outevent,
inevent )
protected

◆ _integrate_function()

pyqpanda3.profiling.gprof2dot.Profile._integrate_function ( self,
function,
outevent,
inevent )
protected

◆ _rank_cycle_function()

pyqpanda3.profiling.gprof2dot.Profile._rank_cycle_function ( self,
cycle,
function,
ranks )
protected

Dijkstra's shortest paths algorithm.

See also:

◆ _tarjan()

pyqpanda3.profiling.gprof2dot.Profile._tarjan ( self,
function,
order,
stack,
data )
protected

Tarjan's strongly connected components algorithm.

See also:

◆ add_cycle()

pyqpanda3.profiling.gprof2dot.Profile.add_cycle ( self,
cycle )

◆ add_function()

pyqpanda3.profiling.gprof2dot.Profile.add_function ( self,
function )

◆ aggregate()

pyqpanda3.profiling.gprof2dot.Profile.aggregate ( self,
event )

Aggregate an event for the whole profile.

◆ call_ratios()

pyqpanda3.profiling.gprof2dot.Profile.call_ratios ( self,
event )

◆ dump()

pyqpanda3.profiling.gprof2dot.Profile.dump ( self)

◆ find_cycles()

pyqpanda3.profiling.gprof2dot.Profile.find_cycles ( self)

Find cycles using Tarjan's strongly connected components algorithm.

◆ getFunctionId()

pyqpanda3.profiling.gprof2dot.Profile.getFunctionId ( self,
funcName )

◆ getFunctionIds()

pyqpanda3.profiling.gprof2dot.Profile.getFunctionIds ( self,
funcName )

◆ integrate()

pyqpanda3.profiling.gprof2dot.Profile.integrate ( self,
outevent,
inevent )

Propagate function time ratio along the function calls.

Must be called after finding the cycles.

See also:

◆ printFunctionIds()

pyqpanda3.profiling.gprof2dot.Profile.printFunctionIds ( self,
selector = None,
file = sys.stderr )

Print to file function entries selected by fnmatch.fnmatch like in method getFunctionIds, with following extensions:

  • selector starts with "%": dump all information available
  • selector is '+' or '-': select all function entries

◆ prune()

pyqpanda3.profiling.gprof2dot.Profile.prune ( self,
node_thres,
edge_thres,
paths,
color_nodes_by_selftime )

Prune the profile.

◆ prune_leaf()

pyqpanda3.profiling.gprof2dot.Profile.prune_leaf ( self,
leafs,
depth = -1 )

◆ prune_root()

pyqpanda3.profiling.gprof2dot.Profile.prune_root ( self,
roots,
depth = -1 )

◆ ratio()

pyqpanda3.profiling.gprof2dot.Profile.ratio ( self,
outevent,
inevent )

◆ validate()

pyqpanda3.profiling.gprof2dot.Profile.validate ( self)

Validate the edges.

Member Data Documentation

◆ cycles [1/2]

pyqpanda3.profiling.gprof2dot.Profile.cycles = []

◆ cycles [2/2]

float pyqpanda3.profiling.gprof2dot.Profile.cycles = 0.0

◆ functions

pyqpanda3.profiling.gprof2dot.Profile.functions = {}

The documentation for this class was generated from the following file: