Skip to content

Datadog support #49

Closed
Closed

Description

@kirillzh

We use Datadog for crash reports, would love to migrate over to Kermit for that, but it doesn't currently support Datadog. Wondering if there is any existing work around that, or what's an estimated amount effort to add the support?

Activity

  1. alexfanatics commented on Mar 5, 2024

    @alexfanatics

    We looked into this for a bit too. I think the main issue with Datadog compatibility is symbolication of exception stack traces.

    Symbolication isn't yet supported for other kind of errors (log errors, span errors nor manually collected RUM errors)

    DataDog/dd-sdk-ios#1572 (comment)

    Crashlytics + Bugsnag have an easy API to log an Exception along with the stacktrace which will be symbolicated on the web app, but it seems that Datadog does not support this.

    // firebase
    val exceptionClassName = throwable::class.qualifiedName
    val exModel = FIRExceptionModel.exceptionModelWithName(exceptionClassName, throwable.message)!!
    exModel.setStackTrace(throwable.getFilteredStackTraceAddresses().map { FIRStackFrame.stackFrameWithAddress(it.convert()) })
    FIRCrashlytics.crashlytics().recordExceptionModel(exModel)
    
    // bugsnag
    val exception = throwable.asNSException()
    val causes = throwable.causes.map { it.asNSException() }
    // Notify will persist unhandled events, so we can safely terminate afterwards.
    // https://github.com/bugsnag/bugsnag-cocoa/blob/6bcd46f5f8dc06ac26537875d501f02b27d219a9/Bugsnag/Client/BugsnagClient.m#L744
    Bugsnag.notify(exception) { event ->
        if (event == null) return@notify true
    
        if (handled) {
            event.severity = BSGSeverity.BSGSeverityWarning
        } else {
            event.unhandled = true
            event.severity = BSGSeverity.BSGSeverityError
        }
    
        if (causes.isNotEmpty()) {
            event.errors += causes.map { it.asBugsnagError() }
        }
    
        true
    }
  2. locked and limited conversation to collaborators on Jul 7, 2026
  3. converted this issue into a discussion #89 on Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions