WEBINAR Sept 16: Exploring User Journeys with Embrace. Bridge the gap between observability and product analytics for mobile and web applications.

Sign-up

Embrace Open Source Roundup

Take a journey through our engineering team's recent contributions to open source projects in web, mobile, and observability.

Embrace’s engineering team uses many open source projects for mobile development, web development, and other parts of the tech stack outside of our OpenTelemetry focus for client side applications.

 

Often the team notices components of projects not working as well as we’d like, or a change that would create a more ergonomic developer experience, or simple keep-the-lights-on tasks that were kicked down the road. So we step in to lend our support to those projects! Let’s take a tour of recent contributions.

iOS: crash reporting and data compression

The Embrace Swift SDK is built to provide an aggressively-performant collection and transmission layer for iOS, MacOS and other Apple applications while remaining lightweight and easy to use and instrument. To support those ends, we make sure to use the best component libraries for app-specific needs like crashes and data compression.

KSCrash

KSCrash is the industry-standard crash reporting library, originally built as an open-source side project and now in use by vendors and development teams alike. Our team has added pull requests to, among other things:

  • expand the types of exceptions the reporter captures at all layers of application code
  • make the reporter backwards-compatible for older versions of Swift and Objective-C apps
  • ensure thread-safety for backtraces.

DataCompression

Additionally, Embrace makes use of the DataCompression library, which acts as a libcompression wrapper for the Swift Data type. We’ve made contributions to ensure the library will work for less-common Apple platforms like VisionOS, and to support importing the dependencies into projects via Cocoapods, a common Apple dependency manager.

Android and Web: build tool improvements

Gradle

Gradle is the preferred, open-source build system for Android apps. It’s in use in nearly all Android applications, as a way of adding packages from one or many sources to your app.

In addition to open-sourcing our own Gradle plugin for the Embrace Android SDK, we contributed release notes to the latest major version release of the build system itself!

Vite

Web apps use Vite to build their frontend applications as quickly and seamlessly as possible. With a host of plugins for every purpose, Vite is made to be flexible for every purpose.

To ensure the speed of Vite could push along a modern-web test runner, we updated the peer dependencies of the runner

Clickhouse contributions

Embrace uses an open-source version of Clickhouse as an important component of our telemetry databasing and processing. In particular, we make use of Clickhouse’s Go libraries for optimized data retrieval and reporting.

We contributed back reader and writer methods for the compression methods, which will help other developers who are optimizing memory in their infrastructure. In fact, the latter pull request inspired a follow-up from the community, pointing to the usefulness of these contributions.

Our bread and butter: OpenTelemetry

Our team’s broader focus is, as always, on driving production-grade mobile and web SDKs and APIs within the OpenTelemetry ecosystem. Recently, we’ve made a number of high-level contributions to OTel projects, including:

Embrace continues to lead the way on OpenTelemetry for user-facing applications, in order to empower developers to make sense of production data that affects the people using their applications. Want to get involved? Join the Swift, Android, or Javascript Special Interest Groups and lend your expertise!.

Embrace Deliver incredible mobile experiences with Embrace.

Get started today with 1 million free user sessions.

Get started free
Related Content