An instrumentation system profiles an application using structural metadata description
of the application. Units (such as COM objects) of the application have strongly-typed,
binary-standard interfaces, and are profiled, for example, using an executable
file and DLLs for the application. A structural metadata description of the application
includes compiled, interface-level type information used to identify and measure
interaction between units of the application. For example, the type information
is produced by analyzing IDL information. Profiling results in an application profile
that includes description of the static relationships and/or dynamic interactions
between units of the application. The application profile is combined with a network
profile that describes a distributed computing environment. Analysis of the result
yields a distribution plan, which, for example, reduces costs associated with communication
between the units. During execution, units of the application are distributed through
the distributed computing environment according to the distribution plan.