Quick Start
Get ChronoLog running on your machine in minutes. Choose the method that best fits your environment:
- ChronoLog can be installed via three primary methods:
- Pre-built binary tarball (no build tools required, no source code either)
- Source build using CMake and Make (for advanced users and developers)
- Official Docker image (for containerized deployments with a pre-installed release build)
- Each method fully supports single-node or multi-node local and distributed development.
- See below for detailed, step-by-step instructions for each option.
- Release Archive
- Build from Source
- Docker
Download the Tarball
Download the pre-built binary tarball for v2.5.0 from the ChronoLog GitHub Releases page:
wget https://github.com/grc-iit/ChronoLog/releases/download/v2.5.0/chronolog-2.5.0-linux-x86_64.tar.gz
Extract the Archive
Extract the tarball:
tar -xzf chronolog-2.5.0-linux-x86_64.tar.gz
Enter the extracted directory:
cd chronolog-2.5.0
Verify Executables
After extracting, the bin/ directory should contain the following executables:
chrono-visor— ChronoVisor serverchrono-keeper— ChronoKeeper serverchrono-grapher— ChronoGrapher serverchrono-player— ChronoPlayer serverchrono-client-admin— CLI tool
List the contents of the bin/ directory to confirm:
ls bin/
Set Up Configuration
The default configuration file is located at conf/default-chrono-conf.json. Review and adjust it for your environment before starting ChronoLog.
View the default configuration:
cat conf/default-chrono-conf.json
Refer to the Configuration documentation for a full description of all available options.
Start ChronoLog
From inside the extracted directory (chronolog-2.5.0), run the deployment script:
tools/deploy_local.sh --start
Verify Deployment
Check that the ChronoLog processes are running:
pgrep -fla 'chrono-visor|chrono-keeper|chrono-grapher|chrono-player'
You should see chrono-visor, chrono-keeper, chrono-grapher, and chrono-player listed.
Stop ChronoLog
To stop all ChronoLog services:
tools/deploy_local.sh --stop
To also remove generated logs, configuration artifacts and stored data:
tools/deploy_local.sh --clean
Next Steps
For full deployment options and configuration, see the Single Node Deployment guide.
Prerequisites
Spack
ChronoLog requires various packages managed by Spack:
Spack v0.21.2 is required due to an incompatibility between newer Spack versions and spdlog. This will be resolved in a future release.
Clone Spack at the required version:
git clone --branch v0.21.2 https://github.com/spack/spack.git
Load Spack into your shell environment:
source /path-to-where-spack-was-cloned/spack/share/spack/setup-env.sh
Checkout ChronoLog
Clone the ChronoLog repository:
git clone https://github.com/grc-iit/ChronoLog.git
Installing Dependencies
Enter the repository and check out the stable release:
cd ChronoLog
git checkout v2.5.0
Activate the Spack environment defined in the repository:
spack env activate -p .
Install all required dependencies:
spack install -v
Installation can take more than 30 minutes.
Building ChronoLog
Create and enter the build directory:
mkdir build && cd build
Configure the build with CMake:
# Use Debug instead of Release for a debug build
cmake -DCMAKE_BUILD_TYPE=Release ..
Compile ChronoLog:
make all
Install
Install ChronoLog to the default directory:
make install
This installs executables, libraries, configuration, and deploy scripts into ~/chronolog-install/chronolog/.
Start ChronoLog
Run the deployment script from the install tree:
~/chronolog-install/chronolog/tools/deploy_local.sh --start
Verify Deployment
Check that the ChronoLog processes are running:
pgrep -fla 'chrono-visor|chrono-keeper|chrono-grapher|chrono-player'
You should see chrono-visor, chrono-keeper, chrono-grapher, and chrono-player listed.
Stop ChronoLog
To stop all ChronoLog services:
~/chronolog-install/chronolog/tools/deploy_local.sh --stop
To also remove generated logs, configuration artifacts and stored data:
~/chronolog-install/chronolog/tools/deploy_local.sh --clean
Next Steps
For full deployment options and configuration, see the Single Node Deployment guide.
Prerequisites
Ensure Docker is installed and the Docker daemon is running on your system.
Pull the ChronoLog Image
Pull the official ChronoLog image from GitHub Container Registry:
docker pull ghcr.io/grc-iit/chronolog:v2.5.0
Run the Container
docker run -it --rm ghcr.io/grc-iit/chronolog:v2.5.0 bash
This opens an interactive shell inside the container with ChronoLog pre-installed. The working directory is automatically set to the ChronoLog installation ($CHRONOLOG_HOME).
Verify Executables
After entering the container, the bin/ directory should contain the following executables:
chrono-visor— ChronoVisor serverchrono-keeper— ChronoKeeper serverchrono-grapher— ChronoGrapher serverchrono-player— ChronoPlayer serverchrono-client-admin— CLI tool
List the contents of the bin/ directory to confirm:
ls bin/
Set Up Configuration
The default configuration file is located at conf/default-chrono-conf.json. Review and adjust it for your environment before starting ChronoLog.
View the default configuration:
cat conf/default-chrono-conf.json
Refer to the Configuration documentation for a full description of all available options.
Start ChronoLog
Inside the container, run the deployment script:
tools/deploy_local.sh --start
Verify Deployment
Check that the ChronoLog processes are running:
pgrep -fla 'chrono-visor|chrono-keeper|chrono-grapher|chrono-player'
You should see chrono-visor, chrono-keeper, chrono-grapher, and chrono-player listed.
Stop ChronoLog
To stop all ChronoLog services:
tools/deploy_local.sh --stop
To also remove generated logs, configuration artifacts and stored data:
tools/deploy_local.sh --clean
Next Steps
For step-by-step Docker tutorials, see the Single Node Tutorial and Multi Node Tutorial.