active_metric 2.5.2
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/MIT-LICENSE +20 -0
- data/README.rdoc +5 -0
- data/Rakefile +37 -0
- data/lib/active_metric.rb +38 -0
- data/lib/active_metric/axis.rb +11 -0
- data/lib/active_metric/behavior/calculates_derivative.rb +18 -0
- data/lib/active_metric/behavior/graph_calculation.rb +78 -0
- data/lib/active_metric/calculators/reservoir.rb +81 -0
- data/lib/active_metric/calculators/standard_deviator.rb +39 -0
- data/lib/active_metric/config/initializers/inflections.rb +4 -0
- data/lib/active_metric/graph_view_model.rb +60 -0
- data/lib/active_metric/measurement.rb +13 -0
- data/lib/active_metric/point_series_data.rb +17 -0
- data/lib/active_metric/report.rb +57 -0
- data/lib/active_metric/report_view_model.rb +106 -0
- data/lib/active_metric/sample.rb +148 -0
- data/lib/active_metric/series_data.rb +26 -0
- data/lib/active_metric/stat.rb +72 -0
- data/lib/active_metric/stat_definition.rb +20 -0
- data/lib/active_metric/statistics/defaults.rb +157 -0
- data/lib/active_metric/statistics/standard_deviation.rb +43 -0
- data/lib/active_metric/subject.rb +117 -0
- data/lib/active_metric/version.rb +3 -0
- data/test/active_metric_test.rb +30 -0
- data/test/axis_test.rb +22 -0
- data/test/behavior_tests/calculates_derivative_test.rb +35 -0
- data/test/behavior_tests/graph_calculation_test.rb +68 -0
- data/test/config/mongoid.yml +13 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +18597 -0
- data/test/graph_view_model_test.rb +92 -0
- data/test/integration_test.rb +149 -0
- data/test/measurement_test.rb +45 -0
- data/test/mongoid_test.rb +24 -0
- data/test/point_series_data_test.rb +27 -0
- data/test/report_test.rb +73 -0
- data/test/report_view_model_test.rb +94 -0
- data/test/reservoir_test.rb +67 -0
- data/test/sample_test.rb +142 -0
- data/test/series_data_test.rb +20 -0
- data/test/standard_deviator_test.rb +45 -0
- data/test/stat_test.rb +222 -0
- data/test/subject_test.rb +22 -0
- data/test/test_helper.rb +76 -0
- metadata +123 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
module ActiveMetric
|
4
|
+
|
5
|
+
class SubjectTest < ActiveSupport::TestCase
|
6
|
+
|
7
|
+
|
8
|
+
test "can retrieve report specific fields" do
|
9
|
+
|
10
|
+
class SubjectWithFields < Subject
|
11
|
+
field :foo
|
12
|
+
|
13
|
+
calculated_with Sample, 5
|
14
|
+
end
|
15
|
+
|
16
|
+
expected_fields = {foo: "bar"}.stringify_keys
|
17
|
+
|
18
|
+
subject = SubjectWithFields.create foo: "bar"
|
19
|
+
assert_equal expected_fields, subject.not_inherited_attributes
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# Configure Active Metric Environment
|
2
|
+
ENV["AM_ENV"] = "test"
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
5
|
+
|
6
|
+
require 'active_metric'
|
7
|
+
|
8
|
+
ENV["MONGOID_ENV"] = ENV["AM_ENV"]
|
9
|
+
Mongoid.load!(File.join(File.dirname(__FILE__), "config/mongoid.yml"))
|
10
|
+
|
11
|
+
require 'test-unit'
|
12
|
+
require 'active_support/test_case'
|
13
|
+
|
14
|
+
# Load support files
|
15
|
+
#Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
16
|
+
|
17
|
+
#require 'minitest/reporters'
|
18
|
+
#MiniTest::Reporters.use!
|
19
|
+
|
20
|
+
module ActiveMetric
|
21
|
+
INTERVAL_LENGTH = 5
|
22
|
+
|
23
|
+
class TestMeasurement < Measurement
|
24
|
+
field :value, :default => 0
|
25
|
+
end
|
26
|
+
|
27
|
+
class TestStat < Stat
|
28
|
+
end
|
29
|
+
|
30
|
+
class TestSample < Sample
|
31
|
+
stat :value
|
32
|
+
stat :value, [:standard_deviation], axis: 1
|
33
|
+
stat :value, [:delta], axis: 1
|
34
|
+
stat :value, [:speed], axis: 1
|
35
|
+
stat :value, [:bucket], axis: 2
|
36
|
+
stat :value, [:percent_false], axis: 3
|
37
|
+
|
38
|
+
custom_stat :test_count, Integer, 0, 1 do |measurement|
|
39
|
+
self.value += 1
|
40
|
+
end
|
41
|
+
|
42
|
+
custom_stat :test_response_codes, Hash, {} do |measurement|
|
43
|
+
self.value[measurement.value.to_s] ||= 0
|
44
|
+
self.value[measurement.value.to_s] += 1
|
45
|
+
end
|
46
|
+
|
47
|
+
axis index: 0, label: "first axis"
|
48
|
+
axis index: 1, label: "second axis"
|
49
|
+
axis index: 2, label: "third axis"
|
50
|
+
axis index: 3, label: "fourth axis"
|
51
|
+
end
|
52
|
+
|
53
|
+
class TestSubject < Subject
|
54
|
+
field :test_field
|
55
|
+
calculated_with TestSample, INTERVAL_LENGTH
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
class ActiveSupport::TestCase
|
61
|
+
|
62
|
+
setup :clear_database
|
63
|
+
def clear_database
|
64
|
+
Mongoid.default_session.collections.select { |c| c.name != 'system.indexes' }.each(&:drop)
|
65
|
+
end
|
66
|
+
|
67
|
+
def assert_within_range(range, value)
|
68
|
+
assert range === value, "Expected #{value} to be within #{range}"
|
69
|
+
end
|
70
|
+
|
71
|
+
def assert_close_to expected, actual
|
72
|
+
rounded = ((actual * 100).round) / 100.0
|
73
|
+
assert_equal expected, rounded
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
metadata
ADDED
@@ -0,0 +1,123 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: active_metric
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.5.2
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Ryan McGarvey
|
9
|
+
- Eric Jones
|
10
|
+
- Aldric Giacomoni
|
11
|
+
- Bob Nadler, Jr.
|
12
|
+
- Tim Johnson
|
13
|
+
- Eric Liu
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
18
|
+
dependencies: []
|
19
|
+
description: ActiveMetric is a mongo based statistics calculator and persistance layer
|
20
|
+
email:
|
21
|
+
- mcgarvey.ryan@gmail.com
|
22
|
+
- ejones@cyrusinnovation.com
|
23
|
+
- trevoke@gmail.com
|
24
|
+
- bnadlerjr@gmail.com
|
25
|
+
- timjohnson@chubtoad.com
|
26
|
+
- liukke@gmail.com
|
27
|
+
executables: []
|
28
|
+
extensions: []
|
29
|
+
extra_rdoc_files: []
|
30
|
+
files:
|
31
|
+
- lib/active_metric.rb
|
32
|
+
- lib/active_metric/measurement.rb
|
33
|
+
- lib/active_metric/axis.rb
|
34
|
+
- lib/active_metric/graph_view_model.rb
|
35
|
+
- lib/active_metric/report_view_model.rb
|
36
|
+
- lib/active_metric/point_series_data.rb
|
37
|
+
- lib/active_metric/series_data.rb
|
38
|
+
- lib/active_metric/report.rb
|
39
|
+
- lib/active_metric/behavior/calculates_derivative.rb
|
40
|
+
- lib/active_metric/behavior/graph_calculation.rb
|
41
|
+
- lib/active_metric/calculators/reservoir.rb
|
42
|
+
- lib/active_metric/calculators/standard_deviator.rb
|
43
|
+
- lib/active_metric/stat_definition.rb
|
44
|
+
- lib/active_metric/stat.rb
|
45
|
+
- lib/active_metric/subject.rb
|
46
|
+
- lib/active_metric/statistics/defaults.rb
|
47
|
+
- lib/active_metric/statistics/standard_deviation.rb
|
48
|
+
- lib/active_metric/version.rb
|
49
|
+
- lib/active_metric/config/initializers/inflections.rb
|
50
|
+
- lib/active_metric/sample.rb
|
51
|
+
- MIT-LICENSE
|
52
|
+
- Rakefile
|
53
|
+
- README.rdoc
|
54
|
+
- test/subject_test.rb
|
55
|
+
- test/active_metric_test.rb
|
56
|
+
- test/reservoir_test.rb
|
57
|
+
- test/point_series_data_test.rb
|
58
|
+
- test/graph_view_model_test.rb
|
59
|
+
- test/integration_test.rb
|
60
|
+
- test/dummy/log/test.log
|
61
|
+
- test/dummy/db/test.sqlite3
|
62
|
+
- test/measurement_test.rb
|
63
|
+
- test/mongoid_test.rb
|
64
|
+
- test/report_test.rb
|
65
|
+
- test/standard_deviator_test.rb
|
66
|
+
- test/sample_test.rb
|
67
|
+
- test/test_helper.rb
|
68
|
+
- test/report_view_model_test.rb
|
69
|
+
- test/behavior_tests/calculates_derivative_test.rb
|
70
|
+
- test/behavior_tests/graph_calculation_test.rb
|
71
|
+
- test/series_data_test.rb
|
72
|
+
- test/config/mongoid.yml
|
73
|
+
- test/stat_test.rb
|
74
|
+
- test/axis_test.rb
|
75
|
+
homepage: http://github.com/SoftwareWithFriends/ActiveMetric
|
76
|
+
licenses: []
|
77
|
+
post_install_message:
|
78
|
+
rdoc_options: []
|
79
|
+
require_paths:
|
80
|
+
- lib
|
81
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
hash: 881746595493551969
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
requirements: []
|
97
|
+
rubyforge_project:
|
98
|
+
rubygems_version: 1.8.24
|
99
|
+
signing_key:
|
100
|
+
specification_version: 3
|
101
|
+
summary: ActiveMetric is a mongo based statistics calculator and persistance layer
|
102
|
+
test_files:
|
103
|
+
- test/subject_test.rb
|
104
|
+
- test/active_metric_test.rb
|
105
|
+
- test/reservoir_test.rb
|
106
|
+
- test/point_series_data_test.rb
|
107
|
+
- test/graph_view_model_test.rb
|
108
|
+
- test/integration_test.rb
|
109
|
+
- test/dummy/log/test.log
|
110
|
+
- test/dummy/db/test.sqlite3
|
111
|
+
- test/measurement_test.rb
|
112
|
+
- test/mongoid_test.rb
|
113
|
+
- test/report_test.rb
|
114
|
+
- test/standard_deviator_test.rb
|
115
|
+
- test/sample_test.rb
|
116
|
+
- test/test_helper.rb
|
117
|
+
- test/report_view_model_test.rb
|
118
|
+
- test/behavior_tests/calculates_derivative_test.rb
|
119
|
+
- test/behavior_tests/graph_calculation_test.rb
|
120
|
+
- test/series_data_test.rb
|
121
|
+
- test/config/mongoid.yml
|
122
|
+
- test/stat_test.rb
|
123
|
+
- test/axis_test.rb
|