Ruby client for Periskop.
With the gemspec file in the root directory of the repository, we can locally build a gem from its source code to test it out.
$ gem build periskop-client.gemspec
Successfully built RubyGem
Name: periskop-client
Version: 0.0.1
File: periskop-client-0.0.1.gem
$ gem install periskop-client-0.0.1.gem
Successfully installed periskop-client-0.0.1
...
1 gem installed
The final step is to require the gem and use it:
$ irb
>> require 'periskop-client'
=> true
require'periskop/client/collector'require'periskop/client/exporter'require'periskop/client/models'collector=Periskop::Client::ExceptionCollector.newexporter=Periskop::Client::Exporter.new(collector)defdiv1 / 0endbegindivrescueException=>ecollector.report(e)http_context=Periskop::Client::HTTPContext.new('GET','http://example.com',nil,'{}')collector.report_with_context(e,http_context)endputs(exporter.export)You can use this library as a Rack middleware, that allow us you to capture any error happening during the life of a request. You need to use it with an instance of a pushgateway.
require'periskop/rack/middleware'usePeriskop::Rack::Middleware,{pushgateway_address: "http://localhost:7878"}make preparemake test