The OpenTelemetry Mysql2 Ruby gem is a community maintained instrumentation for Mysql2.
Install the gem using:
gem install opentelemetry-instrumentation-mysql2Or, if you use bundler, include opentelemetry-instrumentation-mysql2 in your Gemfile.
To use the instrumentation, call use with the name of the instrumentation:
OpenTelemetry::SDK.configure do |c|
c.use 'OpenTelemetry::Instrumentation::Mysql2'
endAlternatively, you can also call use_all to install all the available instrumentation.
OpenTelemetry::SDK.configure do |c|
c.use_all
endThe mysql2 instrumentation allows the user to supply additional attributes via the with_attributes method. This makes it possible to supply additional attributes on mysql2 spans. Attributes supplied in with_attributes supersede those automatically generated within mysql2's automatic instrumentation. If you supply a db.statement attribute in with_attributes, this library's :db_statement configuration will not be applied.
require 'opentelemetry/instrumentation/mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
OpenTelemetry::Instrumentation::Mysql2.with_attributes('pizzatoppings' => 'mushrooms') do
client.query("SELECT 1")
endOpenTelemetry::SDK.configure do |c|
c.use 'OpenTelemetry::Instrumentation::Mysql2', {
# The obfuscation of SQL in the db.statement attribute is enabled by default.
# To disable, set db_statement to :include; to omit the query completely, set db_statement to :omit
db_statement: :include,
}
endAn example of usage can be seen in example/mysql2.rb.
The opentelemetry-instrumentation-mysql2 gem source is on github, along with related gems including opentelemetry-api and opentelemetry-sdk.
The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our GitHub Discussions, Slack Channel or attending our weekly meeting. See the meeting calendar for dates and times. For more information on this and other language SIGs, see the OpenTelemetry community page.
The opentelemetry-instrumentation-mysql2 gem is distributed under the Apache 2.0 license. See LICENSE for more information.