https://github.com/github/lightstep-tracer-ruby
The LightStep distributed tracing library for Ruby
https://github.com/github/lightstep-tracer-ruby
Last synced: 5 months ago
JSON representation
The LightStep distributed tracing library for Ruby
- Host: GitHub
- URL: https://github.com/github/lightstep-tracer-ruby
- Owner: github
- License: mit
- Archived: true
- Fork: true (lightstep/lightstep-tracer-ruby)
- Created: 2018-03-20T16:27:45.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T16:57:26.000Z (almost 5 years ago)
- Last Synced: 2024-09-29T00:21:35.540Z (over 1 year ago)
- Language: Ruby
- Homepage: http://lightstep.com
- Size: 500 KB
- Stars: 8
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# lightstep-tracer-ruby
[](https://badge.fury.io/rb/lightstep) [](https://circleci.com/gh/lightstep/lightstep-tracer-ruby) [](http://opensource.org/licenses/MIT) [](https://codeclimate.com/github/lightstep/lightstep-tracer-ruby)
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')
# Specify a propagation format (options are :lightstep (default) and :b3)
LightStep.configure(component_name: 'lightstep/ruby/example', access_token: 'your_access_token', propagator: :b3)
# 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.span_context)
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](https://rubygems.org).