API Reference Archeometer v0.1.1

Modules

Archeometer

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 applicatios within an umbrella application.

Defines algorithms for Design Structure Matrix (DSM) analysis.

Functions to render an Archeometer.Analysis.DSM struct into plain text.

Functions to render an Archeometer.Analysis.DSM struct into a svg image.

Functions for generating different TreeMaps.

This module provides functions to calculate coordinates and size from Archeometer.Analysis.Treemap.Node to be rendered by Archeometer.Analysis.Treemap.SVGrender.

Struct that contains starting coordinates, size and other data for an area that will be rendered by Archeometer.Analysis.Treemap.SVGRender.

Functions to render an Archeometer.Analysis.Treemap struct into a svg image.

Functions for generating a dependency graph from a list of given modules.

Module for collecting test coverage statistics, using Erlang cover module.

Credo Task to collect and save metrics from an static analysis of an Elixir project..

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!

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.

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.

Specify data base table information in Elixir modules. The information must be specified inside a defschema/1 macro.

This modules represents a OTP application. It holds the relevant schema data that will be used in the project analysis.

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 Tasks

Mix Task to generate a dependency graph for the applications within an umbrella.

Mix Task to perform a Design Structure Matrix (DSM) analysis.

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 and modules application id and store them into a Archeometer database.

Mix Task to collect and store test coverage information into a Archeometer database.

Mix Task to run code AST exploration 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 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.