Basic Usage
Since this is a tool about project discovery, first we have to collectall the data.
Collect the data
Data collection is divided in several phases, depending on the requirements of each phase. To collect all the data simply run
mix arch.explore
This will run all sorts of different analysis and store all the data in a archeometer_<your_project>.db
file.
Collection stages
You can also run each phase individually. They are
arch.explore.static
: analysis the AST of the project code. It requires Credo.arch.explore.xrefs
: collects information about module dependencies. It forces a compilation.arch.explore.apps
: get information about the applications in the project. It must compile the project.arch.explore.coverage
: calculate test coverage per module and function. It must run the test suite.
Depending on your project, you can choose to run only the stage you are interested, or to skip some stage that is specially expensive to run.
Creating reports
There are some predefined tasks to give you a brief overview of the project.
mix arch.dsm
: will create a Design Structure Matrix, and will use it to find the cyclic dependencies in the project.mix arch.xref
: will create a dependency graph in several possible formats.mix arch.report.html
: Creates a comprehensive report on the project under review.
Further reading
If you want to have a more in depth exploration of your project, don't forget to read the following guides: +Queries and Schemas: make queries to the data base using Elixir code