Skip to main content
Version: 2.5.0

Client Configuration

The ChronoLog client uses a separate JSON configuration file that is independent of the server-side default_conf.json. This file is passed to client applications via the --config flag and tells the client how to locate and connect to a running ChronoVisor.

Passing the Config File

./my_chronolog_app --config /path/to/default_client_conf.json

File Structure

The entire client configuration lives under a top-level chrono_client key:

{
"chrono_client": {
"VisorClientPortalService": { ... },
"ClientQueryService": { ... },
"Monitoring": { ... }
}
}

Full Default Configuration

{
"chrono_client": {
"VisorClientPortalService": {
"rpc": {
"protocol_conf": "ofi+sockets",
"service_ip": "127.0.0.1",
"service_base_port": 5555,
"service_provider_id": 55
}
},
"ClientQueryService": {
"rpc": {
"protocol_conf": "ofi+sockets",
"service_ip": "127.0.0.1",
"service_base_port": 5557,
"service_provider_id": 57
}
},
"Monitoring": {
"monitor": {
"type": "file",
"file": "chrono-client.log",
"level": "debug",
"name": "ChronoClient",
"filesize": 1048576,
"filenum": 3,
"flushlevel": "warning"
}
}
}
}

Field Reference

VisorClientPortalService

Defines how the client connects to ChronoVisor's client-facing portal. These values must match the VisorClientPortalService block in the ChronoVisor's server configuration.

FieldDefaultDescription
protocol_conf"ofi+sockets"Thallium transport protocol. See Network & RPC for options.
service_ip"127.0.0.1"IP address of the host running ChronoVisor. Change to the visor's actual IP for remote connections.
service_base_port5555Port on which ChronoVisor listens for client connections.
service_provider_id55Thallium provider ID. Must match the visor's configured value.

ClientQueryService

Configures the client's local endpoint used for query responses from ChronoPlayer.

FieldDefaultDescription
protocol_conf"ofi+sockets"Transport protocol (must match the rest of the deployment).
service_ip"127.0.0.1"IP address the client binds for receiving query responses.
service_base_port5557Port the client listens on for playback query responses.
service_provider_id57Thallium provider ID for this service endpoint.

Monitoring

Controls client-side logging. Uses the same structure as the server-side monitoring blocks.

FieldDefaultDescription
type"file"Log sink type. Currently only "file" is supported.
file"chrono-client.log"Log file name (written to the working directory).
level"debug"Minimum log level to record: "debug", "info", "warning", "error".
name"ChronoClient"Logger name that appears in log entries.
filesize1048576Maximum log file size in bytes (1 MB) before rotation.
filenum3Number of rotated log files to retain.
flushlevel"warning"Minimum level at which log entries are flushed to disk immediately.

Connecting to a Remote ChronoVisor

For deployments where the client and ChronoVisor run on different hosts, update service_ip in VisorClientPortalService to point at the visor's host:

"VisorClientPortalService": {
"rpc": {
"protocol_conf": "ofi+sockets",
"service_ip": "192.168.1.10",
"service_base_port": 5555,
"service_provider_id": 55
}
}

Ensure the protocol_conf, service_base_port, and service_provider_id match exactly what is set in the server's chrono_visor.VisorClientPortalService.rpc block. A mismatch will cause the client to fail to connect.