SimpleAPM(Rails Engine) - Rails项目性能监控

自己做了一个rails项目的性能监控GEM(SimpleApm)

Github: https://github.com/xiayuanyin/simple_apm

功能

基于Redis的简单的Web请求性能监控/慢事务追踪工具

以天为维度记录:

  • 最慢的500个(默认500)请求
  • 记录每个action最慢的20次请求
  • 记录每个action的平均访问时间
  • 记录慢请求的详情和对应SQL详情(多余的会删掉)
  • 以10分钟为刻度记录平均/最慢访问时间、次数等性能指标,并生成图表
  • 记录请求中外部http访问时间

原理

围绕Rack记录请求级别的相关信息,使用redis作为数据存储/计算工具来记录慢事务

数据传递核心为:Active Support Instrumentation

处理Instrument方式为开启一个不影响主线程的常驻线程,循环计算处理数据

获取内存信息用到了gem: get_process_mem,经测试在linux系统耗时在1ms以下

功能截图

  • Dashboard


    SimpleAPM(Rails Engine) - Rails项目性能监控_第1张图片
    dashboard.jpg
  • 慢请求列表


    SimpleAPM(Rails Engine) - Rails项目性能监控_第2张图片
    slow_requests.png
  • Action列表


    SimpleAPM(Rails Engine) - Rails项目性能监控_第3张图片
    action_list.png
  • 请求详情


    SimpleAPM(Rails Engine) - Rails项目性能监控_第4张图片
    request_info.png
  • Action概况


    SimpleAPM(Rails Engine) - Rails项目性能监控_第5张图片
    action_info.png
  • 数据管理


    SimpleAPM(Rails Engine) - Rails项目性能监控_第6张图片
    data-manage.png

你可能感兴趣的:(SimpleAPM(Rails Engine) - Rails项目性能监控)