raygun-apm 1.1.14-x86_64-linux → 1.1.15.pre2-x86_64-linux

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
  SHA256:
3
- metadata.gz: af5e3bb4a5919096aec2bab40ce84e0bda9db366268f036f77730159906f81be
4
- data.tar.gz: 318428b2bee1685e22c6600211759f8601d4cd86e6a61622a57de295d972eb7a
3
+ metadata.gz: adc8e1874bea414f7dd863a95f45ebed169c8112787dacada2714f8d10ffa7ca
4
+ data.tar.gz: d39046aa2a9607fa8b8047f347d8c99074c3eeee40ed87bbcfc53cffa1ef108b
5
5
  SHA512:
6
- metadata.gz: da117e6656deb7f4018a46c5ab6de29afea73514e1410ca691c23f2e98a711456323412840eeb45b84d2a85342ba048c5e0c119c05ed6cfd0483037980efa4b1
7
- data.tar.gz: 419fd7dbc69633905f148073ebf30f784b9ca22e3c02dffd14451494431ea2cc4c668b59a79559655b9b74510bdcc776a96fc4b1bf81905b366b12d51ba9730c
6
+ metadata.gz: 58f5d1e563d33fd91252b9c395bfc912ec48c05d1d3f1c0cb3228970e36ac770f058992a899088cb946461299af5d6eca6b1cf5b6d9eb9012d291523c2f94288
7
+ data.tar.gz: f216841be9b4a0bf3b35deb904aa7ee6bab0e6ea730d6c1724bc3697318ee4bb690001e7a9f64e49e1ede38ac5aeeb40a3778b3ab008062e3aa7e9caeb198b7d
data/COPYING.rax CHANGED
@@ -1,9 +1,9 @@
1
- Copyright (c) 2017, Salvatore Sanfilippo <antirez@gmail.com>
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
-
6
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
-
9
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1
+ Copyright (c) 2017, Salvatore Sanfilippo <antirez@gmail.com>
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
+
6
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/LICENSE CHANGED
@@ -1,27 +1,27 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2021 Raygun Limited
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
23
- This software bundles Rax, an open source project, released under the BSD two
24
- clause license here https://github.com/antirez/rax/blob/master/COPYING
25
-
26
- This software also bundles bipbuffer, an open source project, released under
27
- the BSD license here https://github.com/willemt/bipbuffer/blob/master/LICENSE
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2021 Raygun Limited
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ This software bundles Rax, an open source project, released under the BSD two
24
+ clause license here https://github.com/antirez/rax/blob/master/COPYING
25
+
26
+ This software also bundles bipbuffer, an open source project, released under
27
+ the BSD license here https://github.com/willemt/bipbuffer/blob/master/LICENSE
data/LICENSE.bipbuffer CHANGED
@@ -1,24 +1,24 @@
1
- Copyright (c) 2011, Willem-Hendrik Thiart
2
- All rights reserved.
3
-
4
- Redistribution and use in source and binary forms, with or without
5
- modification, are permitted provided that the following conditions are met:
6
- * Redistributions of source code must retain the above copyright
7
- notice, this list of conditions and the following disclaimer.
8
- * Redistributions in binary form must reproduce the above copyright
9
- notice, this list of conditions and the following disclaimer in the
10
- documentation and/or other materials provided with the distribution.
11
- * The names of its contributors may not be used to endorse or promote
12
- products derived from this software without specific prior written
13
- permission.
14
-
15
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
- DISCLAIMED. IN NO EVENT SHALL WILLEM-HENDRIK THIART BE LIABLE FOR ANY
19
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1
+ Copyright (c) 2011, Willem-Hendrik Thiart
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+ * Redistributions of source code must retain the above copyright
7
+ notice, this list of conditions and the following disclaimer.
8
+ * Redistributions in binary form must reproduce the above copyright
9
+ notice, this list of conditions and the following disclaimer in the
10
+ documentation and/or other materials provided with the distribution.
11
+ * The names of its contributors may not be used to endorse or promote
12
+ products derived from this software without specific prior written
13
+ permission.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL WILLEM-HENDRIK THIART BE LIABLE FOR ANY
19
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.rdoc CHANGED
@@ -1,118 +1,118 @@
1
- = Raygun Application Performance Monitoring
2
-
3
- Ruby Profiler for {Raygun Application Performance Monitoring}[https://raygun.com/documentation/language-guides/ruby/apm/installation/].
4
-
5
- Distributed as a precompiled native gem.
6
-
7
- == Supported platforms
8
-
9
- * x86-mingw32
10
- * x64-mingw32
11
- * x86-linux
12
- * x86_64-linux
13
- * universal-darwin
14
-
15
- {Contact us}[https://raygun.com/about/contact] to support other platforms.
16
-
17
- == Supported Ruby versions
18
-
19
- The profiler only supports CRuby, also known as Matz's Ruby Interpreter (MRI).
20
-
21
- * 2.5.x
22
- * 2.6.x
23
- * 2.7.x
24
- * 3.0.x
25
-
26
- {Contact us}[https://raygun.com/about/contact] to support other Ruby versions.
27
-
28
- == Agent Setup
29
-
30
- The Profiler needs to be able to access the Raygun Agent over UDP.
31
-
32
- === Dockerized Agent
33
-
34
- The {Dockerized Agent}[https://raygun.com/documentation/product-guides/apm/agent/installation] is supported on all Ruby profiler platforms. We recommend
35
- this deployment model if your production infrastructure already depends on Docker.
36
-
37
- Also a great way to explore on your Mac.
38
-
39
- The <code>RAYGUN_AGENT_TOKEN</code> needs to be supplied as an argument and is available under "Application Settings" within the {Raygun Application Performance Monitoring}[https://raygun.com/platform/apm] UI
40
-
41
- To launch Raygun Agent using docker
42
- docker pull raygunowner/raygun-apm
43
- docker run -v raygun-agent:/usr/share/Raygun -e "RAYGUN_AGENT_TOKEN=<token>" -p 2790:2790 -p 2788:2788 -p 2799:2799/udp -it raygunowner/raygun-apm:latest
44
-
45
- === Linux Agent
46
-
47
- The Linux version can be installed either using {systemd}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-systemd] or via {terminal}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-terminal]
48
-
49
- === Windows Agent
50
-
51
- On windows the agent can be installed either via {MSI installer}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-terminal] or on {.NET core}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-windows-net-core]
52
-
53
- == Ruby on Rails
54
-
55
- For Rails support see {documentation}[https://www.rubydoc.info/gems/raygun-apm-rails/0.1.0] of the railgun-apm-rails gem.
56
-
57
- == Profiler Setup
58
-
59
- Include the gem in your Gemfile
60
-
61
- gem 'raygun-apm'
62
-
63
- Run <code>bundle</code> to install the gem.
64
-
65
- Alternatively install using rubygems <code>gem install raygun-apm</code>.
66
-
67
- === Profiler configration
68
-
69
- ==== Multiple applications, one Agent
70
-
71
- Set the `PROTON_API_KEY` environment variable to your API key, which is available under "Application Settings" within the {Raygun Application Performance Monitoring}[https://raygun.com/platform/apm] UI.
72
-
73
- === Standalone ruby script / custom framework
74
-
75
- For standalone scripts, context start-end needs to be marked specifically and optionally extended events can be called.
76
-
77
- #!/usr/bin/env ruby
78
- require 'raygun/apm'
79
-
80
- class Hello
81
- def rdoc
82
- sleep 0.5
83
- end
84
- end
85
-
86
- tracer = Raygun::Apm::Tracer.new
87
- tracer.udp_sink!
88
- tracer.start_trace
89
- Hello.new.rdoc
90
- tracer.end_trace
91
- tracer.process_ended
92
-
93
- Extended events can be sent where appropiate
94
-
95
- <code>HTTP incoming event</code>
96
-
97
- event = Raygun::Apm::Event::HttpIn.new
98
- event[:pid] = Process.pid
99
- event[:tid] = 0
100
- event[:timestamp] = tracer.now
101
- event[:url] = 'https://google.com/'
102
- event[:verb] = 'GET'
103
- event[:status] = 200
104
- event[:duration] = 1000
105
- tracer.emit(event)
106
-
107
- <code>SQL query</code>
108
-
109
- event = Raygun::Apm::Event::Sql.new
110
- event[:pid] = Process.pid
111
- event[:tid] = 0
112
- event[:timestamp] = tracer.now
113
- event[:provider] = 'postgres'
114
- event[:host] = 'localhost'
115
- event[:database] = 'rails'
116
- event[:query] = 'SELECT * from FOO;'
117
- event[:duration] = 1000
118
- tracer.emit(event)
1
+ = Raygun Application Performance Monitoring
2
+
3
+ Ruby Profiler for {Raygun Application Performance Monitoring}[https://raygun.com/documentation/language-guides/ruby/apm/installation/].
4
+
5
+ Distributed as a precompiled native gem.
6
+
7
+ == Supported platforms
8
+
9
+ * x86-mingw32
10
+ * x64-mingw32
11
+ * x86-linux
12
+ * x86_64-linux
13
+ * universal-darwin
14
+
15
+ {Contact us}[https://raygun.com/about/contact] to support other platforms.
16
+
17
+ == Supported Ruby versions
18
+
19
+ The profiler only supports CRuby, also known as Matz's Ruby Interpreter (MRI).
20
+
21
+ * 2.5.x
22
+ * 2.6.x
23
+ * 2.7.x
24
+ * 3.0.x
25
+
26
+ {Contact us}[https://raygun.com/about/contact] to support other Ruby versions.
27
+
28
+ == Agent Setup
29
+
30
+ The Profiler needs to be able to access the Raygun Agent over UDP.
31
+
32
+ === Dockerized Agent
33
+
34
+ The {Dockerized Agent}[https://raygun.com/documentation/product-guides/apm/agent/installation] is supported on all Ruby profiler platforms. We recommend
35
+ this deployment model if your production infrastructure already depends on Docker.
36
+
37
+ Also a great way to explore on your Mac.
38
+
39
+ The <code>RAYGUN_AGENT_TOKEN</code> needs to be supplied as an argument and is available under "Application Settings" within the {Raygun Application Performance Monitoring}[https://raygun.com/platform/apm] UI
40
+
41
+ To launch Raygun Agent using docker
42
+ docker pull raygunowner/raygun-apm
43
+ docker run -v raygun-agent:/usr/share/Raygun -e "RAYGUN_AGENT_TOKEN=<token>" -p 2790:2790 -p 2788:2788 -p 2799:2799/udp -it raygunowner/raygun-apm:latest
44
+
45
+ === Linux Agent
46
+
47
+ The Linux version can be installed either using {systemd}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-systemd] or via {terminal}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-terminal]
48
+
49
+ === Windows Agent
50
+
51
+ On windows the agent can be installed either via {MSI installer}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-linux-using-terminal] or on {.NET core}[https://raygun.com/documentation/product-guides/apm/agent/installation/#installing-on-windows-net-core]
52
+
53
+ == Ruby on Rails
54
+
55
+ For Rails support see {documentation}[https://www.rubydoc.info/gems/raygun-apm-rails/0.1.0] of the railgun-apm-rails gem.
56
+
57
+ == Profiler Setup
58
+
59
+ Include the gem in your Gemfile
60
+
61
+ gem 'raygun-apm'
62
+
63
+ Run <code>bundle</code> to install the gem.
64
+
65
+ Alternatively install using rubygems <code>gem install raygun-apm</code>.
66
+
67
+ === Profiler configration
68
+
69
+ ==== Multiple applications, one Agent
70
+
71
+ Set the `PROTON_API_KEY` environment variable to your API key, which is available under "Application Settings" within the {Raygun Application Performance Monitoring}[https://raygun.com/platform/apm] UI.
72
+
73
+ === Standalone ruby script / custom framework
74
+
75
+ For standalone scripts, context start-end needs to be marked specifically and optionally extended events can be called.
76
+
77
+ #!/usr/bin/env ruby
78
+ require 'raygun/apm'
79
+
80
+ class Hello
81
+ def rdoc
82
+ sleep 0.5
83
+ end
84
+ end
85
+
86
+ tracer = Raygun::Apm::Tracer.new
87
+ tracer.udp_sink!
88
+ tracer.start_trace
89
+ Hello.new.rdoc
90
+ tracer.end_trace
91
+ tracer.process_ended
92
+
93
+ Extended events can be sent where appropiate
94
+
95
+ <code>HTTP incoming event</code>
96
+
97
+ event = Raygun::Apm::Event::HttpIn.new
98
+ event[:pid] = Process.pid
99
+ event[:tid] = 0
100
+ event[:timestamp] = tracer.now
101
+ event[:url] = 'https://google.com/'
102
+ event[:verb] = 'GET'
103
+ event[:status] = 200
104
+ event[:duration] = 1000
105
+ tracer.emit(event)
106
+
107
+ <code>SQL query</code>
108
+
109
+ event = Raygun::Apm::Event::Sql.new
110
+ event[:pid] = Process.pid
111
+ event[:tid] = 0
112
+ event[:timestamp] = tracer.now
113
+ event[:provider] = 'postgres'
114
+ event[:host] = 'localhost'
115
+ event[:database] = 'rails'
116
+ event[:query] = 'SELECT * from FOO;'
117
+ event[:duration] = 1000
118
+ tracer.emit(event)
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "raygun/apm"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start(__FILE__)
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "raygun/apm"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -1,6 +1,6 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "raygun/apm"
5
-
6
- tracer = Raygun::Apm::Tracer.new
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "raygun/apm"
5
+
6
+ tracer = Raygun::Apm::Tracer.new
data/bin/setup CHANGED
@@ -1,8 +1,8 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -1,59 +1,60 @@
1
- # encoding: utf-8
2
-
3
- # Makefile generator helper - from standard library
4
- require 'mkmf'
5
- # References core headers extracted by Ruby minor version in https://github.com/os97673/debase-ruby_core_source . Required for some of the lower level profiler features
6
- require 'debase/ruby_core_source'
7
-
8
- headers = proc do
9
- have_header('ruby.h') &&
10
- have_header('ruby/debug.h') &&
11
- have_header("vm_core.h")
12
- end
13
-
14
- dir_config('raygun')
15
-
16
- # To allow for swapping out the compiler - clang in favour of gcc for example
17
- RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
18
-
19
- # Pendatic about all the things
20
- append_cflags '-pedantic'
21
- append_cflags '-Wall'
22
- append_cflags '-Werror=switch'
23
- append_cflags '-std=c99'
24
- append_cflags '-fdeclspec'
25
- append_cflags '-fms-extensions'
26
- append_cflags '-ggdb3'
27
- # Enables additional flags, stack protection and debug symbols
28
- if ENV['DEBUG']
29
- have_library 'ssp'
30
- have_func '__stack_chk_guard'
31
- have_func '__stack_chk_fail'
32
- append_cflags '-ggdb3'
33
- # Needed reduced -On levels for SSP to do its job.
34
- # Used to be -O0 but switched to -Og since -O0 disables
35
- # some optimizations that debug tools need.
36
- # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
37
- append_cflags '-Og'
38
- append_cflags '-fstack-protector-all'
39
- append_cflags '-DRB_RG_DEBUG'
40
- else
41
- append_cflags '-O3'
42
- end
43
-
44
- # Renders an ASCII presentation of the shadow stack at runtime
45
- if ENV['DEBUG_SHADOW_STACK']
46
- append_cflags '-DRB_RG_DEBUG_SHADOW_STACK'
47
- end
48
-
49
- unless create_header
50
- STDERR.print("extconf.h creation failed\n")
51
- exit(1)
52
- end
53
-
54
- # Check for the presence of headers in ruby_core_headers for the version currently compiled for
55
- unless Debase::RubyCoreSource.create_makefile_with_core(headers, 'raygun_ext')
56
- STDERR.print("Makefile creation failed\n")
57
- STDERR.print("One or more ruby headers not found\n")
58
- exit(1)
1
+ # encoding: utf-8
2
+
3
+ # Makefile generator helper - from standard library
4
+ require 'mkmf'
5
+ # References core headers extracted by Ruby minor version in https://github.com/os97673/debase-ruby_core_source . Required for some of the lower level profiler features
6
+ require 'debase/ruby_core_source'
7
+
8
+ headers = proc do
9
+ have_header('ruby.h') &&
10
+ have_header('ruby/debug.h') &&
11
+ have_header("vm_core.h")
12
+ end
13
+
14
+ dir_config('raygun')
15
+
16
+ # To allow for swapping out the compiler - clang in favour of gcc for example
17
+ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
18
+
19
+ # Pedantic about all the things
20
+ append_cflags '-pedantic'
21
+ append_cflags '-Wall'
22
+ append_cflags '-Werror'
23
+ append_cflags '-std=c99'
24
+ append_cflags '-std=gnu99'
25
+ append_cflags '-fdeclspec'
26
+ append_cflags '-fms-extensions'
27
+ append_cflags '-ggdb3'
28
+ # Enables additional flags, stack protection and debug symbols
29
+ if ENV['DEBUG']
30
+ have_library 'ssp'
31
+ have_func '__stack_chk_guard'
32
+ have_func '__stack_chk_fail'
33
+ append_cflags '-ggdb3'
34
+ # Needed reduced -On levels for SSP to do its job.
35
+ # Used to be -O0 but switched to -Og since -O0 disables
36
+ # some optimizations that debug tools need.
37
+ # https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
38
+ append_cflags '-Og'
39
+ append_cflags '-fstack-protector-all'
40
+ append_cflags '-DRB_RG_DEBUG'
41
+ else
42
+ append_cflags '-O3'
43
+ end
44
+
45
+ # Renders an ASCII presentation of the shadow stack at runtime
46
+ if ENV['DEBUG_SHADOW_STACK']
47
+ append_cflags '-DRB_RG_DEBUG_SHADOW_STACK'
48
+ end
49
+
50
+ unless create_header
51
+ STDERR.print("extconf.h creation failed\n")
52
+ exit(1)
53
+ end
54
+
55
+ # Check for the presence of headers in ruby_core_headers for the version currently compiled for
56
+ unless Debase::RubyCoreSource.create_makefile_with_core(headers, 'raygun_ext')
57
+ STDERR.print("Makefile creation failed\n")
58
+ STDERR.print("One or more ruby headers not found\n")
59
+ exit(1)
59
60
  end
Binary file
Binary file
Binary file
Binary file
Binary file