timeasure 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 284614263b2c5c4343831c8d79e391c869009490
4
- data.tar.gz: 72aa7b99c6eaeef54890c1c12d66679be73895f1
3
+ metadata.gz: 98176f0d699b3c9ca5cd0e101021edafe375e77d
4
+ data.tar.gz: 7be9aa110d461fd15ebe5b449e307c5159df778d
5
5
  SHA512:
6
- metadata.gz: 175a8df40f6cf4a2ef58b11375b6b83da05499d960ed67055812fae8ebb9337b5d76834a432efc781d6ca8afc43f2fe816011538047755746bffb1ca448e853d
7
- data.tar.gz: 20b2c718f96d7d0f8057cb086dc0cdab8fce80b1933fe9b7c0f68dddfa9606244b99cf57311b89976bac98250c8bd15652f832aba2ceb4317cd2e7d7c29dc5e5
6
+ metadata.gz: '03826e4210bf05d86005e3245f35c90e02aa75e4771195b850a3ba9744535404d799474e56e7db7312bb48ae89ef70a2c455bc661a9c48e3156fa2932dc8ec55'
7
+ data.tar.gz: 50bdd345a80bfc306eb3138f46c7a3f20493d8193d53ee73d0c538da92da86ffeca7eff5a3dc8d52e0890e8cfc014cd998e8f0efe3792947ad9829bb43c43762
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
+ [![Gem Version](https://badge.fury.io/rb/timeasure.svg)](https://badge.fury.io/rb/timeasure)
2
+ [![Maintainability](https://api.codeclimate.com/v1/badges/0ceacd5b50b0cd45fb8f/maintainability)](https://codeclimate.com/github/Riskified/timeasure/maintainability)
3
+
1
4
  # Timeasure
2
5
 
3
6
  **What Is It?**
4
7
 
5
- Timeasure is a transparent method-level wrapper for profiling purposes developed by [Eliav Lavi](http://www.eliavlavi.com) & [Riskified](https://www.riskified.com/)).
8
+ Timeasure is a transparent method-level wrapper for profiling purposes. See a live example [right here!](https://timeasure-demo.herokuapp.com/)
6
9
 
7
10
  Timeasure is a Ruby gem that allows measuring the runtime of methods in production environments
8
11
  without having to alter the code of the methods themselves.
@@ -23,7 +26,7 @@ The imagined usage of measured methods timing is to aggregate it along a certain
23
26
  BI service such as [NewRelic Insights](https://newrelic.com/insights) or [Keen.io](https://keen.io/);
24
27
  however, different usages might prove helpful as well, such as writing the data to a database or a file.
25
28
 
26
- **Disclaimers**
29
+ **General Notes**
27
30
 
28
31
  Timeasure uses minimal intervention in the Ruby Object Model for tracked modules and classes.
29
32
  It integrates well within Rails and non-Rails apps.
@@ -32,6 +35,8 @@ Timeasure is inspired by [Metaprogramming Ruby 2](https://pragprog.com/book/ppme
32
35
  by [Paolo Perrotta](https://twitter.com/nusco)
33
36
  and by [this](https://hashrocket.com/blog/posts/module-prepend-a-super-story) blog post by Hashrocket.
34
37
 
38
+ Timeasure is developed and maintained by [Eliav Lavi](http://www.eliavlavi.com) & [Riskified](https://www.riskified.com/).
39
+
35
40
  ## Requirements
36
41
 
37
42
  Ruby 2.0 or a later version is mandatory. (Timeasure uses `Module#prepend` introduced in Ruby 2.0.)
@@ -109,7 +114,6 @@ in which case the segment will be concatenated to the string as well. See [Segme
109
114
 
110
115
 
111
116
  ## Advanced Usage
112
-
113
117
  #### Segmented Method Tracking
114
118
  Timeasure was designed to separate regular code from its time measurement declaration.
115
119
  This is achieved by Timeasure's class macros `tracked_class_methods` and `tracked_instance_methods`.
@@ -169,7 +173,6 @@ Unlike Segments, Timeasure only carries the Metadata onwards.
169
173
  It is up to the user to make use of this data, probably after calling `Timeasure::Profiling::Manager.export`.
170
174
 
171
175
  ## Notes
172
-
173
176
  #### Compatibility with RSpec
174
177
 
175
178
  If you run your test suite with Timeasure installed and modules, classes and methods tracked and all works fine - hurray!
@@ -1,15 +1,15 @@
1
1
  module Timeasure
2
2
  module ClassMethods
3
3
  def tracked_instance_methods(*method_names)
4
+ instance_interceptor = const_get("#{timeasure_name}InstanceInterceptor")
4
5
  method_names.each do |method_name|
5
- instance_interceptor = const_get("#{timeasure_name}InstanceInterceptor")
6
6
  add_method_to_interceptor(instance_interceptor, method_name)
7
7
  end
8
8
  end
9
9
 
10
10
  def tracked_class_methods(*method_names)
11
+ class_interceptor = const_get("#{timeasure_name}ClassInterceptor")
11
12
  method_names.each do |method_name|
12
- class_interceptor = const_get("#{timeasure_name}ClassInterceptor")
13
13
  add_method_to_interceptor(class_interceptor, method_name)
14
14
  end
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module Timeasure
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timeasure
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eliav Lavi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-18 00:00:00.000000000 Z
11
+ date: 2018-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler