-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ruby): Document integrations - gems and patches #11115
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
title: Integrations | ||
description: "Sentry provides additional integrations designed to change configuration or add instrumentation to your application." | ||
sidebar_order: 40 | ||
--- | ||
|
||
The Sentry SDK uses integrations to hook into the functionality of popular frameworks and libraries to automatically instrument your application and give you the best data out of the box. | ||
|
||
Some of our integrations are available as separate gems while others are available as patches that can be enabled from the `sentry-ruby` gem. You can find an overview of all available integrations below. | ||
|
||
## Gems | ||
|
||
The following table lists all integrations available as gems. | ||
|
||
Simply add the relevant gems to your Gemfile and run `bundle install` to install them. | ||
|
||
| Integration | `Gemfile` | | ||
| --------------------------------------------------------------------------------------------------------------------- | :--------------: | | ||
| <LinkWithPlatformIcon platform="ruby.rails" label="Rails" url="/platforms/ruby/guides/rails" /> | `gem "sentry-rails"` | | ||
| <LinkWithPlatformIcon platform="ruby.sidekiq" label="Sidekiq" url="/platforms/ruby/guides/sidekiq" /> | `gem "sentry-sidekiq"` | | ||
| <LinkWithPlatformIcon platform="ruby.delayed_job" label="Delayed Job" url="/platforms/ruby/guides/delayed_job/" /> | `gem "sentry-delayed_job"` | | ||
| <LinkWithPlatformIcon platform="ruby.resque" label="Resque" url="/platforms/ruby/guides/resque" /> | `gem "sentry-resque"` | | ||
| <LinkWithPlatformIcon platform="ruby.opentelemetry" label="OpenTelemetry" url="/platforms/ruby/tracing/instrumentation/opentelemetry" /> | `gem "sentry-opentelemetry"` | | ||
|
||
## Patches | ||
|
||
The following table lists all integrations available as patches and which ones are enabled by default. | ||
|
||
You can use [`config.enabled_patches`](/platforms/ruby/configuration/options/#enabled-patches) to enable or disable them. | ||
|
||
```ruby | ||
# enable :faraday patch | ||
config.enabled_patches << :faraday | ||
|
||
# disable :puma patch | ||
config.enabled_patches.delete(:puma) | ||
``` | ||
|
||
| Patch | **Auto-enabled** | | ||
| ----------------------------|:----------------:| | ||
| `:http` | ✓ | | ||
| `:redis` | ✓ | | ||
| `:puma` | ✓ | | ||
| `:faraday` | | | ||
| `:graphql` | | | ||
|
||
## Features | ||
|
||
### Rails | ||
|
||
The Rails integration is a feature rich integration that: | ||
|
||
* captures Errors anywhere in your Rails application | ||
* creates Transactions for incoming HTTP Requests | ||
* records Spans in those Transactions for various important operations like: | ||
* database queries (performed with `activerecord`) | ||
* view renders | ||
|
||
### Queues | ||
|
||
The various Queue integrations for Sidekiq, Delayed Job and Resque create distributed traces connecting tasks that are performed in the background asynchronously. | ||
|
||
The Rails integration also includes this functionality for `ActiveJob`. | ||
|
||
### OpenTelemetry | ||
|
||
The OpenTelemetry integration is used for exporting spans instrumented by an OpenTelemetry SDK into Sentry. See the [OpenTelemetry Setup](/platforms/ruby/tracing/instrumentation/opentelemetry) instructions for more details. | ||
|
||
### HTTP Requests | ||
|
||
Outgoing HTTP Requests are instrumented as Spans by the `:http` (for requests done with `Net::HTTP`) and `:faraday` patches. | ||
|
||
### GraphQL | ||
|
||
GraphQL operations are instrumented as Spans by the `:graphql` patch. | ||
|
||
### Puma | ||
|
||
The `:puma` patch captures low level exceptions outside your application stack. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed this since it is now part of our faraday integration.