kb-simple-metrics 0.0.12-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +20 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/LICENSE +13 -0
- data/README.md +144 -0
- data/Rakefile +7 -0
- data/doc/NurseRatched.html +246 -0
- data/doc/Rdio.html +233 -0
- data/doc/Samovar.html +241 -0
- data/doc/Simple/Metrics/Check.html +308 -0
- data/doc/Simple/Metrics/Graphite.html +262 -0
- data/doc/Simple/Metrics/HEALTHY.html +144 -0
- data/doc/Simple/Metrics/Health.html +288 -0
- data/doc/Simple/Metrics/Healthchecks.html +413 -0
- data/doc/Simple/Metrics/Meter.html +295 -0
- data/doc/Simple/Metrics/RackMetrics.html +366 -0
- data/doc/Simple/Metrics/Timer.html +232 -0
- data/doc/Simple/Metrics/UNHEALTHY.html +144 -0
- data/doc/Simple/Metrics/WARNING.html +144 -0
- data/doc/Simple/Metrics.html +510 -0
- data/doc/Simple.html +117 -0
- data/doc/_index.html +259 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +224 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +224 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +180 -0
- data/doc/top-level-namespace.html +114 -0
- data/lib/java/jackson-core-asl-1.9.5.jar +0 -0
- data/lib/java/jackson-mapper-asl-1.9.5.jar +0 -0
- data/lib/java/metrics-core-2.1.1.jar +0 -0
- data/lib/java/metrics-graphite-2.1.1.jar +0 -0
- data/lib/java/metrics-servlet-2.1.1.jar +0 -0
- data/lib/java/slf4j-api-1.6.4.jar +0 -0
- data/lib/simple/metrics/graphite.rb +23 -0
- data/lib/simple/metrics/health.rb +15 -0
- data/lib/simple/metrics/healthcheck.rb +65 -0
- data/lib/simple/metrics/meter.rb +23 -0
- data/lib/simple/metrics/rack_metrics.rb +32 -0
- data/lib/simple/metrics/timer.rb +24 -0
- data/lib/simple/metrics.rb +51 -0
- data/lib/simple/version.rb +5 -0
- data/lib/simple.rb +6 -0
- data/simple-metrics.gemspec +21 -0
- data/spec/metrics/graphite_spec.rb +9 -0
- data/spec/metrics/healthcheck_spec.rb +55 -0
- data/spec/metrics/meter_spec.rb +20 -0
- data/spec/metrics/timer_spec.rb +29 -0
- data/spec/spec_helper.rb +13 -0
- metadata +182 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
java_import com.yammer.metrics.core.HealthCheck
|
2
|
+
|
3
|
+
module Simple
|
4
|
+
module Metrics
|
5
|
+
module Healthchecks
|
6
|
+
include Simple::Metrics
|
7
|
+
|
8
|
+
# Create a new healthcheck
|
9
|
+
#
|
10
|
+
# @param [String] name The name of the healthcheck, eg `check_db`.
|
11
|
+
# @return [MetricName] the newly created metric name
|
12
|
+
def new_healthcheck(name, &blk)
|
13
|
+
healthcheck = Check.new(name, &blk)
|
14
|
+
Java::ComYammerMetrics::HealthChecks.register(healthcheck)
|
15
|
+
run_healthcheck_loop
|
16
|
+
end
|
17
|
+
|
18
|
+
# Run the healthcheck loop
|
19
|
+
# This starts a new thread that runs all of the defined healthcheck loops.
|
20
|
+
def run_healthcheck_loop
|
21
|
+
return if @running_healthcheck_loop
|
22
|
+
Thread.new do
|
23
|
+
loop do
|
24
|
+
run_all_healthchecks
|
25
|
+
sleep 5
|
26
|
+
end
|
27
|
+
end
|
28
|
+
@running_healthcheck_loop = true
|
29
|
+
end
|
30
|
+
|
31
|
+
# Run all of the healthchecks that have been defined
|
32
|
+
def run_all_healthchecks
|
33
|
+
Java::ComYammerMetrics::HealthChecks.runHealthChecks
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class Check < Java::ComYammerMetricsCore::HealthCheck
|
38
|
+
def initialize(name, &blk)
|
39
|
+
super(name)
|
40
|
+
@blk = blk
|
41
|
+
end
|
42
|
+
|
43
|
+
# Call the block and capture the return value.
|
44
|
+
# If the result is `Simple::Metrics::HEALTHY`, mark the healthcheck as healthy.
|
45
|
+
# If the result is a `Simple::Metrics::WARNING`, mark the healthcheck in the warning state.
|
46
|
+
# If the result is a `Simple::Metrics::UNHEALTHY`, or throws an error,
|
47
|
+
# mark the healthcheck as unhealthy.
|
48
|
+
def check
|
49
|
+
begin
|
50
|
+
r = @blk.call
|
51
|
+
case (r.is_a?(Class) ? r.new : r)
|
52
|
+
when Simple::Metrics::HEALTHY
|
53
|
+
Java::ComYammerMetricsCore::HealthCheck::Result.healthy
|
54
|
+
when Simple::Metrics::WARNING
|
55
|
+
Java::ComYammerMetricsCore::HealthCheck::Result.warning
|
56
|
+
when Simple::Metrics::UNHEALTHY
|
57
|
+
Java::ComYammerMetricsCore::HealthCheck::Result.unhealthy(r.message)
|
58
|
+
end
|
59
|
+
rescue StandardError => e
|
60
|
+
Java::ComYammerMetricsCore::HealthCheck::Result.unhealthy(e.message)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Simple
|
2
|
+
module Metrics
|
3
|
+
module Meter
|
4
|
+
include Simple::Metrics
|
5
|
+
|
6
|
+
# Create a new meter
|
7
|
+
#
|
8
|
+
# @param [String] name The name of the meter
|
9
|
+
# @param [String] klass_name The name of the class, usually the application. Defaults to
|
10
|
+
# `self.class.name`
|
11
|
+
# @param [TimeUnit] time_unit The rate at which to measure marked data. Defaults to
|
12
|
+
# TimeUnit::SECONDS
|
13
|
+
def define_meter(name, klass_name = self.class.name, time_unit = Simple::Metrics::DEFAULT_RATE_UNIT)
|
14
|
+
type = "meter"
|
15
|
+
metric_name = new_metric_name(klass_name, name, type)
|
16
|
+
meter = Java::ComYammerMetrics::Metrics.new_meter(metric_name, name.to_s, time_unit)
|
17
|
+
define_method("#{name}") do
|
18
|
+
meter
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Simple
|
2
|
+
module Metrics
|
3
|
+
class RackMetrics
|
4
|
+
extend Simple::Metrics::Meter
|
5
|
+
|
6
|
+
# Rack middleware for capturing response codes
|
7
|
+
#
|
8
|
+
# Creates a series of response meters that will be marked based on the response
|
9
|
+
# code that is returned by rack.
|
10
|
+
# @param [Object] app Rack application
|
11
|
+
# @param [String] application_name The name of the application
|
12
|
+
def initialize(app, application_name)
|
13
|
+
@app = app
|
14
|
+
|
15
|
+
self.class.define_meter '2xx-responses', application_name
|
16
|
+
self.class.define_meter '3xx-responses', application_name
|
17
|
+
self.class.define_meter '4xx-responses', application_name
|
18
|
+
self.class.define_meter '5xx-responses', application_name
|
19
|
+
end
|
20
|
+
|
21
|
+
def call(env)
|
22
|
+
begin
|
23
|
+
status, headers, body = @app.call(env)
|
24
|
+
ensure
|
25
|
+
status_code = (status ||= 500).to_s[0]
|
26
|
+
status_method = "#{status_code}xx-responses".to_sym
|
27
|
+
self.send(status_method).mark
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Simple
|
2
|
+
module Metrics
|
3
|
+
module Timer
|
4
|
+
# Create creates a new timer, registers it with the metrics registry,
|
5
|
+
# yields the timer to the block and stops it when the block returns.
|
6
|
+
#
|
7
|
+
# @param [String] name The name of the timer
|
8
|
+
# @param [String] klass_name The name of the class, usually the application. Defaults to
|
9
|
+
# `self.class.name`
|
10
|
+
# @param [TimeUnit] time_unit The rate at which to measure timed data. Defaults to
|
11
|
+
# TimeUnit::SECONDS
|
12
|
+
def timer(name, klass_name = self.class.name, time_unit = Simple::Metrics::DEFAULT_RATE_UNIT)
|
13
|
+
metric_name = new_metric_name(sanitize_classname(klass_name), name, 'timer')
|
14
|
+
new_timer = metrics_registry.newTimer(metric_name, DEFAULT_DURATION_UNIT, time_unit)
|
15
|
+
captured_timer = new_timer.time
|
16
|
+
begin
|
17
|
+
yield new_timer
|
18
|
+
ensure
|
19
|
+
captured_timer.stop
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'java'
|
2
|
+
require 'java/metrics-core-2.1.1'
|
3
|
+
require 'java/slf4j-api-1.6.4'
|
4
|
+
require 'java/jackson-core-asl-1.9.5'
|
5
|
+
require 'java/jackson-mapper-asl-1.9.5'
|
6
|
+
require 'java/metrics-servlet-2.1.1'
|
7
|
+
|
8
|
+
require_relative 'metrics/timer'
|
9
|
+
require_relative 'metrics/meter'
|
10
|
+
require_relative 'metrics/healthcheck'
|
11
|
+
require_relative 'metrics/health'
|
12
|
+
require_relative 'metrics/graphite'
|
13
|
+
|
14
|
+
java_import java.util.concurrent.TimeUnit
|
15
|
+
java_import com.yammer.metrics.Metrics
|
16
|
+
java_import com.yammer.metrics.core.MetricName
|
17
|
+
|
18
|
+
module Simple
|
19
|
+
module Metrics
|
20
|
+
DEFAULT_DURATION_UNIT = TimeUnit::MILLISECONDS
|
21
|
+
DEFAULT_RATE_UNIT = TimeUnit::SECONDS
|
22
|
+
DEFAULT_TIMING_UNIT = TimeUnit::NANOSECONDS
|
23
|
+
|
24
|
+
include Timer
|
25
|
+
|
26
|
+
# Sanitize classnames for graphite
|
27
|
+
#
|
28
|
+
# @param [Object] klass_name The request object
|
29
|
+
# @return [String] The class name without colons
|
30
|
+
def sanitize_classname(klass_name)
|
31
|
+
klass_name.gsub(":","")
|
32
|
+
end
|
33
|
+
|
34
|
+
# The default metrics registry
|
35
|
+
#
|
36
|
+
# @return [Java::ComYammerMetrics::Metrics] the default metrics registry
|
37
|
+
def metrics_registry
|
38
|
+
Java::ComYammerMetrics::Metrics.defaultRegistry
|
39
|
+
end
|
40
|
+
|
41
|
+
# Create a new metric name
|
42
|
+
#
|
43
|
+
# @param [String] klass_name The name of the class, usually the application name
|
44
|
+
# @param [String] name The name of the metric
|
45
|
+
# @param [String] type The type of metric
|
46
|
+
# @return [MetricName] the newly created metric name
|
47
|
+
def new_metric_name(klass_name, name, type)
|
48
|
+
MetricName.new(klass_name.downcase, type, name.to_s)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/simple.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/simple/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["dan herrera", "james pozdena"]
|
6
|
+
gem.email = ["dan@simple.com"]
|
7
|
+
gem.platform = 'java'
|
8
|
+
gem.description = %q{A simple JRuby wrapper around codahale's metrics package}
|
9
|
+
gem.summary = %q{MEASURE ALL THE THINGS!}
|
10
|
+
gem.homepage = "https://github.com/SimpleFinance/simple-metrics"
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
13
|
+
gem.name = "kb-simple-metrics"
|
14
|
+
gem.require_paths = ["lib"]
|
15
|
+
gem.version = Simple::Metrics::VERSION
|
16
|
+
|
17
|
+
gem.add_development_dependency 'rspec'
|
18
|
+
gem.add_development_dependency 'rake'
|
19
|
+
gem.add_development_dependency 'yard'
|
20
|
+
gem.add_development_dependency 'kramdown'
|
21
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Simple::Metrics::Healthchecks do
|
4
|
+
it "should register a new healthcheck" do
|
5
|
+
class NurseRatched
|
6
|
+
extend Simple::Metrics::Healthchecks
|
7
|
+
|
8
|
+
class << self
|
9
|
+
def status=(v)
|
10
|
+
@status = v
|
11
|
+
end
|
12
|
+
def status
|
13
|
+
@status
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
self.status = "healthy"
|
18
|
+
|
19
|
+
new_healthcheck("temperature") do
|
20
|
+
case self.status
|
21
|
+
when "healthy"
|
22
|
+
Simple::Metrics::HEALTHY
|
23
|
+
when "unhealthy"
|
24
|
+
Simple::Metrics::UNHEALTHY.new("Too Many Tacos!")
|
25
|
+
when "dead"
|
26
|
+
raise "Pants"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should run all healthchecks" do
|
33
|
+
NurseRatched.status = "healthy"
|
34
|
+
NurseRatched.run_all_healthchecks.entrySet.each do |result|
|
35
|
+
result.getValue.isHealthy.should be_true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should return the last error message when unhealthy" do
|
40
|
+
NurseRatched.status = "unhealthy"
|
41
|
+
NurseRatched.run_all_healthchecks.entrySet.each do |result|
|
42
|
+
result.getValue.isHealthy.should be_false
|
43
|
+
result.getValue.getMessage.should == "Too Many Tacos!"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return an unhealthy if the check raises an error" do
|
48
|
+
NurseRatched.status = "dead"
|
49
|
+
NurseRatched.run_all_healthchecks.entrySet.each do |result|
|
50
|
+
result.getValue.isHealthy.should be_false
|
51
|
+
result.getValue.getMessage.should == "Pants"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Simple::Metrics do
|
4
|
+
class Rdio
|
5
|
+
extend Simple::Metrics::Meter
|
6
|
+
|
7
|
+
define_meter :bump_meter
|
8
|
+
|
9
|
+
def bump_dat
|
10
|
+
bump_meter.mark
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:rdio) { Rdio.new }
|
15
|
+
|
16
|
+
it "should increment a meter" do
|
17
|
+
rdio.bump_dat
|
18
|
+
rdio.bump_meter.count.should == 1
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
describe Simple::Metrics::Timer do
|
4
|
+
context "setting a metrics timer" do
|
5
|
+
class Samovar
|
6
|
+
include Simple::Metrics
|
7
|
+
attr_accessor :tea_timer
|
8
|
+
|
9
|
+
def make_tea
|
10
|
+
timer("tea time") do |tea_timer|
|
11
|
+
@tea_timer = tea_timer
|
12
|
+
"Brewing..."
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:samovar) { Samovar.new }
|
18
|
+
|
19
|
+
it "should yield a new timer to the block" do
|
20
|
+
samovar.make_tea
|
21
|
+
samovar.tea_timer.count.should_not be_zero
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should create a new timer" do
|
25
|
+
samovar.make_tea
|
26
|
+
samovar.tea_timer.should be_a_kind_of(Java::ComYammerMetricsCore::Timer)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
+
# Require this file using `require "spec_helper.rb"` to ensure that it is only
|
4
|
+
# loaded once.
|
5
|
+
#
|
6
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
9
|
+
config.run_all_when_everything_filtered = true
|
10
|
+
config.filter_run :focus
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'simple/metrics'
|
metadata
ADDED
@@ -0,0 +1,182 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: kb-simple-metrics
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.12
|
6
|
+
platform: java
|
7
|
+
authors:
|
8
|
+
- dan herrera
|
9
|
+
- james pozdena
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-05-14 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rspec
|
17
|
+
version_requirements: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - ">="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: !binary |-
|
22
|
+
MA==
|
23
|
+
none: false
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: !binary |-
|
29
|
+
MA==
|
30
|
+
none: false
|
31
|
+
prerelease: false
|
32
|
+
type: :development
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: !binary |-
|
40
|
+
MA==
|
41
|
+
none: false
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: !binary |-
|
47
|
+
MA==
|
48
|
+
none: false
|
49
|
+
prerelease: false
|
50
|
+
type: :development
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: yard
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: !binary |-
|
58
|
+
MA==
|
59
|
+
none: false
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: !binary |-
|
65
|
+
MA==
|
66
|
+
none: false
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: kramdown
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: !binary |-
|
76
|
+
MA==
|
77
|
+
none: false
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: !binary |-
|
83
|
+
MA==
|
84
|
+
none: false
|
85
|
+
prerelease: false
|
86
|
+
type: :development
|
87
|
+
description: A simple JRuby wrapper around codahale's metrics package
|
88
|
+
email:
|
89
|
+
- dan@simple.com
|
90
|
+
executables: []
|
91
|
+
extensions: []
|
92
|
+
extra_rdoc_files: []
|
93
|
+
files:
|
94
|
+
- ".gitignore"
|
95
|
+
- ".rspec"
|
96
|
+
- Gemfile
|
97
|
+
- LICENSE
|
98
|
+
- README.md
|
99
|
+
- Rakefile
|
100
|
+
- doc/NurseRatched.html
|
101
|
+
- doc/Rdio.html
|
102
|
+
- doc/Samovar.html
|
103
|
+
- doc/Simple.html
|
104
|
+
- doc/Simple/Metrics.html
|
105
|
+
- doc/Simple/Metrics/Check.html
|
106
|
+
- doc/Simple/Metrics/Graphite.html
|
107
|
+
- doc/Simple/Metrics/HEALTHY.html
|
108
|
+
- doc/Simple/Metrics/Health.html
|
109
|
+
- doc/Simple/Metrics/Healthchecks.html
|
110
|
+
- doc/Simple/Metrics/Meter.html
|
111
|
+
- doc/Simple/Metrics/RackMetrics.html
|
112
|
+
- doc/Simple/Metrics/Timer.html
|
113
|
+
- doc/Simple/Metrics/UNHEALTHY.html
|
114
|
+
- doc/Simple/Metrics/WARNING.html
|
115
|
+
- doc/_index.html
|
116
|
+
- doc/class_list.html
|
117
|
+
- doc/css/common.css
|
118
|
+
- doc/css/full_list.css
|
119
|
+
- doc/css/style.css
|
120
|
+
- doc/file.README.html
|
121
|
+
- doc/file_list.html
|
122
|
+
- doc/frames.html
|
123
|
+
- doc/index.html
|
124
|
+
- doc/js/app.js
|
125
|
+
- doc/js/full_list.js
|
126
|
+
- doc/js/jquery.js
|
127
|
+
- doc/method_list.html
|
128
|
+
- doc/top-level-namespace.html
|
129
|
+
- lib/java/jackson-core-asl-1.9.5.jar
|
130
|
+
- lib/java/jackson-mapper-asl-1.9.5.jar
|
131
|
+
- lib/java/metrics-core-2.1.1.jar
|
132
|
+
- lib/java/metrics-graphite-2.1.1.jar
|
133
|
+
- lib/java/metrics-servlet-2.1.1.jar
|
134
|
+
- lib/java/slf4j-api-1.6.4.jar
|
135
|
+
- lib/simple.rb
|
136
|
+
- lib/simple/metrics.rb
|
137
|
+
- lib/simple/metrics/graphite.rb
|
138
|
+
- lib/simple/metrics/health.rb
|
139
|
+
- lib/simple/metrics/healthcheck.rb
|
140
|
+
- lib/simple/metrics/meter.rb
|
141
|
+
- lib/simple/metrics/rack_metrics.rb
|
142
|
+
- lib/simple/metrics/timer.rb
|
143
|
+
- lib/simple/version.rb
|
144
|
+
- simple-metrics.gemspec
|
145
|
+
- spec/metrics/graphite_spec.rb
|
146
|
+
- spec/metrics/healthcheck_spec.rb
|
147
|
+
- spec/metrics/meter_spec.rb
|
148
|
+
- spec/metrics/timer_spec.rb
|
149
|
+
- spec/spec_helper.rb
|
150
|
+
homepage: https://github.com/SimpleFinance/simple-metrics
|
151
|
+
licenses: []
|
152
|
+
post_install_message:
|
153
|
+
rdoc_options: []
|
154
|
+
require_paths:
|
155
|
+
- lib
|
156
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - ">="
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: !binary |-
|
161
|
+
MA==
|
162
|
+
none: false
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: !binary |-
|
168
|
+
MA==
|
169
|
+
none: false
|
170
|
+
requirements: []
|
171
|
+
rubyforge_project:
|
172
|
+
rubygems_version: 1.8.24
|
173
|
+
signing_key:
|
174
|
+
specification_version: 3
|
175
|
+
summary: MEASURE ALL THE THINGS!
|
176
|
+
test_files:
|
177
|
+
- spec/metrics/graphite_spec.rb
|
178
|
+
- spec/metrics/healthcheck_spec.rb
|
179
|
+
- spec/metrics/meter_spec.rb
|
180
|
+
- spec/metrics/timer_spec.rb
|
181
|
+
- spec/spec_helper.rb
|
182
|
+
has_rdoc:
|