Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

2.1.0

Latest
Compare
Choose a tag to compare
@owais owais released this 07 Dec 08:14

Important: This release introduces breaking changes.

Changes

New instrumentation libraries

  • We've replaced all instrumentation gems with new ones that are prefixed with signalfx-. Please remove all old instrumentation gems and install new ones as prescribed by signalfx-ruby-tracing 2.0. You can list gems for all supported instrumentations by running sfx-rb-trace-bootstrap -l and then install the ones you need by running sfx-rb-trace-bootstrap -i <package_name>.

For example:

❯ bundle exec sfx-rb-trace-bootstrap -l
Available target libraries:
{"activerecord"=>["activerecord-opentracing", "~> 0.2.1"],
 "elasticsearch"=>["signalfx-elasticsearch-instrumentation", "~> 0.1.0"],
 "faraday"=>["signalfx-faraday-instrumentation", "~> 0.1.1"],
 "grape"=>["grape-instrumentation", "~> 0.2.0"],
 "mongodb"=>["mongodb-instrumentation", "~> 0.1.1"],
 "mysql2"=>["mysql2-instrumentation", "~> 0.2.1"],
 "nethttp"=>["nethttp-instrumentation", "~> 0.1.2"],
 "pg"=>["pg-instrumentation", "~> 0.1.0"],
 "rack"=>["sfx-rack-tracer", "~> 0.10.0"],
 "rails"=>["rails-instrumentation", "~> 0.1.5"],
 "redis"=>["redis-instrumentation", "~> 0.2.0"],
 "restclient"=>["restclient-instrumentation", "~> 0.1.1"],
 "sequel"=>["sequel-instrumentation", "~> 0.1.0"],
 "sidekiq"=>["sfx-sidekiq-opentracing", "~> 0.0.3"],
 "sinatra"=>["sinatra-instrumentation", "~> 0.1.2"]}

If you need instrumentation for rails, you can either run the following command:

❯ bundle exec sfx-rb-trace-bootstrap -i rails
Installing instrumentation for target library "rails": rails-instrumentation "~> 0.1.5".
Fetching rails-instrumentation-0.1.5.gem

Or add "rails-instrumentation", "~> 0.1.5" as a dependency to your gemspec file.

Use SignalFx semantic conventions to represent errors in spans as attributes.

Errors will now be recorded in spans as attributes. The following
attributes will be used to represent errors:

  • error: A boolean field set to true in case an operation resulted in an error.
  • sfx.error.kind: The short name for type or “kind” of an error (only for event="error" logs). E.g., "StandardError".
  • sfx.error.stack: A stack trace in platform-conventional format; may or may not pertain to an error. E.g., "divide_by_zero.rb:2:in /': divided by 0 (ZeroDivisionError) from divide_by_zero.rb:2:in `divide' from divide_by_zero.rb:5:in `<main>'"
  • sfx.error.message: A concise, human-readable, one-line message explaining the error . E.g., "Could not connect to backend", "Cache invalidation succeeded"