census-ecosystem/opencensus-ruby-exporter-stackdriver

Name: opencensus-ruby-exporter-stackdriver

Owner: OpenCensus Ecosystem

Description: OpenCensus Ruby exporters for Google Stackdriver

Created: 2018-01-24 23:53:57.0

Updated: 2018-05-22 23:29:54.0

Pushed: 2018-05-22 23:34:44.0

Homepage:

Size: 36

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Ruby Stackdriver Exporter for OpenCensus

This repository contains the source to the opencensus-stackdriver gem. This library is a plugin for Ruby OpenCensus that exports data to Stackdriver.

OpenCensus is a platform- and provider-agnostic framework for distributed tracing and stats collection. For more information, see https://opencensus.io.

This library is in an alpha stage, and the API is subject to change.

Quick Start
Installation

Install the gem using Bundler:

  1. Add the opencensus-stackdriver gem to your application's Gemfile:
"opencensus-stackdriver"
  1. Use Bundler to install the gem:
ndle install

The core opencensus gem and the google-cloud-trace client library for the Stackdriver API will be installed automatically as dependencies.

Installing the plugin

The Stackdriver plugin can be installed using OpenCensus configuration. Insert the following code in your application's initialization:

Census.configure do |c|
trace.exporter = OpenCensus::Trace::Exporters::Stackdriver.new

If you are using Ruby on Rails, you can equivalently include this code in your Rails config:

ig.opencensus.trace.exporter = OpenCensus::Trace::Exporters::Stackdriver.new

See the documentation for OpenCensus::Trace::Exporters::Stackdriver for information on the configuration options for the Stackdriver exporter.

You can find more general information on using OpenCensus from Ruby, including configuring automatic trace capture and adding custom spans, in the core opencensus README.

Connecting to Stackdriver

If you do not have a Google Cloud project, create one from the cloud console.

The Stackdriver plugin needs credentials for your project in order to export traces to the Stackdriver backend. If your application is running in Google Cloud Platform hosting (i.e. Google App Engine, Google Kubernetes Engine, or Google Compute Engine), then the plugin can generally retrieve the needed credentials automatically from the runtime environment. See this section from the google-cloud-trace README for details.

If you are running the application locally, in self-hosted VMs, or a third party hosting service, you will need to provide the project ID and credentials (keyfile) to the Google Cloud client library. See this section for details.

Either way, once you have the Stackdriver exporter configured, you can view traces on the Google Cloud Console.

About the library
Supported Ruby Versions

This library is supported on Ruby 2.2+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have reached or are nearing end-of-life. After June 1, 2018, OpenCensus will provide official support only for Ruby versions that are considered current and supported by Ruby Core (that is, Ruby versions that are either in normal maintenance or in security maintenance). See https://www.ruby-lang.org/en/downloads/branches/ for further details.

Versioning

This library follows Semantic Versioning.

It is currently in major version zero (0.y.z), which means that anything may change at any time, and the public API should not be considered stable.

Contributing

Contributions to this library are always welcome and highly encouraged.

See the Contributing Guide for more information on how to get started.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See Code of Conduct for more information.

License

This library is licensed under Apache 2.0. Full license text is available in LICENSE.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.