@@ -28,17 +28,19 @@ def _parse_output_tree(markers: List[str]):
2828 i = 0
2929 while i < len (markers ):
3030 label , time , level = markers [i ]
31- if label .startswith ("[header]" ):
32- output .append (f"{ '\t ' * (level - 1 )} { label } : total runtime: { time :6f} s\n " )
31+ if label .startswith ("[decorator]" ):
32+ indent = "\t " * (level - 1 )
33+ output .append (f"{ indent } { label } : total runtime: { time :6f} s\n " )
3334 else :
3435 if stack :
3536 prev_label , prev_time , prev_level = stack [- 1 ]
3637 if prev_level == level :
37- output .append (f"{ '\t ' * level } { prev_label } -->{ label } : { time - prev_time :6f} s\n " )
38+ indent = "\t " * level
39+ output .append (f"{ indent } { prev_label } -->{ label } : { time - prev_time :6f} s\n " )
3840 stack .pop ()
3941
4042 # Push to the stack only if it is going deeper or still at the same level
41- if i + 1 < len (markers ) - 1 :
43+ if i + 1 <= len (markers ) - 1 :
4244 _ , _ , next_level = markers [i + 1 ]
4345 if next_level >= level :
4446 stack .append (markers [i ])
@@ -98,7 +100,7 @@ def wrapper(*args, **kwargs):
98100 level = len (_mark_func_stack ) + 1
99101 # The header is needed for later tree parsing. Here it is allocating its spot.
100102 # the tuple at this index will be replaced after elapsed time is calculated.
101- _markers .append ((f"[header ]{ description or func .__name__ } " , None , level ))
103+ _markers .append ((f"[decorator ]{ description or func .__name__ } " , None , level ))
102104 header_index = len (_markers ) - 1
103105
104106 def local_mark (label ):
@@ -131,4 +133,5 @@ def local_mark(label):
131133 return wrapper
132134 if func is not None :
133135 return decorator (func )
136+
134137 return decorator
0 commit comments