The LightStep distributed tracing library for Ruby
Перейти к файлу
Nick Gauthier 2a2c70d094 channel-signal based fork-safe implementation of reporter 2016-11-03 16:55:53 -04:00
benchmark KV logging refactor (before span logging) 2016-10-31 15:10:28 -04:00
bin rename gem and bump to version 0.9.0 2016-10-31 13:38:31 -04:00
examples channel-signal based fork-safe implementation of reporter 2016-11-03 16:55:53 -04:00
lib channel-signal based fork-safe implementation of reporter 2016-11-03 16:55:53 -04:00
scripts rename gem and bump to version 0.9.0 2016-10-31 13:38:31 -04:00
spec Add failing tests for behavior while disabled 2016-11-02 11:17:09 -04:00
.gitignore Update gitignore and the Makefile 2016-10-31 21:38:39 -07:00
.rspec Normalize to Ruby conventions 2016-04-07 17:16:29 -07:00
Gemfile Normalize to Ruby conventions 2016-04-07 17:16:29 -07:00
LICENSE.txt Normalize to Ruby conventions 2016-04-07 17:16:29 -07:00
Makefile Rename gemspec to match gem 2016-11-01 07:38:34 -07:00
README.md channel-signal based fork-safe implementation of reporter 2016-11-03 16:55:53 -04:00
Rakefile rubocop -a 2016-10-28 16:27:50 -04:00
circle.yml Update circle.yml to only run on master 2016-04-14 13:41:08 -07:00
example.rb KV logging refactor (before span logging) 2016-10-31 15:10:28 -04:00
lightstep.gemspec channel-signal based fork-safe implementation of reporter 2016-11-03 16:55:53 -04:00

README.md

lightstep-tracer-ruby

Gem Version Circle CI MIT license Code Climate

The LightStep distributed tracing library for Ruby.

Installation

Add this line to your application's Gemfile:

gem 'lightstep'

And then execute:

$ bundle

Or install it yourself as:

$ gem install lightstep

Getting started

require 'lightstep'

# Initialize the singleton tracer
LightStep.configure(component_name: 'lightstep/ruby/example', access_token: 'your_access_token')

# Create a basic span and attach a log to the span
span = LightStep.start_span('my_span')
span.log(event: 'hello world', count: 42)

# Create a child span (and add some artificial delays to illustrate the timing)
sleep(0.1)
child = LightStep.start_span('my_child', child_of: span)
sleep(0.2)
child.finish
sleep(0.1)
span.finish

Thread Safety

The LightStep Tracer is threadsafe. For increased performance, you can add the concurrent-ruby-ext gem to your Gemfile. This will enable C extensions for concurrent operations.

The LightStep Tracer is also Fork-safe. When forking, the child process will not inherit the unflushed spans of the parent, so they will only be flushed once.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run make test to run the tests.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.