aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/trace.cpp
Commit message (Collapse)AuthorAgeFilesLines
* add support for OTLP logging/tracing (#599)Stefan Boberg2025-10-221-0/+1
| | | | | | | | - adds `zentelemetry` project which houses new functionality for serializing logs and traces in OpenTelemetry Protocol format (OTLP) - moved existing stats functionality from `zencore` to `zentelemetry` - adds `TRefCounted<T>` for vtable-less refcounting - adds `MemoryArena` class which allows for linear allocation of memory from chunks - adds `protozero` which is used to encode OTLP protobuf messages
* clean up trace options parsing (#473)Dan Engelbrecht2025-08-221-39/+75
| | | | | * clean up trace command line options explicitly shut down worker pools * some additional startup trace scopes
* Insights-compatible memory tracking (#214)Stefan Boberg2024-11-251-2/+88
| | | | | | | | | | | | | This change introduces support for tracing of memory allocation activity. The code is ported from UE5, and Unreal Insights can be used to analyze the output. This is currently only fully supported on Windows, but will be extended to Mac/Linux in the near future. To activate full memory tracking, pass `--trace=memory` on the commandline alongside `--tracehost=<ip>` or `-tracefile=<path>`. For more control over how much detail is traced you can instead pass some combination of `callstack`, `memtag`, `memalloc` instead. In practice, `--trace=memory` is an alias for `--trace=callstack,memtag,memalloc`). For convenience we also support `--trace=memory_light` which omits call stacks. This change also introduces multiple memory allocators, which may be selected via command-line option `--malloc=<allocator>`: * `mimalloc` - mimalloc (default, same as before) * `rpmalloc` - rpmalloc is another high performance allocator for multithreaded applications which may be a better option than mimalloc (to be evaluated). Due to toolchain limitations this is currently only supported on Windows. * `stomp` - an allocator intended to be used during development/debugging to help track down memory issues such as use-after-free or out-of-bounds access. Currently only supported on Windows. * `ansi` - fallback to default system allocator
* added details to trace initialization (#588)Stefan Boberg2023-12-111-5/+11
| | | this adds information on program name and command line to trace initialization
* add trace command to enable/disable tracing at runtime (#416)Dan Engelbrecht2023-09-221-25/+49
| | | | | * add trace command to enable/disable tracing at runtime * rework tracing init/start/stop * changelog
* fix trace close (#365)Dan Engelbrecht2023-08-211-0/+6
| | | * Make sure we close our trace session properly
* added trace::DescribeSession to TraceInitStefan Boberg2023-05-151-7/+13
| | | | | without this, traces rather unhelpfully show up with no context in the session browser
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+45
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees