# Capturing and rendering Syndicated Actor Model interaction traces - Trace schema: [[syndicate-protocols]/schemas/trace.prs][trace.prs] - Trace rendering tool: [syndicate-render-msd][] [trace.prs]: https://git.syndicate-lang.org/syndicate-lang/syndicate-protocols/src/branch/main/schemas/trace.prs [syndicate-render-msd]: https://git.syndicate-lang.org/syndicate-lang/syndicate-render-msd The [`syndicate-server`](https://git.syndicate-lang.org/syndicate-lang/syndicate-rs/) program is able to capture traces of all [Syndicated Actor Model](https://syndicate-lang.org/about/) interactions that traverse it, saving them as `TraceEntry` records (defined in [trace.prs][]) to a file for later analysis. ## Recording a trace To record a trace, start `syndicate-server` with the `-t ` (or `--trace-file `) command-line options. All interactions will be recorded in the named file. The contents of the file will look a bit like this: ```preserves >> >> >> >> >> >> >> >> >> [ >> 3>>> ]>> [ >> 3>>>]>> [ > >]> #!"81/122:00007fa7c800ff10">> 13>>>]>> [ >]> #!"11/102:00007fa75c0010b0">> 23>>>]>> ... ``` ## Rendering a trace Tools such as [syndicate-render-msd][] can process trace files to produce message-sequence-diagram-like interactive renderings of their contents. The trace file excerpted above renders (in part) in the browser to the following screenshot: ![Interaction snapshot]() Enhancements such as streaming of a live trace and filtering and selecting subtraces are on the roadmap.