getsentry / getsentry/sentry-ruby

Add AR query time to breadcrumbs

Open
#2,283 4 comments 0 reactions 1 assignee Claimed by @sl0thentr0py View on GitHub
Feature Ruby sentry-rails Spans
Dominant language
Ruby
Stars
987
Forks
541
Avg merge
17h 40m
Merged PRs (30d)
19

Description

**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
)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.