You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-3Lines changed: 16 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@
17
17
18
18
# New Relic Java Instrumentation for RxJava
19
19
20
-
Instrumentation for the RxJava Framework (https://github.com/ReactiveX/RxJava). There are two sets of instrumentation, one for RxJava1 and the other for RxJava2.
20
+
Instrumentation for the RxJava Framework (https://github.com/ReactiveX/RxJava). There are three sets of instrumentation, one for RxJava1 one for RxJava2 and one for RxJava3.
21
21
22
22
## Installation
23
23
@@ -38,15 +38,28 @@ The rxjava1-finder extension will find methods which return an RxJava1 object (C
38
38
Tracks Completable, Flowable, Maybe, Observable and Single. For objects with onNext, the method call will be linked back to the original transaction. For all objects the link is expired and linked with the object completes or an error is recorded.
39
39
The rxjava2-finder extension will find methods which return an RxJava1 object (Completable, Flowable, Maybe, Observable, Single) and include them in the transaction trace. Methods in the io.reactivex package (and subpackages) are ignored.
40
40
#### RxJava2 Segments
41
-
The RxJava2 instrumentation uses a New Relic Java Agent segment (https://docs.newrelic.com/docs/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications/#segments) to track the time from when the object is subscribed to until the object is completed or throws an error. This feature is turned on by default. To turn this feature off:
41
+
The RxJava2 instrumentation uses a New Relic Java Agent segment (https://docs.newrelic.com/docs/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications/#segments) to track the time from when the object is subscribed to until the object is completed or throws an error. It is reported as RxJava2/*rxType*/TotalTime/*rx Class simple name* This feature is turned on by default. Additional you can choose not to track certain RxJava Object by configuring a comma separated list of the simple class names that you wish to ignore. Due to the logic used with the From methods (e.g. fromCallable) it is not possible to use segments to track from and hence they are not tracked via segments.
42
+
43
+
To turn this feature off:
42
44
1. Edit newrelic.yml
43
45
2. Insert the following text into the file. It can be placed anywhere in the file but the preferred place is right before the **labels:** stanza. Please note that spaces matter so first two lines has two space at the beginning and the third has four spaces.
44
46
45
47
\# Used to toggle the use of segments in RxJava2 objects
46
48
RxJava2:
47
49
useSegments: false
50
+
51
+
To ignore certain Rx objects add the rxType and simple class name to the above configuration. For example to stop using segments to track with the name RxJava2/Flowable/TotalTime/FlowableFlatMap, use the following configuration:
Support for RxJava3 is the same as the RxJava2. Requires different extension jars due to changes to package names
58
+
Support for RxJava3 is the same as the RxJava2. Requires different extension jars due to changes to package names
59
+
60
+
### Finder Extensions
61
+
There are three finder extensions included with this instrumentation, one for each RxJava version. The purpose of these extensions to to track methods outside of those in RxJava that return one of the RxJava objects. This allows you to track your methods that return an RxJava object.
62
+
50
63
## Building
51
64
Building the extension requires that Gradle is installed.
52
65
To build the extension jars from source, follow these steps:
0 commit comments