analizo-metrics-history - processes a Git repository collection metrics
analizo metrics-history [OPTIONS] [<input>]
Processes a Git repository collection metrics for every single revision.
analizo metrics-history will process
input, a Git repository with
a working copy of the source code (i.e. not a bare git repository), checkout
every relevant commit and run
analizo metrics on it. The metrics for
all of the revisions will be accumulated in a file called
metrics.csv
inside
input. If
input is omitted, the current directory (.) s
assumed.
analizo metrics-history is part of the analizo suite.
analizo metrics-history considers as relevant the commits that changed at
least one source code file. Consequently, it skips all the commits where no
source code file was changed, such as documentation, translations, build
system changes, etc.
Currently we support C, C++, Java and C# projects, and therefore files
considered source code are the ones terminated in
.c,
.h,
.cpp,
.cxx,
.cc,
.hh,
.hpp,
.java
and
.cs.
- --parallel N, -p N
- Activates support for parallel processing, using N
concurrent worker processes. Usually you will want N to be less than or
equal to the number of CPUs in your machine.
Note that analizo metrics extraction is a CPU-intensive process, so setting
N as the exactly number of CPUs you have may bring your machine to an
unusable state.
- --language LANGUAGE, --exclude DIRECTORY
- Use programming language and directory exclusion filters.
See analizo-metrics(1) for a description of these
options.
- --output <file>, -o <file>
- Make the output be written to file. The default
value and valid values depend on the output format, see "Output
formats" below.
- --format FORMAT, -f FORMAT
- Specifies with output driver, and consequently the output
format, to use. See "Output Formats" below for a description of
the available output drivers.
- --list, -l
- Instead of actually processing the history, just print out
the ids of the commits that would be processed.
- --progressbar, -b
- Displays a progress bar during the execution, so that you
know approximately how long analizo is going to take to finish.
Using the
--format option, you can use the following output drivers:
This is the default output driver. By default, the output will be written to the
standard output. If can direct the output to a file using the
--output
option.
Stores the extracted data in a relational database.
When you use this driver, you can specify where exactly to store the data using
the
--output option. If you do not specify an explicit target, analizo
will write to a SQLite database in a file called
output.sqlite3 in the
current directory. If you pass a filename, and analizo will store the data in
a SQLite database that will be created on that file. You can direct the output
to any other database by using
--output DSN, where
DSN is a DBI
Data Source Name.
You can check
DBI(3pm) for details. Note that if you a database other
than SQLite, you must make sure that you have the corresponding DBI driver
installed.
Examples:
$ analizo metrics-history -f db -o history.db
Writes the output to a SQLite database called
history.db.
$ analizo metrics-history -f db -o 'dbi:Pg:dbname=pgdb'
Writes the data to a PostgreSQL database called
pgdb. This requires the
DBI::Pg Perl module.
analizo was not tested with MySQL yet.
analizo-metrics(1)
See
analizo(1).