getsentry / getsentry/sentry-ruby

Add AR query time to breadcrumbs

未关闭
#2,283 4 条评论 0 个 reaction 已指派 1 人 已被 @sl0thentr0py 认领 在 GitHub 查看
Feature Ruby sentry-rails Spans
主要语言
Ruby
星标
987
派生
541
平均合并
17 小时 40 分钟
30 天内合并 PR
19

描述

**Describe the idea**

We have breadcrumbs with the query like:

```js
{
name: Employee Pluck,
sql: SELECT DISTINCT "employees"."person_id" FROM "employees" WHERE "employees"."company_id" IN ('x', 'y', 'z'),
statement_name: null
}
```

Would be helpful to have the timing of that query together with the breadcrumb:

```js
{
name: Employee Pluck,
sql: SELECT DISTINCT "employees"."person_id" FROM "employees" WHERE "employees"."company_id" IN ('x', 'y', 'z'),
statement_name: null,
duration: 5.1234 // ms
}
```

**Why do you think it's beneficial to most of the users**

That will help with exceptions that might be caused due to slow endpoints such as graphql timeout middleware, rack-timeout and etc.

**Possible implementation**

https://github.com/getsentry/sentry-ruby/blob/master/sentry-rails/lib/sentry/rails/breadcrumb/active_support_logger.rb#L14-L18

Could be something like:

```ruby
crumb = Sentry::Breadcrumb.new(
data: data,
category: name,
timestamp: started.to_i,
duration: started - finished
)
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。