/* -----------------------------------------------------------------------------
- * $Id: Profiling.c,v 1.20 2000/05/12 13:01:04 simonmar Exp $
+ * $Id: Profiling.c,v 1.21 2001/07/23 23:37:35 andy Exp $
*
* (c) The GHC Team, 1998-2000
*
static IndexTable * AddToIndexTable ( IndexTable *, CostCentreStack *,
CostCentre *, unsigned int );
+
+
#ifdef DEBUG
static void printCCS ( CostCentreStack *ccs );
#endif
for (cc = CC_LIST; cc != NULL; cc = next) {
next = cc->link;
if (cc->time_ticks > total_prof_ticks/100
- || cc->mem_alloc > total_alloc/100) {
+ || cc->mem_alloc > total_alloc/100
+ || RtsFlags.CcFlags.doCostCentres >= COST_CENTRES_ALL) {
insert_cc_in_sorted_list(cc);
}
}
}
}
+
/* Traverse the cost centre stack tree and accumulate
* ticks/allocations.
*/
/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.c,v 1.41 2001/07/23 17:23:19 simonmar Exp $
+ * $Id: RtsFlags.c,v 1.42 2001/07/23 23:37:35 andy Exp $
*
* (c) The AQUA Project, Glasgow University, 1994-1997
* (c) The GHC Team, 1998-1999
#if defined(PROFILING) || defined(PAR)
"",
" -px Time/allocation profile (XML) (output file <program>.prof)",
-" -p<sort> Time/allocation profile (output file <program>.prof)",
-" sort: T = time (default), A = alloc, C = cost centre label",
-" -P<sort> More detailed Time/Allocation profile",
+" -p Time/allocation profile (output file <program>.prof)",
+" -P More detailed Time/Allocation profile",
+" -Pa Give information about *all* cost centres",
# if defined(PROFILING)
"",
case 'x':
RtsFlags.CcFlags.doCostCentres = COST_CENTRES_XML;
break;
+ case 'a':
+ RtsFlags.CcFlags.doCostCentres = COST_CENTRES_ALL;
+ break;
default:
RtsFlags.CcFlags.doCostCentres = COST_CENTRES_SUMMARY;
break;