Reference manual

Objects page

Code graph page

The CodeGraph page of the Workspace window starts and stops the workspace's Code graph, shows its progress while it builds, and shows what the finished graph holds. Features such as Immediate insights and the flow searches need a running code graph.

Opening it

Select CodeGraph in the rail of the workspace window. Its icon shows a dot while the code graph starts, runs or stops. Selecting Start code graph button in the rail starts the code graph without opening the page.

The CodeGraph page of a workspace window with an active procedural code graph and its metrics
1 2 3
The CodeGraph page with an active code graph.
# Name Description
1 Start / Stop Start (“Starts the code graph service.”) shows while no code graph is running. Stop (“Shuts down the code graph service.”) shows while one is active; see Start and stop the code graph.
2 Status The state of the code graph; see Status.
3 Metrics The size of the finished code graph; see Metrics.

A line at the top of the page reminds you that the code graph needs memory: the Code graph settings set how much it may use.

Status

The Status card under Management shows one of these states:

StatusMeaning
InactiveNo code graph is running. Start shows.
ProvisioningPrism for AL is creating the code graph from the workspace (step 1 of 2). Shown in amber.
ActivatingThe graph service is starting on the new graph (step 2 of 2). Shown in amber.
ActiveThe code graph is running, and the features that need it work. Shown in green. Stop shows.
DeactivatingThe graph service is stopping. Shown in amber.
FailedThe code graph could not be built or started. Shown in red. The Diagnostics page lists the code graph errors.

While the code graph starts or stops, a progress card follows, titled Creating code graph (1 of 2), Starting graph service (2 of 2) or Stopping graph service. It shows the Phase, a Progress bar and, once they are known, the number of Nodes and Edges, with a button to cancel when the step can be canceled.

Start and stop the code graph

Prism for AL starts the code graph by itself when the Autobuild graph setting is on, as soon as a workspace loads. Otherwise, select Start here or Start code graph in the rail, for example before you use the flow searches.

Select Stop to shut the code graph down and give its memory back, for example when the machine runs short of memory. Features that need the code graph stop working until it runs again.

Graph detail

While the code graph is active, the Capabilities section shows its Graph detail:

Graph detailMeaning
ProceduralThe inter-procedural call graph: which procedures and triggers call which. It loads much faster than the full graph.
FullAdds expression- and statement-level flows on top of the procedural graph. It is much slower to load.

The Full graph setting chooses which one Prism for AL builds.

Metrics

The Metrics section shows the size of the code graph, as recorded when it was created:

MetricCounts
NodesAll nodes in the graph.
EdgesAll relations between nodes.
Module nodesModules (apps).
Object nodesObjects.
Type nodesTypes.
Event nodesEvents.
Manipulation nodesTable manipulations: reads, inserts, modifies and deletes.
Built-in function nodesBuilt-in functions called.
Declaration nodesDeclarations, such as procedures, triggers, fields and variables.
DotNet nodes.NET types used.
Syntax translation errorsCode that could not be put into the graph.
Name resolution translation errorsResolved names that could not be put into the graph.
Estimated memory (MB)The memory the graph is estimated to use. Shown when known.

Translation errors mean that some answers from the code graph may be incomplete. The Diagnostics page lists them.