https://github.com/xorz57/tracer
Tracer written in C++11
https://github.com/xorz57/tracer
chrome-tracing cpp cpp-library cpp11 cpp11-library header-only header-only-library profiling profiling-library tracing
Last synced: 3 months ago
JSON representation
Tracer written in C++11
- Host: GitHub
- URL: https://github.com/xorz57/tracer
- Owner: xorz57
- License: mit
- Created: 2024-10-25T21:35:55.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-06T14:38:50.000Z (7 months ago)
- Last Synced: 2025-01-03T18:09:35.491Z (5 months ago)
- Topics: chrome-tracing, cpp, cpp-library, cpp11, cpp11-library, header-only, header-only-library, profiling, profiling-library, tracing
- Language: C++
- Homepage:
- Size: 74.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tracer
## Dependencies
- [nlohmann/json](https://github.com/nlohmann/json)
## Examples
### Factorial 1
```cpp
#include#include "Tracer.hpp"
std::uint64_t factorial(std::uint64_t n) {
TRACER_SCOPE("factorial", "function", { {"n", n} });
if (n <= 1) return 1;
return n * factorial(n - 1);
}int main() {
std::cout << factorial(10) << std::endl;
TRACER_DUMP("trace.json", 4);
}
```
### Fibonacci 1
```cpp
#include#include "Tracer.hpp"
std::uint64_t fibonacci(std::uint64_t n) {
TRACER_SCOPE("fibonacci", "function", { {"n", n} });
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}int main() {
std::cout << fibonacci(10) << std::endl;
TRACER_DUMP("trace.json", 4);
}
```
### Factorial 2
```cpp
#include#include "Tracer.hpp"
std::uint64_t factorial(std::uint64_t n) {
TRACER_SCOPE("factorial", "function", { {"n", n} });
std::uint64_t result = 1;
for (std::uint64_t i = 2; i <= n; ++i) {
result *= i;
}
return result;
}int main() {
std::cout << factorial(10) << std::endl;
TRACER_DUMP("trace.json", 4);
}
```
### Fibonacci 2
```cpp
#include#include "Tracer.hpp"
std::uint64_t fibonacci(std::uint64_t n) {
TRACER_SCOPE("fibonacci", "function", { {"n", n} });
if (n <= 1) return n;
std::uint64_t a = 0;
std::uint64_t b = 1;
for (std::uint64_t i = 2; i <= n; ++i) {
std::uint64_t c = a + b;
a = b;
b = c;
}
return b;
}int main() {
std::cout << fibonacci(10) << std::endl;
TRACER_DUMP("trace.json", 4);
}
```