Observability

To continuously improve the performance and stability of the Thryve SDK, the framework reports telemetry data like crashes and traces to Thryve's observability backend. Observability data is fully handled by Thryve's own infrastructure and never shared or processed with any 3rd party, ensuring the highest degree of data privacy for your end users.

Integrate Thryve Observability with your application

To integrate Observability into your application, add the ThryveObservability module from Thryve's SDK. You can achieve this by adding ThryveObservability pods on iOS and dependencies on Android.

platform :ios, '13.0'
source 'https://git.thryve.de/thryve/Specs.git'

target 'ThryveConnectorSample' do
 
  use_frameworks!

...
pod 'ThryveObservability', '5.2.2'
...

end

Configure the ThryveObservability module

import ThryveCore
import ThryveCommons
import ThryveObservability

let observabilityConfig = ObservabilityConfig(
    tracingEnabled: true, 
    crashReportingEnabled: true
)

let thryveSDKConfig = ThryveSDKConfig(
    authId: "AUTH_ID",
    authSecret: "AUTH_SECRET",
    endUserAlias: "YOUR_UNIQUE_USER_IDENTIFIER",
    endUserId: nil, 
    locale: "de",
    observability: observabilityConfig
)
        
await ThryveSDK.getOrCreate(thryveSDKConfig).getUserInformation()
triangle-exclamation

Module configuration options

When using the Observability module, make sure to define the options in the Observability configuration.

Parameter
Description
Default

tracingEnabled

When true, information on performance and errors linked to a Thryve user is reported to Thryve's observability backend. Requires import of ThryveObservability module.

true

crashReportingEnabled

When true, crashes caused by the ThryveSDK will be reported anonymously to Thryve's observability backend.

true

chevron-rightOverview of data shared with Thryve when crash reporting or tracing is enabledhashtag

The following data is processed by Thryve when observability functions are enabled:

Crash reporting

When crash reporting is enabled, the following information is sent to Thryve's self-operated observability backend in the event of an app crash:

  • crash stack trace

  • app information

    • authId

    • bundle/package id

    • state (inactive/active)

    • version

  • device information

    • model name

    • operating system

    • operating system version

    • memory size

    • free memory

  • session information

    • app start time

    • app uptime

    • app time in foreground

    • timestamps on actions performed by the SDK, e.g. initialization, execution of methods etc.

triangle-exclamation

Tracing

When tracing is enabled the following information is sent to Thryve's self-operated observability backend:

  • app information

    • authId

    • bundle id

    • state (inactive/active)

    • version

  • device information

    • model name

    • operating system

    • operating system version

    • memory size

  • user information

    • endUserId

  • process (trace) information

    • success true/false

    • ThryveErrors

    • start/endTimestamp of process

    • process parameters (e.g. requested HealthKit types, requested timeframes etc.)

    • process metadata (e.g. number of processed data points)

Last updated