API Reference Archeometer v0.4.2
Archeometer is a code analysis tool to help diagnose potential problems and refactoring points, particularly in large code bases.
Functions for generating a dependency graph from applications in an Elixir project.
Defines algorithms for Design Structure Matrix (DSM) analysis.
Functions to render an
Archeometer.Analysis.DSM struct into plain text.
Functions to iterate over the DSM matrix to find the coordinates of the modules that have cyclic dependencies.
Functions for generating different TreeMaps.
Represents a Node within a Treemap.
Struct that contains starting coordinates, size and other data for an area that will be rendered by Archeometer.Analysis.Treemap.SVGRender.
Functions for generating a dependency graph from a list of given modules.
Module for collecting test coverage statistics, using Erlang
Credo Task to collect and save metrics from an static analysis of an Elixir project..
Module for running Credo into the current project and collect all the issues it found.
Module for collecting information about Ecto schemas and their associations between them.
Utilities for obtaining higher level information about a project, mostly through Mix and Application.
Module for analysing AST and collecting some useful information For now the schemas are hardcoded. There are
Module for collecting cross references between modules defined in the same project.
Functions for working with Graphviz graphs
Functions for working with mermaid-JS graphs
This module exposes a
from/2 macro to creates queries for the Archeometer
database. The recommended way to use it is to import the whole module. Let's
see a simple example!
This module represents SQL subqueries. This subqueries partially mimics a
query. At the moment, only a
select field is allowed.
Restrict and adapt Elixir terms to a subset that is translatable to SQLite expressions. See the language reference
Utility functions for dealing with "container" AST. That is, tuples, list, keyword list and maps.
Common utilities for interacting with the database.
A query result with a nicer API to manipulate the data.
Provides functions to access the configuration of reports.
Represents a fragment, which is part of a section in a page.
Represents the definition of a Fragment.
Generates a report given a configuration and parameters.
Represents a Page of the report. Each page is associated with an application.
Represents the definition of a Page.
Defines the structure of the page definition for a single application.
Defines the page structure for a project.
Renders a page into HTML.
Represents a Section, which is part of a Page.
Represents the definition of a Section.
Utility functions for generating reports
Specify data base table information in Elixir modules. The information must
be specified inside a
This modules represents a OTP application. It holds the relevant schema data that will be used in the project analysis.
Represents an cross reference between applications.
Represents an implementation of a Behaviour into a module.
Represents a credo issue found in a module.
Represents an Elixir function. Holds the relevant schema data that will be used in the project analysis.
Represents an Elixir macro. Holds the relevant schema data that will be used in the project analysis.
Represents an Elixir module. Holds the relevant schema data that will be used in the project analysis.
Represents an cross reference between modules. It contains the relevant schema data that will be used in the project analysis.
This module provides several helpers functions to deal with Elixir ASTs.
Mix Task to generate a dependency graph for the applications within an umbrella.
Mix task to gather information about the project and store it into the database. It currently gathers information about
Mix Task to collect application names, module application id, module implemented behaviours, module defined structs and store them into a Archeometer database.
Mix Task to collect and store test coverage information into a Archeometer database.
Mix Task to run Credo and save the issues it found.
Mix Task to collect information of Ecto schema modules and their relationships.
Mix Task to run code AST analysis of modules, functions and macros and store its findings into a Archeometer database.
Mix Task to analyze internal dependencies between modules and store them into a Archeometer database.
Mix Task to perform a Design Structure Matrix (DSM) analysis.
Mix Task to generate a static HTML report.
Mix Task to generate a treemap for an application or a set of modules.
Mix Task to generate a dependency graph given some module names.