Cachito supports OpenTelemetry tracing. Internally, various python libraries used have automated tracing available, including Requests, Flask, SQLAlchemy, and Celery. Spans are created automatically in each component, and the overall trace ID is passed appropriately.
The docker-compose.yml file includes the configuration of a jaeger container to collect traces in the development environment. The local instance of Jaeger is available at http://localhost:16686
Cachito's tracing is configured via configuration variables in the /etc/cachito/settings.py (CACHITO_OTLP_EXPORTER_ENDPOINT) and /etc/cachito/celery.py (cachito_otlp_exporter_endpoint). This should be set to a valid URL that includes the URL and port of a listening OTLP-compatible service. If the configuration variable is not defined, trace information will be printed in the log.