oboe-heroku 0.9.0.1 → 0.9.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/oboe_metal/src/libs/liboboe.a +0 -0
- data/ext/oboe_metal/src/oboe.hpp +10 -4
- data/ext/oboe_metal/src/oboe_wrap.cxx +49 -32
- data/lib/base.rb +23 -0
- data/lib/heroku_metal.rb +24 -13
- data/lib/oboe-heroku.rb +1 -1
- data/lib/oboe-heroku/loading.rb +2 -2
- data/lib/oboe-heroku/version.rb +1 -1
- data/oboe-heroku.gemspec +3 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c750cd90cba44aa258f1606bad70bc038676dede
|
4
|
+
data.tar.gz: 57730112d66e41b7781f56e6f01b9cb8021838f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 854c13b9e3321e41cb1199cf1807b7c71437253386b1bc0042ab95a1a28d1731f1f1bd6b569c492ecc0692bdbe64f2a9fef9039782955052be634ea70b02f84c
|
7
|
+
data.tar.gz: 2b4f3a7a705bb209c850a01506829c32a0f15c0c8fa7327444e446fc5c861791121ddb7af93f5a9f467268f807955b22627e47642943ec340fffa097c1c9a2bd
|
Binary file
|
data/ext/oboe_metal/src/oboe.hpp
CHANGED
@@ -118,7 +118,8 @@ public:
|
|
118
118
|
/**
|
119
119
|
* Check if the current request should be traced based on the current settings.
|
120
120
|
*
|
121
|
-
* If in_xtrace is empty,
|
121
|
+
* If in_xtrace is empty, or if it is identified as a foreign (ie. cross customer)
|
122
|
+
* trace, then sampling will be considered as a new trace.
|
122
123
|
* Otherwise sampling will be considered as adding to the current trace.
|
123
124
|
* Different layers may have special rules. Also special rules for AppView
|
124
125
|
* Web synthetic traces apply if in_tv_meta is given a non-empty string.
|
@@ -128,14 +129,19 @@ public:
|
|
128
129
|
* @param layer Name of the layer being considered for tracing
|
129
130
|
* @param in_xtrace Incoming X-Trace ID (NULL or empty string if not present)
|
130
131
|
* @param in_tv_meta AppView Web ID from X-TV-Meta HTTP header or higher layer (NULL or empty string if not present).
|
131
|
-
* @return
|
132
|
+
* @return Zero to not trace; otherwise return the sample rate used in the low order
|
133
|
+
* bytes 0 to 2 and the sample source in the higher-order byte 3.
|
132
134
|
*/
|
133
|
-
static
|
135
|
+
static int sampleRequest(
|
134
136
|
std::string layer,
|
135
137
|
std::string in_xtrace,
|
136
138
|
std::string in_tv_meta)
|
137
139
|
{
|
138
|
-
|
140
|
+
int sample_rate = 0;
|
141
|
+
int sample_source = 0;
|
142
|
+
int rc = (oboe_sample_layer(layer.c_str(), in_xtrace.c_str(), in_tv_meta.c_str(), &sample_rate, &sample_source));
|
143
|
+
|
144
|
+
return (rc == 0 ? 0 : (((sample_source & 0xFF) << 24) | (sample_rate & 0xFFFFFF)));
|
139
145
|
}
|
140
146
|
|
141
147
|
/**
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 2.0.
|
3
|
+
* Version 2.0.4
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -422,7 +422,7 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
|
|
422
422
|
return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
|
423
423
|
}
|
424
424
|
#else /* no cast-rank mode */
|
425
|
-
# define SWIG_AddCast
|
425
|
+
# define SWIG_AddCast
|
426
426
|
# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
|
427
427
|
#endif
|
428
428
|
|
@@ -486,18 +486,18 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
|
|
486
486
|
|
487
487
|
/*
|
488
488
|
Check type equivalence in a name list like <name1>|<name2>|...
|
489
|
-
Return 0 if equal,
|
489
|
+
Return 0 if not equal, 1 if equal
|
490
490
|
*/
|
491
491
|
SWIGRUNTIME int
|
492
|
-
|
493
|
-
int equiv =
|
492
|
+
SWIG_TypeEquiv(const char *nb, const char *tb) {
|
493
|
+
int equiv = 0;
|
494
494
|
const char* te = tb + strlen(tb);
|
495
495
|
const char* ne = nb;
|
496
|
-
while (equiv
|
496
|
+
while (!equiv && *ne) {
|
497
497
|
for (nb = ne; *ne; ++ne) {
|
498
498
|
if (*ne == '|') break;
|
499
499
|
}
|
500
|
-
equiv = SWIG_TypeNameComp(nb, ne, tb, te);
|
500
|
+
equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
|
501
501
|
if (*ne) ++ne;
|
502
502
|
}
|
503
503
|
return equiv;
|
@@ -505,13 +505,24 @@ SWIG_TypeCmp(const char *nb, const char *tb) {
|
|
505
505
|
|
506
506
|
/*
|
507
507
|
Check type equivalence in a name list like <name1>|<name2>|...
|
508
|
-
Return 0 if
|
508
|
+
Return 0 if equal, -1 if nb < tb, 1 if nb > tb
|
509
509
|
*/
|
510
510
|
SWIGRUNTIME int
|
511
|
-
|
512
|
-
|
511
|
+
SWIG_TypeCompare(const char *nb, const char *tb) {
|
512
|
+
int equiv = 0;
|
513
|
+
const char* te = tb + strlen(tb);
|
514
|
+
const char* ne = nb;
|
515
|
+
while (!equiv && *ne) {
|
516
|
+
for (nb = ne; *ne; ++ne) {
|
517
|
+
if (*ne == '|') break;
|
518
|
+
}
|
519
|
+
equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
|
520
|
+
if (*ne) ++ne;
|
521
|
+
}
|
522
|
+
return equiv;
|
513
523
|
}
|
514
524
|
|
525
|
+
|
515
526
|
/*
|
516
527
|
Check the typename
|
517
528
|
*/
|
@@ -1387,7 +1398,7 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
|
|
1387
1398
|
|
1388
1399
|
/* Runtime API */
|
1389
1400
|
|
1390
|
-
#define SWIG_GetModule(clientdata) SWIG_Ruby_GetModule(
|
1401
|
+
#define SWIG_GetModule(clientdata) SWIG_Ruby_GetModule()
|
1391
1402
|
#define SWIG_SetModule(clientdata, pointer) SWIG_Ruby_SetModule(pointer)
|
1392
1403
|
|
1393
1404
|
|
@@ -1541,7 +1552,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
|
|
1541
1552
|
downcast methods. */
|
1542
1553
|
if (obj != Qnil) {
|
1543
1554
|
VALUE value = rb_iv_get(obj, "@__swigtype__");
|
1544
|
-
|
1555
|
+
char* type_name = RSTRING_PTR(value);
|
1545
1556
|
|
1546
1557
|
if (strcmp(type->name, type_name) == 0) {
|
1547
1558
|
return obj;
|
@@ -1723,7 +1734,7 @@ SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
|
|
1723
1734
|
}
|
1724
1735
|
|
1725
1736
|
SWIGRUNTIME swig_module_info *
|
1726
|
-
SWIG_Ruby_GetModule(void
|
1737
|
+
SWIG_Ruby_GetModule(void)
|
1727
1738
|
{
|
1728
1739
|
VALUE pointer;
|
1729
1740
|
swig_module_info *ret = 0;
|
@@ -1763,7 +1774,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
|
|
1763
1774
|
SWIGINTERN
|
1764
1775
|
int SWIG_Ruby_isCallable( VALUE proc )
|
1765
1776
|
{
|
1766
|
-
if ( rb_respond_to( proc, swig_call_id ) )
|
1777
|
+
if ( rb_respond_to( proc, swig_call_id ) == Qtrue )
|
1767
1778
|
return 1;
|
1768
1779
|
return 0;
|
1769
1780
|
}
|
@@ -1776,7 +1787,7 @@ int SWIG_Ruby_isCallable( VALUE proc )
|
|
1776
1787
|
SWIGINTERN
|
1777
1788
|
int SWIG_Ruby_arity( VALUE proc, int minimal )
|
1778
1789
|
{
|
1779
|
-
if ( rb_respond_to( proc, swig_arity_id ) )
|
1790
|
+
if ( rb_respond_to( proc, swig_arity_id ) == Qtrue )
|
1780
1791
|
{
|
1781
1792
|
VALUE num = rb_funcall( proc, swig_arity_id, 0 );
|
1782
1793
|
int arity = NUM2INT(num);
|
@@ -1831,7 +1842,7 @@ static VALUE mOboe_metal;
|
|
1831
1842
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
1832
1843
|
|
1833
1844
|
|
1834
|
-
#define SWIGVERSION
|
1845
|
+
#define SWIGVERSION 0x020004
|
1835
1846
|
#define SWIG_VERSION SWIGVERSION
|
1836
1847
|
|
1837
1848
|
|
@@ -1885,7 +1896,11 @@ SWIGINTERN int
|
|
1885
1896
|
SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
|
1886
1897
|
{
|
1887
1898
|
if (TYPE(obj) == T_STRING) {
|
1899
|
+
#if defined(StringValuePtr)
|
1888
1900
|
char *cstr = StringValuePtr(obj);
|
1901
|
+
#else
|
1902
|
+
char *cstr = STR2CSTR(obj);
|
1903
|
+
#endif
|
1889
1904
|
size_t size = RSTRING_LEN(obj) + 1;
|
1890
1905
|
if (cptr) {
|
1891
1906
|
if (alloc) {
|
@@ -1984,7 +1999,7 @@ SWIG_ruby_failed(void)
|
|
1984
1999
|
}
|
1985
2000
|
|
1986
2001
|
|
1987
|
-
/*@SWIG:/
|
2002
|
+
/*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
1988
2003
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
|
1989
2004
|
{
|
1990
2005
|
VALUE obj = args[0];
|
@@ -2032,7 +2047,7 @@ SWIG_AsVal_int (VALUE obj, int *val)
|
|
2032
2047
|
|
2033
2048
|
|
2034
2049
|
|
2035
|
-
/*@SWIG:/
|
2050
|
+
/*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2036
2051
|
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
|
2037
2052
|
{
|
2038
2053
|
VALUE obj = args[0];
|
@@ -2060,7 +2075,7 @@ SWIG_AsVal_double (VALUE obj, double *val)
|
|
2060
2075
|
return SWIG_TypeError;
|
2061
2076
|
}
|
2062
2077
|
|
2063
|
-
|
2078
|
+
swig_class SwigClassMetadata;
|
2064
2079
|
|
2065
2080
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
2066
2081
|
SWIGINTERN VALUE
|
@@ -2245,7 +2260,7 @@ fail:
|
|
2245
2260
|
}
|
2246
2261
|
|
2247
2262
|
|
2248
|
-
|
2263
|
+
swig_class SwigClassContext;
|
2249
2264
|
|
2250
2265
|
SWIGINTERN VALUE
|
2251
2266
|
_wrap_Context_setTracingMode(int argc, VALUE *argv, VALUE self) {
|
@@ -2294,7 +2309,7 @@ _wrap_Context_sampleRequest(int argc, VALUE *argv, VALUE self) {
|
|
2294
2309
|
std::string arg1 ;
|
2295
2310
|
std::string arg2 ;
|
2296
2311
|
std::string arg3 ;
|
2297
|
-
|
2312
|
+
int result;
|
2298
2313
|
VALUE vresult = Qnil;
|
2299
2314
|
|
2300
2315
|
if ((argc < 3) || (argc > 3)) {
|
@@ -2327,8 +2342,8 @@ _wrap_Context_sampleRequest(int argc, VALUE *argv, VALUE self) {
|
|
2327
2342
|
arg3 = *ptr;
|
2328
2343
|
if (SWIG_IsNewObj(res)) delete ptr;
|
2329
2344
|
}
|
2330
|
-
result = (
|
2331
|
-
vresult =
|
2345
|
+
result = (int)Context::sampleRequest(arg1,arg2,arg3);
|
2346
|
+
vresult = SWIG_From_int(static_cast< int >(result));
|
2332
2347
|
return vresult;
|
2333
2348
|
fail:
|
2334
2349
|
return Qnil;
|
@@ -2590,7 +2605,7 @@ free_Context(Context *arg1) {
|
|
2590
2605
|
delete arg1;
|
2591
2606
|
}
|
2592
2607
|
|
2593
|
-
|
2608
|
+
swig_class SwigClassEvent;
|
2594
2609
|
|
2595
2610
|
SWIGINTERN void
|
2596
2611
|
free_Event(Event *arg1) {
|
@@ -3037,7 +3052,7 @@ fail:
|
|
3037
3052
|
}
|
3038
3053
|
|
3039
3054
|
|
3040
|
-
|
3055
|
+
swig_class SwigClassReporter;
|
3041
3056
|
|
3042
3057
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
3043
3058
|
SWIGINTERN VALUE
|
@@ -3224,7 +3239,7 @@ fail:
|
|
3224
3239
|
}
|
3225
3240
|
|
3226
3241
|
|
3227
|
-
|
3242
|
+
swig_class SwigClassSslReporter;
|
3228
3243
|
|
3229
3244
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
3230
3245
|
SWIGINTERN VALUE
|
@@ -3400,7 +3415,7 @@ fail:
|
|
3400
3415
|
}
|
3401
3416
|
|
3402
3417
|
|
3403
|
-
|
3418
|
+
swig_class SwigClassUdpReporter;
|
3404
3419
|
|
3405
3420
|
SWIGINTERN VALUE
|
3406
3421
|
_wrap_new_UdpReporter__SWIG_0(int argc, VALUE *argv, VALUE self) {
|
@@ -3653,7 +3668,7 @@ fail:
|
|
3653
3668
|
}
|
3654
3669
|
|
3655
3670
|
|
3656
|
-
|
3671
|
+
swig_class SwigClassFileReporter;
|
3657
3672
|
|
3658
3673
|
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
3659
3674
|
SWIGINTERN VALUE
|
@@ -3829,7 +3844,7 @@ fail:
|
|
3829
3844
|
}
|
3830
3845
|
|
3831
3846
|
|
3832
|
-
|
3847
|
+
swig_class SwigClassDebugLogger;
|
3833
3848
|
|
3834
3849
|
SWIGINTERN VALUE
|
3835
3850
|
_wrap_DebugLogger_log(int argc, VALUE *argv, VALUE self) {
|
@@ -3968,7 +3983,7 @@ fail:
|
|
3968
3983
|
}
|
3969
3984
|
|
3970
3985
|
|
3971
|
-
|
3986
|
+
swig_class SwigClassDebugLog;
|
3972
3987
|
|
3973
3988
|
SWIGINTERN VALUE
|
3974
3989
|
_wrap_DebugLog_getLevelName(int argc, VALUE *argv, VALUE self) {
|
@@ -4274,7 +4289,7 @@ free_DebugLog(DebugLog *arg1) {
|
|
4274
4289
|
delete arg1;
|
4275
4290
|
}
|
4276
4291
|
|
4277
|
-
|
4292
|
+
swig_class SwigClassConfig;
|
4278
4293
|
|
4279
4294
|
SWIGINTERN VALUE
|
4280
4295
|
_wrap_Config_checkVersion(int argc, VALUE *argv, VALUE self) {
|
@@ -4505,6 +4520,8 @@ SWIG_InitializeModule(void *clientdata) {
|
|
4505
4520
|
swig_module_info *module_head, *iter;
|
4506
4521
|
int found, init;
|
4507
4522
|
|
4523
|
+
clientdata = clientdata;
|
4524
|
+
|
4508
4525
|
/* check to see if the circular list has been setup, if not, set it up */
|
4509
4526
|
if (swig_module.next==0) {
|
4510
4527
|
/* Initialize the swig_module */
|
@@ -4542,7 +4559,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
4542
4559
|
module_head->next = &swig_module;
|
4543
4560
|
}
|
4544
4561
|
|
4545
|
-
/* When multiple
|
4562
|
+
/* When multiple interpeters are used, a module could have already been initialized in
|
4546
4563
|
a different interpreter, but not yet have a pointer in this interpreter.
|
4547
4564
|
In this case, we do not want to continue adding types... everything should be
|
4548
4565
|
set up already */
|
data/lib/base.rb
CHANGED
@@ -1,9 +1,32 @@
|
|
1
1
|
# Copyright (c) 2013 AppNeta, Inc.
|
2
2
|
# All rights reserved.
|
3
|
+
|
4
|
+
# Constants from liboboe
|
5
|
+
OBOE_TRACE_NEVER = 0
|
6
|
+
OBOE_TRACE_ALWAYS = 1
|
7
|
+
OBOE_TRACE_THROUGH = 2
|
8
|
+
|
9
|
+
OBOE_SAMPLE_RATE_SOURCE_FILE = 1
|
10
|
+
OBOE_SAMPLE_RATE_SOURCE_DEFAULT = 2
|
11
|
+
OBOE_SAMPLE_RATE_SOURCE_OBOE = 3
|
12
|
+
OBOE_SAMPLE_RATE_SOURCE_LAST_OBOE = 4
|
13
|
+
OBOE_SAMPLE_RATE_SOURCE_DEFAULT_MISCONFIGURED = 5
|
14
|
+
OBOE_SAMPLE_RATE_SOURCE_OBOE_DEFAULT = 6
|
15
|
+
|
16
|
+
# Masks for bitwise ops
|
17
|
+
ZERO_MASK = 0b00000000000000000000000000
|
18
|
+
|
19
|
+
SAMPLE_RATE_MASK = 0b00111111111111111111111111
|
20
|
+
SAMPLE_SOURCE_MASK = 0b11000000000000000000000000
|
21
|
+
|
22
|
+
ZERO_SAMPLE_RATE_MASK = 0b11000000000000000000000000
|
23
|
+
ZERO_SAMPLE_SOURCE_MASK = 0b00111111111111111111111111
|
3
24
|
|
4
25
|
module OboeBase
|
5
26
|
attr_accessor :reporter
|
6
27
|
attr_accessor :loaded
|
28
|
+
attr_accessor :sample_source
|
29
|
+
attr_accessor :sample_rate
|
7
30
|
|
8
31
|
def self.included(cls)
|
9
32
|
self.loaded = true
|
data/lib/heroku_metal.rb
CHANGED
@@ -44,7 +44,9 @@ module Oboe_metal
|
|
44
44
|
#
|
45
45
|
def self.start
|
46
46
|
begin
|
47
|
-
Oboe_metal::Context.init()
|
47
|
+
Oboe_metal::Context.init()
|
48
|
+
|
49
|
+
Oboe.logger.debug "[oboe/debug] Initializing Heroku based reporter."
|
48
50
|
|
49
51
|
# The Oboe Reporter is configured via Heroku config variables.
|
50
52
|
Oboe.reporter = Oboe::Reporter.new(nil, nil)
|
@@ -68,13 +70,23 @@ module Oboe
|
|
68
70
|
include Oboe_metal
|
69
71
|
|
70
72
|
class << self
|
71
|
-
|
72
73
|
def sample?(opts = {})
|
73
74
|
# Assure defaults since SWIG enforces Strings
|
74
75
|
opts[:layer] ||= ''
|
75
76
|
opts[:xtrace] ||= ''
|
76
|
-
opts['TV-Meta']
|
77
|
-
|
77
|
+
opts['X-TV-Meta'] ||= ''
|
78
|
+
|
79
|
+
rv = Oboe::Context.sampleRequest(opts[:layer], opts[:xtrace], opts['X-TV-Meta'])
|
80
|
+
|
81
|
+
# For older liboboe that returns true/false, just return that.
|
82
|
+
return rv if [TrueClass, FalseClass].include?(rv.class) or (rv == 0)
|
83
|
+
|
84
|
+
# liboboe version > 1.3.1 returning a bit masked integer with SampleRate and
|
85
|
+
# source embedded
|
86
|
+
Oboe.sample_rate = (rv & SAMPLE_RATE_MASK)
|
87
|
+
Oboe.sample_source = (rv & SAMPLE_SOURCE_MASK) >> 24
|
88
|
+
|
89
|
+
rv
|
78
90
|
end
|
79
91
|
|
80
92
|
def set_tracing_mode(mode)
|
@@ -84,21 +96,20 @@ module Oboe
|
|
84
96
|
|
85
97
|
case value
|
86
98
|
when :never
|
87
|
-
|
88
|
-
|
99
|
+
Oboe::Context.setTracingMode(OBOE_TRACE_NEVER)
|
100
|
+
|
89
101
|
when :always
|
90
|
-
|
91
|
-
|
102
|
+
Oboe::Context.setTracingMode(OBOE_TRACE_ALWAYS)
|
103
|
+
|
92
104
|
when :through
|
93
|
-
|
94
|
-
|
105
|
+
Oboe::Context.setTracingMode(OBOE_TRACE_THROUGH)
|
106
|
+
|
95
107
|
else
|
96
108
|
Oboe.logger.fatal "[oboe/error] Invalid tracing mode set: #{mode}"
|
97
|
-
|
98
|
-
Oboe::Context.setTracingMode(1)
|
109
|
+
Oboe::Context.setTracingMode(OBOE_TRACE_THROUGH)
|
99
110
|
end
|
100
111
|
end
|
101
|
-
|
112
|
+
|
102
113
|
def set_sample_rate(rate)
|
103
114
|
if Oboe.loaded
|
104
115
|
# Update liboboe with the new SampleRate value
|
data/lib/oboe-heroku.rb
CHANGED
data/lib/oboe-heroku/loading.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module OboeHeroku
|
2
2
|
module Loading
|
3
3
|
|
4
|
-
def self.
|
4
|
+
def self.configure
|
5
5
|
# OBOE_TRACE_NEVER 0
|
6
6
|
# OBOE_TRACE_ALWAYS 1
|
7
7
|
# OBOE_TRACE_THROUGH 2
|
@@ -27,7 +27,7 @@ module OboeHeroku
|
|
27
27
|
# OBOE_TRACE_ALWAYS
|
28
28
|
Oboe::Context.setTracingMode(1)
|
29
29
|
end
|
30
|
-
end # self.
|
30
|
+
end # self.configure
|
31
31
|
|
32
32
|
end
|
33
33
|
end
|
data/lib/oboe-heroku/version.rb
CHANGED
data/oboe-heroku.gemspec
CHANGED
@@ -5,6 +5,8 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.name = %q{oboe-heroku}
|
6
6
|
s.version = OboeHeroku::Version::STRING
|
7
7
|
s.date = Time.now.strftime('%Y-%m-%d')
|
8
|
+
|
9
|
+
s.license = "AppNeta Open License, Version 1.0"
|
8
10
|
|
9
11
|
s.authors = ["Peter Giacomo Lombardo", "Guy Lancaster"]
|
10
12
|
s.email = %q{traceviewsupport@appneta.com}
|
@@ -18,7 +20,7 @@ Gem::Specification.new do |s|
|
|
18
20
|
|
19
21
|
s.extensions = ['ext/oboe_metal/extconf.rb']
|
20
22
|
|
21
|
-
s.add_dependency(%q<oboe>, [">= 2.
|
23
|
+
s.add_dependency(%q<oboe>, [">= 2.4.0.1"])
|
22
24
|
|
23
25
|
s.add_development_dependency 'rake'
|
24
26
|
s.add_development_dependency 'rspec'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oboe-heroku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Giacomo Lombardo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: oboe
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 2.
|
20
|
+
version: 2.4.0.1
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 2.
|
27
|
+
version: 2.4.0.1
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +99,8 @@ files:
|
|
99
99
|
- oboe-heroku.gemspec
|
100
100
|
- tasks/.keep
|
101
101
|
homepage: http://www.appneta.com/application-performance-management
|
102
|
-
licenses:
|
102
|
+
licenses:
|
103
|
+
- AppNeta Open License, Version 1.0
|
103
104
|
metadata: {}
|
104
105
|
post_install_message:
|
105
106
|
rdoc_options: []
|
@@ -117,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
version: '0'
|
118
119
|
requirements: []
|
119
120
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.
|
121
|
+
rubygems_version: 2.1.11
|
121
122
|
signing_key:
|
122
123
|
specification_version: 4
|
123
124
|
summary: AppNeta TraceView performance instrumentation gem for the Heroku platform
|