Skip to content

Conversation

@agrognetti
Copy link
Contributor

@agrognetti agrognetti commented Sep 25, 2025

Summary

  • Options to disable logs, traces, metrics, and error tracking have been added.
  • InstrumentationManager has been refactored for improved clarity and configurability.
  • DebugLogExporter and DebugSpanExporter have been extracted into their own classes.
  • The TelemetryInspector now accepts nullable exporters, enabling scenarios where logs are disabled but traces remain enabled, and vice versa
  • CompositeMetricExporter created
  • InMemoryMetricExporter added to TelemetryInspector

How did you test this change?

E2E tested

Are there any deployment considerations?

No


Note

Adds disable flags for logs, traces, metrics, and error tracking; refactors InstrumentationManager with new debug/composite exporters and TelemetryInspector updates; introduces E2E tests and test harness improvements.

  • SDK / Instrumentation:
    • Disable options: Support disableLogs, disableTraces, disableMetrics, and disableErrorTracking in InstrumentationManager (skip exporter setup; suppress crash instrumentation; guard recordError).
    • Refactor: Extract helper methods for configuring logger/tracer/meter providers, constants for batching/intervals, and simplify flush.
    • Exporters: Add DebugLogExporter, DebugSpanExporter, DebugMetricExporter, and CompositeMetricExporter; add InMemoryMetricExporter support.
    • Inspector: Update TelemetryInspector to accept nullable spanExporter/logExporter and include metricExporter.
  • E2E / Tests:
    • Add DisablingConfigOptionsE2ETest validating exports toggled by disable flags (logs, spans, metrics, errors).
    • Update SamplingE2ETest to use TestUtils.waitForTelemetryData and remove sleeps.
    • Add TestUtils with telemetry wait helper.
  • App/Test Harness:
    • Rework BaseApplication/TestApplication for delayed init via realInit/initForTest, injectable pluginOptions, and testUrl; set backendUrl/otlpEndpoint from mock server.

Written by Cursor Bugbot for commit b677223. This will update automatically on new commits. Configure here.

Options to disable logs, traces, metrics, and error tracking have been added.
`InstrumentationManager` has been refactored for improved clarity and configurability.
`DebugLogExporter` and `DebugSpanExporter have been extracted into their own classes.
The `TelemetryInspector` now accepts nullable exporters, enabling scenarios where logs are disabled but traces remain enabled, and vice versa
- CompositeMetricExporter created
- InMemoryMetricExporter added to TelemetryInspector
- DisablingConfigOptions E2E test created
@agrognetti agrognetti requested a review from a team as a code owner September 25, 2025 23:31
@agrognetti agrognetti requested review from tanderson-ld and removed request for a team September 25, 2025 23:32
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@agrognetti agrognetti merged commit 3548b42 into main Sep 29, 2025
22 checks passed
@agrognetti agrognetti deleted the agrognetti/O11Y-398 branch September 29, 2025 15:28
Vadman97 pushed a commit that referenced this pull request Oct 1, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.9.0</summary>

##
[0.9.0](launchdarkly-observability-android-0.8.0...launchdarkly-observability-android-0.9.0)
(2025-10-01)


### Features

* O11Y-398 - Disable config options implemented
([#239](#239))
([3548b42](3548b42))
</details>

<details><summary>observability: 0.4.3</summary>

##
[0.4.3](observability-0.4.2...observability-0.4.3)
(2025-10-01)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * highlight.run bumped to 9.22.0
</details>

<details><summary>session-replay: 0.4.3</summary>

##
[0.4.3](session-replay-0.4.2...session-replay-0.4.3)
(2025-10-01)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * highlight.run bumped to 9.22.0
</details>

<details><summary>highlight.run: 9.22.0</summary>

##
[9.22.0](highlight.run-9.21.1...highlight.run-9.22.0)
(2025-10-01)


### Features

* add addSessionProperties to RecordSDK
([#247](#247))
([1969e1a](1969e1a))
* config options to customize privacy classes and selectors
([#241](#241))
([97c72db](97c72db))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Release new versions across packages, adding highlight.run features
and updating dependents; Android SDK gains a config-disabling feature.
> 
> - **Releases**:
>   - `sdk/highlight-run` → `9.22.0`
> - Features: `addSessionProperties` in Record SDK; configurable privacy
classes/selectors.
>   - `sdk/@launchdarkly/observability-android` → `0.9.0`
>     - Feature: implement disabling of config options.
>   - `sdk/@launchdarkly/observability` → `0.4.3`
>     - Dependency: `highlight.run` bumped to `9.22.0`.
>   - `sdk/@launchdarkly/session-replay` → `0.4.3`
>     - Dependency: `highlight.run` bumped to `9.22.0`.
> - **Version metadata**:
> - Update `package.json`, `gradle.properties`, and
`.release-please-manifest.json` to new versions.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b1c0517. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants