google / google/xls

Ergonomics of vtrace_fmt! in C++ code using XLS JIT

Open
#2,520 0 comments 0 reactions 0 assignees View on GitHub
dslx enhancement 🧦 sox
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

### What's hard to do? (limit 100 words)

`vtrace_fmt!` is a new trace macro with verbosity, similar to absl's `VLOG` (https://github.com/abseil/abseil-cpp/blob/d20bae7f9871846821c2b2114a94c1fcb6e1abf5/absl/log/log.h#L233).

However, we don't really have a good way to selectively turn on these traces like we would in regular C++ VLOG messages.

### Current best alternative workaround (limit 100 words)

In your C++ code, you can `VLOG` the XLS `trace_msgs` events. However, this means you need to specify the C++ executor file as the `vmodule` and don't have a good way to selectively log between different DSLX libraries. All relevant DSLX traces, including any other `VLOG` messages in the C++ source file, are logged together.

### Your view of the "best case XLS enhancement" (limit 100 words)

It would be great to be able to specify `--vmodule==3` and have it turn on all the `vtrace_fmt!(u32:3, ...)` or above messages only in that file.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.