All Projects → lightstep → lightstep-tracer-ruby

lightstep / lightstep-tracer-ruby

Licence: MIT license
The Lightstep distributed tracing library for Ruby

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to lightstep-tracer-ruby

Csharp Netcore
OpenTracing instrumentation for .NET Core & .NET 5 apps
Stars: ✭ 225 (+1507.14%)
Mutual labels:  opentracing
opentracing-gorm
OpenTracing instrumentation for GORM.
Stars: ✭ 46 (+228.57%)
Mutual labels:  opentracing
java-grpc
OpenTracing Instrumentation for gRPC
Stars: ✭ 52 (+271.43%)
Mutual labels:  opentracing
Instrumentedsql
A sql driver that will wrap any other driver and log/trace all its calls
Stars: ✭ 244 (+1642.86%)
Mutual labels:  opentracing
datadog-tracer-js
[DEPRECATED] OpenTracing tracer implementation for Datadog in JavaScript.
Stars: ✭ 39 (+178.57%)
Mutual labels:  opentracing
otters
Support for OpenTracing in Erlang
Stars: ✭ 31 (+121.43%)
Mutual labels:  opentracing
Dd Trace Js
JavaScript APM Tracer
Stars: ✭ 212 (+1414.29%)
Mutual labels:  opentracing
amas
Amas is recursive acronym for “Amas, monitor alert system”.
Stars: ✭ 77 (+450%)
Mutual labels:  opentracing
Petabridge.Tracing.ApplicationInsights
OpenTracing adapter for Microsoft Application Insights
Stars: ✭ 30 (+114.29%)
Mutual labels:  opentracing
dd-go-opentracing
[WIP] OpenTracing Tracer implementation for Datadog in Go
Stars: ✭ 22 (+57.14%)
Mutual labels:  opentracing
Dd Trace Go
A Go tracing package for Datadog APM
Stars: ✭ 244 (+1642.86%)
Mutual labels:  opentracing
haystack-docker
Repository with docker-compose files to start Haystack components in sandbox
Stars: ✭ 17 (+21.43%)
Mutual labels:  opentracing
go-gin-logrus
Gin Web Framework for using Logrus as the Gin logger with Tracing middleware
Stars: ✭ 38 (+171.43%)
Mutual labels:  opentracing
Crnk Framework
JSON API library for Java
Stars: ✭ 234 (+1571.43%)
Mutual labels:  opentracing
microservices-demo
A Monorepo Demoing Microservices Architecture
Stars: ✭ 36 (+157.14%)
Mutual labels:  opentracing
Natchez
functional tracing for cats
Stars: ✭ 214 (+1428.57%)
Mutual labels:  opentracing
python-flask
OpenTracing instrumentation for the Flask microframework
Stars: ✭ 133 (+850%)
Mutual labels:  opentracing
smallrye-opentracing
An MicroProfile-OpenTracing implementation
Stars: ✭ 17 (+21.43%)
Mutual labels:  opentracing
lightstep-tracer-java
The Lightstep distributed tracing library for JRE
Stars: ✭ 46 (+228.57%)
Mutual labels:  opentracing
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (+371.43%)
Mutual labels:  opentracing

lightstep-tracer-ruby

This instrumentation is no longer recommended. Please review documentation on setting up and configuring the OpenTelemetry Ruby API and SDK, and related gems for more information.

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')

# 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].