Online Eiffel Documentation |
Documentation Home > Tools > EiffelStudio > EiffelStudio Reference > Compiler > Command line > Command line interactive mode |
EiffelStudio |
Profile menu |
The profile menu will enable you to produce the Execution profile and to extract information from it.
The menu (obtained by selecting (P) Profile in the main menu) looks like this:
(S) Switches : show the output switches #Call-E Name-E Total-D Self-D Desc-D %Time-D. (U) Query : manipulate subqueries. (I) Input : specify input file (filename or last_output) [*.pfi]. (L) Language : specify language (eiffel, c, cycles) [eiffel]. (R) Run : run the query. (G) Generate : generate profile information for latest run. (E) Defaults : reset all values to their defaults. (H) Help : show list of commands. (M) Main : go back to main menu. (Q) Quit : terminate session. (Y) Yank : yank (save) output of last command to a file.
(N) Calls : disable output of number of calls to a feature [enabled]. (F) Feature name : disable output of feature names [enabled]. (T) Total : enable output of time spent in both the function and its descendants [disabled]. (S) Self : enable output of time spent in a function itself [disabled]. (D) Descendants : enable output of time spent in descendants of a function [disabled]. (P) Percentage : enable output of percentage of time spent in a feature [disabled]. (H) Help : show list of commands. (M) Main : go back to main menu. (U) Parent menu : go back to parent menu. (Q) Quit : terminate session. (Y) Yank : yank (save) output of last command to a file.
Each one of these commands switches on or off the corresponding column output. The default is set on for the first two, off for the others. To enable or disable a column, type the name with a toggle effect.
(A) Add : add a sub query. (I) Inactivate : inactivate sub query. (R) Reactivate : reactivate sub query. (C) Operator : change the boolean operator. (S) Show : show the list of queries. (H) Help : show list of commands. (M) Main : go back to main menu. (U) Parent menu : go back to parent menu. (Q) Quit : terminate session. (Y) Yank : yank (save) output of last command to a file.
To get useful information, you should add the appropriate queries through (A) Add. Each individual query has the following form: attribute operator value, where attribute is one of:
and value is one of:
To inactivate a query, use (I) Inactivate. You will be prompted for a query index, which you may retrieve from (S) Show. This is useful if you make a change about a query, or want to set it aside for future use.
To reactivate a query, use (R) Reactivate. Again you will have to provide a query index.
The Total Query resulting from a succession of (A) Add commands, possibly with some (I) Inactivate and (R) Reactivate commands, is a boolean query resulting by default from adding all the currently active queries. For example after the following set of commands(note that commands output help lines, which have been skipped here):
Command => a --> Subquery: featurename = put* Command => a --> Subquery: calls = 3 -- Here we change our mind and deactivate the second query -- to replace it by calls = 3: Command => s [1] featurename = put* is active [2] calls = 3 is active The total active query: featurename = put* and calls > Command => i --> Subquery index: 2 Command => a --> Subquery: calls > 5
Command => s All subqueries: [1] featurename = put* is active [2] calls = 3 is inactive [3] calls > 5 is active The total active query: featurename = put* and calls > 5
To change the boolean operator to 'or' rather than 'and', use the (C) Operator command. It will prompt you for the index of the operator and the new value:
Command => c --> Operator index followed by operator ('and' or 'or'): 1 or Command => s All subqueries: [1] featurename = put* is active [2] calls = 3 is inactive [3] calls > 5 is active The total active query: featurename = put* or calls > 5
The default is Eiffel only. To switch to both Eiffel and C, use Command => L eiffel and c
To return to just Eiffel, simply type L.
When running the Generate command with no arguments, you will be prompted for the following information:
You can also type in the arguments directly without waiting to be prompted, as in command => g profinfo finalize eiffel
See Also
Profiler wizard
Copyright 1993-2006 Eiffel Software. All rights reserved. |