ocaml / ocaml/dune

Expand responsefile content in trace output

Open
#5,334 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
OCaml
Stars
1.9k
Forks
500
Avg merge
15h 21m
Merged PRs (30d)
277

Description

Desired Behavior

When using --trace-file, for very long command lines, show arguments passed to ocaml*.exe instead of -args0 responsefile.data.

When profiling Dune and in particular external commands called with -args0 / -args it's hard/impossible to tell what was actually passed to the external command. For example, for ocamlc executions you cannot always see what source file was actually compiled.

Example

I propose that instead of logging Args: -args0 responsefile.data instead it logs Args: <content of responsefile>, so

Args: <very long list of options> -c file.ml

Alternatively, another value is logged, ReponseFileContent or similiar, with the content of the file:

Args: -args0 responsefile.data
ResponseFileContent: <very long list of options> -c file.ml

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the --trace-file handling for external commands and the -args0/-args response-file path, using the ocamlc example as the reference case. Trace how Args output is produced, then verify that the trace exposes response-file contents or a separate response-file entry while preserving the command arguments.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
build-system, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.