Skip to content

yabeda-rb/yabeda-newrelic

Repository files navigation

Yabeda::NewRelic

Gem Version Build Status

Adapter for easy exporting collected custom metrics from your application to the NewRelic Insights.

Sponsored by Evil Martians

Installation

  1. Install and configure official NewRelic agent for Ruby.

  2. Add this line to your application's Gemfile:

    gem 'yabeda-newrelic'

    And then execute:

    $ bundle
    

Usage

All metrics registered in Yabeda will be sent to NewRelic automatically.

Go to NewRelic Insights → Data Explorer → Metrics to view them.

Caveats

When testing make sure that your NewRelic agent is enabled (NewRelic::Agent.config[:agent_enabled] is true) as it is being automatically disabled in console sessions as example.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

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.

Please read following articles about how NewRelic Ruby Agent works under the hood to better understand how to interact with it:

Architecture

Every time Yabeda metric is being updated the NewRelic API will be called.

collect blocks for metrics collected on demand will be called during NewRelic's harvest cycle.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/yabeda-rb/yabeda-newrelic.

Releasing

  1. Bump version number in lib/yabeda/newrelic/version.rb

    In case of pre-releases keep in mind rubygems/rubygems#3086 and check version with command like Gem::Version.new(Yabeda::NewRelic::VERSION).to_s

  2. Fill CHANGELOG.md with missing changes, add header with version and date.

  3. Make a commit:

    git add lib/yabeda/newrelic/version.rb CHANGELOG.md
    version=$(ruby -r ./lib/yabeda/newrelic/version.rb -e "puts Gem::Version.new(Yabeda::NewRelic::VERSION)")
    git commit --message="${version}: " --edit
  4. Create annotated tag:

    git tag v${version} --annotate --message="${version}: " --edit --sign
  5. Fill version name into subject line and (optionally) some description (list of changes will be taken from changelog and appended automatically)

  6. Push it:

    git push --follow-tags
  7. GitHub Actions will create a new release, build and push gem into RubyGems! You're done!

License

The gem is available as open source under the terms of the MIT License.