Use psx-telemetry when you want a program to label work for PSoXide's emulator profiler.
How the crate is organized
The root defines shared stage, task and counter identifiers and their descriptions. emit contains event-writing helpers and cycle readings. Sharing these identifiers keeps guest instrumentation and host decoding aligned.
Integration notes
The emit feature enables the guest-side Expansion 2 writes on MIPS. Without it, emitters are no-ops; cycle readings return zero outside the supported configuration. These values are emulator instrumentation and aren't a portable hardware performance counter. Give event scopes stable meanings across recordings so comparisons stay useful.
There is no standalone telemetry example in the SDK set. Use the API's emitter contracts when instrumenting your own frame loop, and read the development workflow for how profiling fits into iteration.
API, dependencies and source structure
SDK revision f2fec1c301f1. Structure, dependencies and features below come from this revision.
The PS1 reference includes all Cargo features. The manifest below shows which features are enabled by default.
Dependencies
psx-hw(shared repository crate): all targets
Cargo features
| Feature | Enables |
|---|---|
emit | No additional dependency features |
Read the complete manifest and feature comments.
Source layout
The list includes internal implementation and test files. Public modules, types, functions and their signatures are indexed in the API reference above.
3 source and manifest files
Cargo.tomlsrc/emit.rs: Guest-side telemetry event emitters (Expansion 2 MMIO ports).src/lib.rs: Shared guest/host telemetry id tables.