├── .gitignore ├── .gitmodules ├── .rubocop.yml ├── .rubocop_todo.yml ├── .ruby-version ├── .travis.yml ├── DEVELOPMENT.md ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── Vagrantfile ├── docker ├── Dockerfile.ci ├── Dockerfile.old ├── build.sh ├── scripts │ └── fetch-linux-headers.sh └── sources.list ├── docs ├── latency_tracer.gif ├── ruby-interface.md └── tracing.md ├── ext └── ruby-static-tracing │ ├── darwin │ ├── provider.c │ ├── provider.h │ ├── ruby_static_tracing.c │ ├── tracepoint.c │ └── tracepoint.h │ ├── extconf.rb │ ├── include │ └── ruby_static_tracing.h │ ├── lib │ ├── deps-extconf.rb │ └── post-extconf.rb │ └── linux │ ├── provider.c │ ├── provider.h │ ├── ruby_static_tracing.c │ ├── tracepoint.c │ ├── tracepoint.h │ └── types.h ├── lib ├── ruby-static-tracing.rb ├── ruby-static-tracing │ ├── configuration.rb │ ├── platform.rb │ ├── provider.rb │ ├── tracepoint.rb │ ├── tracer.rb │ ├── tracer │ │ ├── base.rb │ │ ├── concerns │ │ │ └── latency_tracer.rb │ │ ├── helpers.rb │ │ ├── latency.rb │ │ └── stack.rb │ ├── tracers.rb │ └── version.rb └── tasks │ ├── docker.rb │ └── vagrant.rb ├── ruby-static-tracing.gemspec ├── test ├── integration │ ├── README.md │ ├── integration_helper.rb │ ├── test_hello │ │ ├── hello.bt │ │ ├── hello.dt │ │ ├── hello.out │ │ ├── hello.rb │ │ └── hello_test.rb │ ├── test_latency │ │ ├── latency.bt │ │ ├── latency.dt │ │ ├── latency.out │ │ ├── latency.rb │ │ └── latency_test.rb │ └── test_stacktrace │ │ ├── .rubocop.yml │ │ ├── .rubocop_todo.yml │ │ ├── stacktrace.bt │ │ ├── stacktrace.dt │ │ ├── stacktrace.out │ │ ├── stacktrace.rb │ │ └── stacktrace_test.rb ├── ruby-static-tracing │ ├── configuration_test.rb │ ├── provider_test.rb │ ├── tracepoint_test.rb │ ├── tracer │ │ ├── concerns │ │ │ └── latency_test.rb │ │ ├── latency_test.rb │ │ └── stack_test.rb │ └── tracers_test.rb ├── ruby_static_tracing_test.rb └── test_helper.rb └── vagrant ├── bundle.sh ├── debugfs.sh ├── docker.sh └── provision.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/.gitmodules -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- 1 | inherit_from: .rubocop_todo.yml 2 | -------------------------------------------------------------------------------- /.rubocop_todo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/.rubocop_todo.yml -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.5.5 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/.travis.yml -------------------------------------------------------------------------------- /DEVELOPMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/DEVELOPMENT.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/Rakefile -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/Vagrantfile -------------------------------------------------------------------------------- /docker/Dockerfile.ci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docker/Dockerfile.ci -------------------------------------------------------------------------------- /docker/Dockerfile.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docker/Dockerfile.old -------------------------------------------------------------------------------- /docker/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docker/build.sh -------------------------------------------------------------------------------- /docker/scripts/fetch-linux-headers.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docker/scripts/fetch-linux-headers.sh -------------------------------------------------------------------------------- /docker/sources.list: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docker/sources.list -------------------------------------------------------------------------------- /docs/latency_tracer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docs/latency_tracer.gif -------------------------------------------------------------------------------- /docs/ruby-interface.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docs/ruby-interface.md -------------------------------------------------------------------------------- /docs/tracing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/docs/tracing.md -------------------------------------------------------------------------------- /ext/ruby-static-tracing/darwin/provider.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/darwin/provider.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/darwin/provider.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/darwin/provider.h -------------------------------------------------------------------------------- /ext/ruby-static-tracing/darwin/ruby_static_tracing.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/darwin/ruby_static_tracing.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/darwin/tracepoint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/darwin/tracepoint.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/darwin/tracepoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/darwin/tracepoint.h -------------------------------------------------------------------------------- /ext/ruby-static-tracing/extconf.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/extconf.rb -------------------------------------------------------------------------------- /ext/ruby-static-tracing/include/ruby_static_tracing.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/include/ruby_static_tracing.h -------------------------------------------------------------------------------- /ext/ruby-static-tracing/lib/deps-extconf.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/lib/deps-extconf.rb -------------------------------------------------------------------------------- /ext/ruby-static-tracing/lib/post-extconf.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/lib/post-extconf.rb -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/provider.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/provider.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/provider.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/provider.h -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/ruby_static_tracing.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/ruby_static_tracing.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/tracepoint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/tracepoint.c -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/tracepoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/tracepoint.h -------------------------------------------------------------------------------- /ext/ruby-static-tracing/linux/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ext/ruby-static-tracing/linux/types.h -------------------------------------------------------------------------------- /lib/ruby-static-tracing.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/configuration.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/configuration.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/platform.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/platform.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/provider.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/provider.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracepoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracepoint.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer/base.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer/concerns/latency_tracer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer/concerns/latency_tracer.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer/helpers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer/helpers.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer/latency.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer/latency.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracer/stack.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracer/stack.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/tracers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/tracers.rb -------------------------------------------------------------------------------- /lib/ruby-static-tracing/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/ruby-static-tracing/version.rb -------------------------------------------------------------------------------- /lib/tasks/docker.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/tasks/docker.rb -------------------------------------------------------------------------------- /lib/tasks/vagrant.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/lib/tasks/vagrant.rb -------------------------------------------------------------------------------- /ruby-static-tracing.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/ruby-static-tracing.gemspec -------------------------------------------------------------------------------- /test/integration/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/README.md -------------------------------------------------------------------------------- /test/integration/integration_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/integration_helper.rb -------------------------------------------------------------------------------- /test/integration/test_hello/hello.bt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_hello/hello.bt -------------------------------------------------------------------------------- /test/integration/test_hello/hello.dt: -------------------------------------------------------------------------------- 1 | global*:::hello_test 2 | { 3 | printf("Attaching 1 probe...\n%s\n", copyinstr(arg0)) 4 | } 5 | -------------------------------------------------------------------------------- /test/integration/test_hello/hello.out: -------------------------------------------------------------------------------- 1 | Attaching 1 probe... 2 | Hello world 3 | -------------------------------------------------------------------------------- /test/integration/test_hello/hello.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_hello/hello.rb -------------------------------------------------------------------------------- /test/integration/test_hello/hello_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_hello/hello_test.rb -------------------------------------------------------------------------------- /test/integration/test_latency/latency.bt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_latency/latency.bt -------------------------------------------------------------------------------- /test/integration/test_latency/latency.dt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_latency/latency.dt -------------------------------------------------------------------------------- /test/integration/test_latency/latency.out: -------------------------------------------------------------------------------- 1 | Attaching 1 probe... 2 | execute 3 | -------------------------------------------------------------------------------- /test/integration/test_latency/latency.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_latency/latency.rb -------------------------------------------------------------------------------- /test/integration/test_latency/latency_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_latency/latency_test.rb -------------------------------------------------------------------------------- /test/integration/test_stacktrace/.rubocop.yml: -------------------------------------------------------------------------------- 1 | inherit_from: .rubocop_todo.yml 2 | -------------------------------------------------------------------------------- /test/integration/test_stacktrace/.rubocop_todo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/.rubocop_todo.yml -------------------------------------------------------------------------------- /test/integration/test_stacktrace/stacktrace.bt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/stacktrace.bt -------------------------------------------------------------------------------- /test/integration/test_stacktrace/stacktrace.dt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/stacktrace.dt -------------------------------------------------------------------------------- /test/integration/test_stacktrace/stacktrace.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/stacktrace.out -------------------------------------------------------------------------------- /test/integration/test_stacktrace/stacktrace.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/stacktrace.rb -------------------------------------------------------------------------------- /test/integration/test_stacktrace/stacktrace_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/integration/test_stacktrace/stacktrace_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/configuration_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/configuration_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/provider_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/provider_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/tracepoint_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/tracepoint_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/tracer/concerns/latency_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/tracer/concerns/latency_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/tracer/latency_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/tracer/latency_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/tracer/stack_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/tracer/stack_test.rb -------------------------------------------------------------------------------- /test/ruby-static-tracing/tracers_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby-static-tracing/tracers_test.rb -------------------------------------------------------------------------------- /test/ruby_static_tracing_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/ruby_static_tracing_test.rb -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/test/test_helper.rb -------------------------------------------------------------------------------- /vagrant/bundle.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/vagrant/bundle.sh -------------------------------------------------------------------------------- /vagrant/debugfs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/vagrant/debugfs.sh -------------------------------------------------------------------------------- /vagrant/docker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/vagrant/docker.sh -------------------------------------------------------------------------------- /vagrant/provision.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalehamel/ruby-static-tracing/HEAD/vagrant/provision.sh --------------------------------------------------------------------------------