Pulse is a free, open source monitoring & observability project written in Swift and released under MIT. It has 7,217 GitHub stars, 376 forks and 46 open issues, and was last pushed 1 months ago. On this registry it ranks #57 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 4 stars over the last 3 tracked days.

What is Pulse?

Pulse is an MIT-licensed Swift logging framework for Apple platforms that records logs and URLSession network requests inside iOS, macOS, tvOS, watchOS, and visionOS apps, then displays them through SwiftUI views so developers and QA teams can inspect and share them directly from the device.

What it is

Pulse is a native logging system and framework for Apple platforms, built with SwiftUI and distributed under the MIT license. It is not a standalone tool but a framework that records events from URLSession and from frameworks that use it, such as Alamofire and Get, then renders those events with PulseUI views that developers integrate directly into their own apps. The project lives in the Swift and Apple-platform ecosystem, where it occupies the space between a debug console and a full network inspection tool.

The concrete problem it solves is observability on devices that are not attached to a debugger. Test builds, QA devices, and internal builds usually produce logs nobody can read, and network traffic is invisible without a proxy or a cable. Pulse replaces the ad hoc practice of attaching a debugger or capturing traffic elsewhere by storing logs locally on the device, keeping them there, and giving anyone holding the build a console they can open. Logs never leave the device by default, and the same records can be shared to attach to bug reports or forwarded through remote logging for real-time viewing.

Key capabilities

  • Records network requests and responses made through URLSession, including traffic generated by Alamofire and Get.
  • Provides PulseUI views that embed a debug menu and console inside the host app itself.
  • Acts as a backend for SwiftLog through PulseLogHandler, so existing SwiftLog-based logging flows into Pulse.
  • Stores logs locally on the device with the stated guarantee that they never leave the device.
  • Supports sharing captured logs for bug reports, and remote logging for real-time inspection.
  • Requires Swift 5.10 and Xcode 15.4 for Pulse 5.0, targeting iOS 15, tvOS 15, watchOS 8, macOS 12, and visionOS 1.
  • Includes separate documentation sets for the core framework, the UI layer, and the SwiftLog handler.

Who uses it and how

  • iOS and macOS developers embedding a console into internal or test builds so logs are readable without a debugger.
  • QA teams viewing logs on the device itself, then sharing them to attach to bug reports.
  • Teams already using SwiftLog that want Pulse as the backend without rewriting their logging calls.
  • Projects using Alamofire or Get that want request and response records captured without changing their networking stack.
  • Developers reviewing large log files in Pulse Pro, a separate macOS app with table and text modes, filters, a network inspector, and JSON filters.

Getting started

Integration starts with the Getting Started guide and the three documentation sets for Pulse, PulseUI, and PulseLogHandler, which describe adding the framework, the console and debug menu, and the SwiftLog backend respectively. Real-time desktop viewing is provided by Pulse Pro, the macOS app available from pulselogger.com.

How it compares

Pulse is explicitly not a network proxy, and the README points anyone who needs one toward Proxyman, so the two serve different roles rather than competing for the same slot. Within the Apple ecosystem it sits alongside the frameworks it observes, such as Alamofire and Get, and alongside SwiftLog, for which it can serve as a logging backend; Pulse Pro is the separate macOS companion for reviewing logs rather than a hosted replacement for the framework.

When to use it — and when not to

Pulse fits teams that need on-device visibility into test builds and are willing to embed UI code and a logging framework into the app. It is a poor fit for anyone wanting an external proxy-based inspector, since Pulse is not a proxy, and real-time desktop review depends on the separately distributed Pulse Pro app rather than the MIT-licensed framework. Note also that the README excerpt documents requirements and documentation links but gives no install or package commands, so plan to work from the linked guides.

project readme (upstream, from github) — read inline
promo-1

Pulse is a powerful logging system for Apple Platforms. Native. Built with SwiftUI.

Record and inspect logs and URLSession network requests right from your iOS app. Share logs and view them in Pulse Pro or use remote logging to see them in real time. Logs are stored locally and never leave your devices.

About

Pulse is not just a tool, it's a framework. It records events from URLSession or from frameworks that use it, such as Alamofire or Get, and displays them using PulseUI views that you integrate directly into your app. This way Pulse console is available for everyone who has your test builds. You or your QA team can view the logs on the device and easily share them to attach to bug reports.

Pulse is not a network proxy. If you need one, check out Proxyman.

Getting Started

The best way to start using Pulse is with the Getting Started guide. There are many ways to use it and to learn more, see the dedicated docs:

Pulse Pro

Pulse Pro is a professional macOS app that allows you to view logs in real time. The app is designed to be flexible, expansive, and precise while using all the familiar macOS patterns. It makes it easy to navigate large log files with table and text modes, filters, an all-new network inspector, JSON filters, and more.

Minimum Requirements

Pulse Swift Xcode Platforms
Pulse 5.0 Swift 5.10 Xcode 15.4 iOS 15, tvOS 15, watchOS 8, macOS 12, visionOS 1
Pulse 4.0 Swift 5.7 Xcode 14.1 iOS 14, tvOS 15, watchOS 8, macOS 12

License

Pulse is available under the MIT license. See the LICENSE file for more info.

Frequently asked questions

Is Pulse free to use?

Pulse is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Pulse do?

Network logger for Apple platforms

What is Pulse written in?

Pulse is primarily written in Swift. Its source is publicly available at https://github.com/kean/Pulse, and it has 7,217 GitHub stars.