Skip to content

Commit 57976d5

Browse files
y-yagiekump
andauthored
Support Trilogy gem (DataDog#3274)
Support `trilogy` gem --------- Co-authored-by: y-yagi <[email protected]> Co-authored-by: Edmund Kump <[email protected]>
1 parent 8fd4b30 commit 57976d5

38 files changed

+2247
-5
lines changed

Rakefile

+7-2
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ TEST_METADATA = {
176176
'suite' => {
177177
'contrib' => '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby'
178178
},
179+
'trilogy' => {
180+
'relational_db' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ❌ 2.5 / ❌ 2.6 / ❌ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ❌ jruby'
181+
},
179182
'qless' => {
180183
'contrib-old' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby'
181184
},
@@ -189,7 +192,8 @@ TEST_METADATA = {
189192
'rails6-mysql2' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ 3.3 / ✅ jruby',
190193
'rails6-postgres' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ 3.3 / ✅ jruby',
191194
'rails61-mysql2' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby',
192-
'rails61-postgres' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby'
195+
'rails61-postgres' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ✅ jruby',
196+
'rails61-trilogy' => '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ❌ 2.5 / ❌ 2.6 / ❌ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ 3.3 / ❌ jruby'
193197
},
194198
'railsautoinstrument' => {
195199
'rails32-postgres' => '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ❌ 2.4 / ❌ 2.5 / ❌ 2.6 / ❌ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ 3.3 / ✅ jruby',
@@ -500,7 +504,8 @@ namespace :spec do
500504
:sneakers,
501505
:stripe,
502506
:sucker_punch,
503-
:suite
507+
:suite,
508+
:trilogy
504509
].each do |contrib|
505510
desc '' # "Explicitly hiding from `rake -T`"
506511
RSpec::Core::RakeTask.new(contrib) do |t, args|

appraisal/ruby-3.0.rb

+10
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@
4141
gem 'net-smtp'
4242
end
4343

44+
appraise 'rails61-trilogy' do
45+
gem 'rails', '~> 6.1.0'
46+
gem 'trilogy'
47+
gem 'activerecord-trilogy-adapter'
48+
gem 'sprockets', '< 4'
49+
gem 'lograge', '~> 0.11'
50+
gem 'net-smtp'
51+
end
52+
4453
appraise 'resque2-redis3' do
4554
gem 'redis', '< 4.0'
4655
gem 'resque', '>= 2.0'
@@ -88,6 +97,7 @@
8897
gem 'pg', platform: :ruby
8998
gem 'sqlite3', '>= 1.4.2', platform: :ruby
9099
gem 'sequel', '~> 5.54.0' # TODO: Support sequel 5.62.0+
100+
gem 'trilogy'
91101
end
92102

93103
appraise 'activesupport' do

appraisal/ruby-3.1.rb

+10
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@
4141
gem 'net-smtp'
4242
end
4343

44+
appraise 'rails61-trilogy' do
45+
gem 'rails', '~> 6.1.0'
46+
gem 'trilogy'
47+
gem 'activerecord-trilogy-adapter'
48+
gem 'sprockets', '< 4'
49+
gem 'lograge', '~> 0.11'
50+
gem 'net-smtp'
51+
end
52+
4453
appraise 'resque2-redis3' do
4554
gem 'redis', '< 4.0'
4655
gem 'resque', '>= 2.0'
@@ -88,6 +97,7 @@
8897
gem 'pg', platform: :ruby
8998
gem 'sqlite3', '>= 1.4.2', platform: :ruby
9099
gem 'sequel', '~> 5.54.0' # TODO: Support sequel 5.62.0+
100+
gem 'trilogy'
91101
end
92102

93103
appraise 'activesupport' do

appraisal/ruby-3.2.rb

+10
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@
4141
gem 'net-smtp'
4242
end
4343

44+
appraise 'rails61-trilogy' do
45+
gem 'rails', '~> 6.1.0'
46+
gem 'trilogy'
47+
gem 'activerecord-trilogy-adapter'
48+
gem 'sprockets', '< 4'
49+
gem 'lograge', '~> 0.11'
50+
gem 'net-smtp'
51+
end
52+
4453
appraise 'resque2-redis3' do
4554
gem 'redis', '< 4.0'
4655
gem 'resque', '>= 2.0'
@@ -88,6 +97,7 @@
8897
gem 'pg', platform: :ruby
8998
gem 'sqlite3', '>= 1.4.2', platform: :ruby
9099
gem 'sequel', '~> 5.54.0' # TODO: Support sequel 5.62.0+
100+
gem 'trilogy'
91101
end
92102

93103
appraise 'activesupport' do

appraisal/ruby-3.3.rb

+10
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@
4141
gem 'net-smtp'
4242
end
4343

44+
appraise 'rails61-trilogy' do
45+
gem 'rails', '~> 6.1.0'
46+
gem 'trilogy'
47+
gem 'activerecord-trilogy-adapter'
48+
gem 'sprockets', '< 4'
49+
gem 'lograge', '~> 0.11'
50+
gem 'net-smtp'
51+
end
52+
4453
appraise 'resque2-redis3' do
4554
gem 'redis', '< 4.0'
4655
gem 'resque', '>= 2.0'
@@ -88,6 +97,7 @@
8897
gem 'pg', platform: :ruby
8998
gem 'sqlite3', '>= 1.4.2', platform: :ruby
9099
gem 'sequel', '~> 5.54.0' # TODO: Support sequel 5.62.0+
100+
gem 'trilogy'
91101
end
92102

93103
appraise 'activesupport' do

docs/GettingStarted.md

+23
Original file line numberDiff line numberDiff line change
@@ -2024,6 +2024,29 @@ end
20242024
LogJob.perform_async('login')
20252025
```
20262026

2027+
### Trilogy
2028+
2029+
The trilogy integration traces any SQL command sent through the `trilogy` gem.
2030+
2031+
```ruby
2032+
require 'trilogy'
2033+
require 'ddtrace'
2034+
2035+
Datadog.configure do |c|
2036+
c.tracing.instrument :trilogy, **options
2037+
end
2038+
2039+
client = Trilogy.new(host: "localhost", username: "root")
2040+
client.query("SELECT * FROM users WHERE group='x'")
2041+
```
2042+
2043+
`options` are the following keyword arguments:
2044+
2045+
| Key | Env Var | Description | Default |
2046+
|-----------------------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|
2047+
| `service_name` | `DD_TRACE_TRILOGY_SERVICE_NAME` | Name of application running the `trilogy` instrumentation. May be overridden by `global_default_service_name`. [See *Additional Configuration* for more details](#additional-configuration) | `trilogy` |
2048+
| `peer_service` | `DD_TRACE_TRILOGY_PEER_SERVICE` | Name of external service the application connects to | `nil` |
2049+
20272050
## Additional configuration
20282051

20292052
To change the default behavior of `ddtrace`, you can use, in order of priority, with 1 being the highest:

gemfiles/ruby_3.0_rails61_trilogy.gemfile

+50
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)