<commit_before>xenopsd: a simple VM manager
============================

xenopsd manages VMs running

  * on Xen, via direct libxc calls
  * on Xen/KVM via libvirt [experimental]
  * on KVM via qemu directly [experimental]

and provides a simple RPC control interface to the layer above (typically xapi).

## Coverage Profiling

This branch adds coverage profiling with bisect_ppx. Binaries write
`bisect*.out` files, when they exit to the current directory. These files
can be analysed with bisect-ppx-report:

    bisect-ppx-report -I _build -html coverage     *.out
    bisect-ppx-report -I _build -text coverage.txt *.out
    
## Location of Profiling Data

By default, an instrumented binary writes to `$CWD/bisect*.out`. In the
case of xenopsd in producition, this would be `/`. To avoid writing to `/`
and to avoid several services writing to the same place, start xenopsd
binaries with an evironment variable pointing to a better place:

    BISECT_FILE="/tmp/xenopsd-bisect"

<commit_msg>CP-17268 Updated README re where log files are written<commit_after>xenopsd: a simple VM manager
============================

xenopsd manages VMs running

  * on Xen, via direct libxc calls
  * on Xen/KVM via libvirt [experimental]
  * on KVM via qemu directly [experimental]

and provides a simple RPC control interface to the layer above (typically xapi).

## Coverage Profiling

This branch adds coverage profiling with bisect_ppx. Binaries write
`bisect*.out` files, when they exit to the current directory. These files
can be analysed with bisect-ppx-report:

    bisect-ppx-report -I _build -html coverage     *.out
    bisect-ppx-report -I _build -text coverage.txt *.out
    
## Location of Profiling Data

By default, an instrumented binary writes to `$CWD/bisect*.out`. In the
case of xenopsd in producition, this would be `/`. To avoid writing to `/`
and to avoid several services writing to the same place, start xenopsd
binaries with an evironment variable pointing to a better place:

    BISECT_FILE="/tmp/bisect-xenopsd"

Function `Bisect_setup.init name` sets the environment variable if it is
unset from inside the program such that log data is written to the temp
directory (repecting TMP and TEMP env vars id set). However, logging to
$CWD will still work even if the `init` function is not called.



{'fraction_non_alphanumeric': 0.08706896551724137, 'fraction_numerical': 0.0021551724137931034, 'mean_word_length': 4.056644880174292, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1000083', 'n_tokens_mistral': 703, 'n_tokens_neox': 663, 'n_words': 310}