C++ tracy性能分析(二)

环境搭建

项目根目录下

git clone https://github.com/wolfpld/tracy

cmake 配置

add_definitions("-DTRACY_ENABLE")

add_subdirectory(tracy)

include_directories(${TRACY_PUBLIC_DIR})

target_link_libraries(project TracyClient)

test.cpp
cpp 复制代码
//#define TRACY_CALLSTACK   // 收集调用栈
// #define TRACY_LIBUNWIND_BACKTRACE   // use libunwind to perform callstack
 #define TRACY_FIBERS    //线程监控

#include "tracy/Tracy.hpp"
#include "tracy/TracyC.h"

// Memory profiling
void * operator new ( std :: size_t count )
{
  auto ptr = malloc ( count );
  TracyAlloc ( ptr , count );
  return ptr ;
}
void operator delete ( void * ptr ) noexcept
{
  TracyFree ( ptr );
  free ( ptr );
}

void test() {
    TracySetProgramName("test");
    ZoneScoped;
     TracyMessageL("Hello");
    // TracyAppInfo(text, size);
    TracyCZoneN(test, "test", true);
     FrameMarkStart (" Audio processing ");
//    FrameMarkNamed(" Audio processing ");
//    FrameImage(image, width, height, offset, flip);

//     TracyGpuZone("test");

     FrameMarkEnd (" Audio processing ");

    const char * fiber = " job1 ";
    TracyCZoneCtx zone ;
    std::thread t1([fiber]{
      TracyFiberEnter(fiber);
      TracyCZone(ctx, 1) ;

      TracyFiberLeave;
    });
    t1.join () ;

}
抓包配置

工具下载

版本配对

运行

启动 tracy-profiler.exe

启动test.exe

点击connect采集

效果
参考

GitHub - wolfpld/tracy: Frame profiler

C++ tracy性能分析_tracy c++-CSDN博客

C++ prometheus性能分析-CSDN博客

gprof性能分析-CSDN博客


创作不易,小小的支持一下吧!

相关推荐
Дерек的学习记录8 小时前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5
雷✘8 小时前
C++ 类与对象的初始化机制、成员访问边界与拷贝优化
java·网络·c++
Ramble_Naylor8 小时前
Rust深度解读:异步流(Async Streams)与生成器的处理艺术
开发语言·后端·rust
努力实干8 小时前
简单工厂模式(Simple Factory Pattern)——C++
开发语言·c++·简单工厂模式
熊猫钓鱼>_>8 小时前
平行视界兼容模式与魔法变量配置避坑【鸿蒙心迹】
运维·服务器·开发语言·笔记·华为·harmonyos·openharmony
大鹏说大话8 小时前
PHP 大文件上传解决方案:分片上传完整思路
开发语言·php
Wang's Blog9 小时前
Java 项目实战:交友项目 - 我的访客:需求说明
java·开发语言·交友
東隅已逝,桑榆非晚10 小时前
算法2. 双指针法-复写零
c++·笔记·学习·算法
布莱克60510 小时前
C++ 中堆和栈的区别详解
开发语言·c++·栈·堆
像风一样自由202010 小时前
3.Dockerfile如何构建一个Python算法镜像
开发语言·人工智能·python·大模型