HiTrace provides APIs to implement call chain tracing throughout a service process. With HiTrace, you can quickly obtain the run log for the call chain of a specified service process and locate faults in cross-device, cross-process, or cross-thread communications.
Figure 1 Architecture of HiTrace
HiTrace is the lightweight implementation based on the distributed call chain of cloud computing. HiTrace implements call chain tracing as follows:
- Transfers traceid in cross-device, cross-process, and cross-thread communications.
- Stores traceid in the thread local storage (TLS) at the Native layer of the process.
- Automatically adds traceid to existing events and run logs.
/base/hiviewdfx/hitrace
├── frameworks # Framework code
│ └── native # HiTrace Native implementation code
├── interfaces # APIs
│ └── js # JS APIs
│ └── kits # JS inner implementation code
│ └── native # C/C++ APIs
│ └── innerkits # Header files opened to internal subsystems
└── test # Test cases
HiTrace is already supported by the IPC and EventHandler communication mechanisms. If you are using a custom communication mechanism, adaptation is required to use HiTrace.
Major APIs of HiTrace