To instrument your jruby application, you need to install ruby instrumentation and install java instrumentation. For configuring jruby instrumentation: instrumentation relies the java agent for the tracing configuration, so see configuring java instrumentation; environment level configuration like enabling/disabling instrumentation is done through the traceview gem, so see configuring ruby instrumentation.
Thrift is a software framework for communicating between services, across a number of languages. We provide instrumentation that supports optionally continuing traces across thrift calls. TraceView instrumentation provides an instrumented thrift binary. This binary can be used to generate instrumented framework code in supported languages. Typically, this call will look like:
thrift --gen py your-declaration.thrift. The instrumented code then runs in any environment with the oboe language libraries. In particular, this means that you don’t need instrumented thrift binaries anywhere except on dev/build machines, i.e., anywhere you run the ‘thrift’ command. Support for ruby and python thrift bindings is provided through our developer program; contact us for details.
The functionality of the cURL library— which retrieves resources by url— provides the underlying functionality for making http requests, and is used by many modules and libraries for php, python, and ruby. We provide an instrumented version of libcurl which traces these requests, whether they are made between components of your app, or to external services.
You only need to install libcurl instrumentation if your app is making http(s) requests via cURL.
- Java does not use libcurl.
- Much of PHP::cURL is instrumented by our php extension. libcurl is only necessary if you want to trace across cURL requests to an internal service, or you are using curl_multi_exec to parallelize cURL requests.
- Most python http requests are not executed via cURL, with the exception of pycurl. If you are using the Tornado 2 framework, you will also benefit from libcurl instrumentation.
- If you are using net/http, you don’t need libcurl instrumentation. If you are using curb, then you will benefit from this visibility.
Our libcurl instrumentation is available from our apt and yum repositories. Once synced with our repositories, the +tracelytics version of libcurl and associated packages will become available for install. You can install them by doing a normal package upgrade for your system’s libcurl package via the package manager.