diff --git a/android-agent/build.gradle.kts b/android-agent/build.gradle.kts index f97104d07..1ded0b759 100644 --- a/android-agent/build.gradle.kts +++ b/android-agent/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { api(project(":instrumentation:network")) api(project(":instrumentation:slowrendering")) api(project(":instrumentation:startup")) + api(project(":instrumentation:sessions")) testImplementation(libs.robolectric) } diff --git a/instrumentation/activity/README.md b/instrumentation/activity/README.md index 3e655bfb3..b81750a83 100644 --- a/instrumentation/activity/README.md +++ b/instrumentation/activity/README.md @@ -37,3 +37,18 @@ This instrumentation produces the following telemetry: * `activity.name`: name of activity * `screen.name`: name of screen * `last.screen.name`: name of screen, only when span contains the `activityPostResumed` event. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:activity:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/activity). diff --git a/instrumentation/android-log/README.md b/instrumentation/android-log/README.md index 0e8651c77..115762abf 100644 --- a/instrumentation/android-log/README.md +++ b/instrumentation/android-log/README.md @@ -18,3 +18,28 @@ This instrumentation produces the following telemetry: * `android.log.tag`: The tag passed to `android.uti.Log.x` * `exception.stacktrace` - Optional. See the ([semconv here](https://github.com/open-telemetry/semantic-conventions/blob/727700406f9e6cc3f4e4680a81c4c28f2eb71569/docs/attributes-registry/exception.md#exception-stacktrace)). * `exception.type` - Optional. See the ([semconv here](https://github.com/open-telemetry/semantic-conventions/blob/727700406f9e6cc3f4e4680a81c4c28f2eb71569/docs/attributes-registry/exception.md#exception-type)) + +## Installation + +### Applying the Byte Buddy plugin + +This instrumentation makes use of [Byte Buddy](https://bytebuddy.net/) to do bytecode instrumentation. Because of this, you need +to ensure that your application has the Byte Buddy plugin applied, as shown below. + +```kotlin +plugins { + id("net.bytebuddy.byte-buddy-gradle-plugin") version "LATEST_VERSION" // <1> +} +``` + +1. You can find the latest version [here](https://plugins.gradle.org/plugin/net.bytebuddy.byte-buddy-gradle-plugin). + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:android-log-library:LATEST_LIBRARY_VERSION") // <1> +byteBuddy("io.opentelemetry.android.instrumentation:android-log-agent:LATEST_AGENT_VERSION") // <2> +``` + +1. You can find the latest library version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/android-log-library). +2. You can find the latest instrumentation agent version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/android-log-agent). diff --git a/instrumentation/anr/README.md b/instrumentation/anr/README.md index 7eb458f9c..a89cfc366 100644 --- a/instrumentation/anr/README.md +++ b/instrumentation/anr/README.md @@ -28,3 +28,18 @@ This instrumentation produces the following telemetry: Note: This instrumentation supports additional user-configurable `AttributeExtractors` that may set additional attributes from the given `StackTraceElement[]`. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:anr:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/anr). diff --git a/instrumentation/compose/click/README.md b/instrumentation/compose/click/README.md index b5cb74324..ba5406e08 100644 --- a/instrumentation/compose/click/README.md +++ b/instrumentation/compose/click/README.md @@ -34,3 +34,13 @@ This instrumentation produces the following telemetry: * Description: This event is emitted when the user taps on a composable that is clickable. * See the [semantic convention definition](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/app/app.md#event-appwidgetclick) for more details. + +## Installation + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:compose-click:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/compose-click). diff --git a/instrumentation/crash/README.md b/instrumentation/crash/README.md index 289ecc469..0499cd4f3 100644 --- a/instrumentation/crash/README.md +++ b/instrumentation/crash/README.md @@ -24,3 +24,18 @@ This instrumentation produces the following telemetry: Note: This instrumentation supports additional user-configurable `AttributeExtractors` that may set additional attributes from the given `CrashDetails` (`Thread` and `Throwable`). + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:crash:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/crash). diff --git a/instrumentation/fragment/README.md b/instrumentation/fragment/README.md index 1fa7f445d..7727c47a0 100644 --- a/instrumentation/fragment/README.md +++ b/instrumentation/fragment/README.md @@ -22,3 +22,18 @@ This instrumentation produces the following telemetry: * `fragment.name`: name of fragment * `screen.name`: name of screen * `last.screen.name`: name of screen, when span contains the `fragmentResumed` event. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:fragment:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/fragment). diff --git a/instrumentation/network/README.md b/instrumentation/network/README.md index cb2c075c8..1124fb36d 100644 --- a/instrumentation/network/README.md +++ b/instrumentation/network/README.md @@ -27,3 +27,18 @@ This instrumentation produces the following telemetry: Note: This instrumentation supports additional user-configurable `AttributeExtractors` that may set additional attributes when given a `CurrentNetwork` instance. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:network:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/network). diff --git a/instrumentation/okhttp3-websocket/README.md b/instrumentation/okhttp3-websocket/README.md new file mode 100644 index 000000000..62ecb1949 --- /dev/null +++ b/instrumentation/okhttp3-websocket/README.md @@ -0,0 +1,30 @@ +# Android Instrumentation for OkHttp Websocket version 3.0 and higher + +## Status: development + +Provides OpenTelemetry instrumentation for [okhttp3 websockets](https://square.github.io/okhttp/3.x/okhttp/okhttp3/WebSocket.html). + +## Installation + +### Applying the Byte Buddy plugin + +This instrumentation makes use of [Byte Buddy](https://bytebuddy.net/) to do bytecode instrumentation. Because of this, you need +to ensure that your application has the Byte Buddy plugin applied, as shown below. + +```kotlin +plugins { + id("net.bytebuddy.byte-buddy-gradle-plugin") version "LATEST_VERSION" // <1> +} +``` + +1. You can find the latest version [here](https://plugins.gradle.org/plugin/net.bytebuddy.byte-buddy-gradle-plugin). + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:okhttp3-websocket-library:LATEST_LIBRARY_VERSION") // <1> +byteBuddy("io.opentelemetry.android.instrumentation:okhttp3-websocket-agent:LATEST_AGENT_VERSION") // <2> +``` + +1. You can find the latest library version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/okhttp3-websocket-library). +2. You can find the latest instrumentation agent version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/okhttp3-websocket-agent). diff --git a/instrumentation/sessions/README.md b/instrumentation/sessions/README.md index ee4993b39..d22a6c321 100644 --- a/instrumentation/sessions/README.md +++ b/instrumentation/sessions/README.md @@ -11,3 +11,18 @@ for additional details about sessions. See ["Session Events"](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/session.md#session-events) for more information about the specific events generated by this instrumentation. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:sessions:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/sessions). diff --git a/instrumentation/slowrendering/README.md b/instrumentation/slowrendering/README.md index 1d0cbeed7..b5adf8808 100644 --- a/instrumentation/slowrendering/README.md +++ b/instrumentation/slowrendering/README.md @@ -38,3 +38,18 @@ Generated when rendering takes more than 700ms. * Attributes: * `count` - the number of slow renders * `activity.name` - the name of the activity for which the slow render was detected + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:slowrendering:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/slowrendering). diff --git a/instrumentation/startup/README.md b/instrumentation/startup/README.md new file mode 100644 index 000000000..2a3d55866 --- /dev/null +++ b/instrumentation/startup/README.md @@ -0,0 +1,21 @@ +# Startup Instrumentation + +Status: development + +The startup instrumentation provides initialization log events that describe the steps taken during +RUM initialization. + +## Installation + +This instrumentation comes with the [android agent](../../android-agent) out of the box, so +if you depend on it, you don't need to do anything else to install this instrumentation. +However, if you don't use the agent but instead depend on [core](../../core) directly, you can +manually install this instrumentation by following the steps below. + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:startup:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/startup). diff --git a/instrumentation/view-click/README.md b/instrumentation/view-click/README.md index fed32067d..9e1b6a1c0 100644 --- a/instrumentation/view-click/README.md +++ b/instrumentation/view-click/README.md @@ -18,7 +18,7 @@ Data produced by this instrumentation will have an instrumentation scope name of `io.opentelemetry.android.instrumentation.view.click`. This instrumentation produces the following telemetry: -### Network Change +### Clicks * Type: Event * Name: `app.screen.click` @@ -31,3 +31,14 @@ This instrumentation produces the following telemetry: * Description: This event is emitted when the user taps on a view. Jetpack compose views are not currently supported. * See the [semantic convention definition](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/app/app.md#event-appwidgetclick) for more details. + + +## Installation + +### Adding dependencies + +```kotlin +implementation("io.opentelemetry.android.instrumentation:view-click:LATEST_VERSION") // <1> +``` + +1. You can find the latest version [here](https://central.sonatype.com/artifact/io.opentelemetry.android.instrumentation/view-click).