Skip to content

Instrumentation of TestAssemblyLoadContext to track usage of each strategy #1787

Description

@CharliePoole

TestAssemblyLoadContext makes use of a custom resolver, TestAssemblyResolver, to locate assembly references. Internally, the resolver uses a Strategy pattern, under which multiple strategies are tried until the assembly reference is successfully resolved or a failure occurs. Some effort is made to order the sequence in which the strategies are used for efficiency, but no data is available to measure how well this works.

This new feature would instrument TestAssemblyLoadContext and TestAssemblyResolver to collect information allowing us to determine:

  1. Whether all strategies are actually needed. In the case where a given strategy is not pulling its weight, we might remove it or combine its function with one of the other strategies.
  2. Whether some new strategy may be needed.
  3. Whether strategies are being tried in the best order.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

FeatureV4All issues related to V4 or later - use -label:V4 to get V3 issues

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions