oboe-heroku 0.9.0.1 → 0.9.7.1
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.
- 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
|