All Projects → kean → Pulse

kean / Pulse

Network Inspector for Apple Platforms

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Pulse

Cocoadebug
iOS Debugging Tool 🚀
Stars: ✭ 3,769 (+348.16%)
Mutual labels:  networking, network-analysis, logger
Ios Sdk
AppSpector is a debugging service for mobile apps
Stars: ✭ 56 (-93.34%)
Mutual labels:  network-analysis, logger
Habu
Hacking Toolkit
Stars: ✭ 635 (-24.49%)
Mutual labels:  networking, network-analysis
Sst Elements
SST Architectural Simulation Components and Libraries
Stars: ✭ 36 (-95.72%)
Mutual labels:  networking, network-analysis
Poseidon
Poseidon is a python-based application that leverages software defined networks (SDN) to acquire and then feed network traffic to a number of machine learning techniques. The machine learning algorithms classify and predict the type of device.
Stars: ✭ 310 (-63.14%)
Mutual labels:  networking, network-analysis
Suzieq
A framework and application for network observability
Stars: ✭ 266 (-68.37%)
Mutual labels:  networking, network-analysis
Network Threats Taxonomy
Machine Learning based Intrusion Detection Systems are difficult to evaluate due to a shortage of datasets representing accurately network traffic and their associated threats. In this project we attempt at solving this problem by presenting two taxonomies
Stars: ✭ 79 (-90.61%)
Mutual labels:  networking, network-analysis
Pig
A Linux packet crafting tool.
Stars: ✭ 384 (-54.34%)
Mutual labels:  networking, network-analysis
Bmon
bandwidth monitor and rate estimator
Stars: ✭ 787 (-6.42%)
Mutual labels:  networking, network-analysis
Eylogviewer
A simple viewer to see your app's logs on your iDevice in realtime.
Stars: ✭ 16 (-98.1%)
Mutual labels:  logger
Pavlos
A light-weight container runtime for Linux with NVIDIA gpu support, allows developers to quicky setup development environments for dev and test. Pavlos can emulate any Linux rootfs image as a container.
Stars: ✭ 22 (-97.38%)
Mutual labels:  networking
Zltoolkit
一个基于C++11的轻量级网络框架,基于线程池技术可以实现大并发网络IO
Stars: ✭ 838 (-0.36%)
Mutual labels:  logger
Gleri
Network protocol, service, and API for using OpenGL remotely.
Stars: ✭ 16 (-98.1%)
Mutual labels:  networking
Thoth
An Error Logger for Go
Stars: ✭ 22 (-97.38%)
Mutual labels:  logger
P2p
Practice project to demonstrate p2p file sharing.
Stars: ✭ 16 (-98.1%)
Mutual labels:  networking
Znetcs.aspnetcore.logging.entityframeworkcore
This is Entity Framework Core logger and logger provider. A small package to allow store logs in any data store using Entity Framework Core.
Stars: ✭ 24 (-97.15%)
Mutual labels:  logger
Snoopy
Snoopy is a small library that logs all program executions on your Linux/BSD system (a.k.a. Snoopy Logger).
Stars: ✭ 835 (-0.71%)
Mutual labels:  logger
Nexer
Content based network multiplexer or redirector made with love and Go
Stars: ✭ 7 (-99.17%)
Mutual labels:  networking
Protobuf Swift
Google ProtocolBuffers for Apple Swift
Stars: ✭ 925 (+9.99%)
Mutual labels:  networking
Diffios
Cisco IOS diff tool
Stars: ✭ 23 (-97.27%)
Mutual labels:  networking

Pulse Logo

Pulse is a powerful logging system. Record and inspect network requests and logs right from your iOS app using Pulse Console. Share and view logs in Pulse macOS app. Logs are recorded locally and never leave your device.





promo-4-2


promo-5


promo-1


promo-2


promo-3


About

Pulse is not a tool, it's a framework. It records events from URLSession or from frameworks that use it, such as Alamofire, and displays them using PulseUI views that you integrate directly into your app.

Pulse is not a network debugging proxy tool like Proxyman, Charles, or Wireshark. It won't automatically intercept all network traffic coming from your app or device.

Pulse is integrated directly into your app and is always recording (when your code tells it to). 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. That's powerful.


Installation

Pulse is available only for GitHub sponsors. Once the number of sponsors reaches a certain level, the project will become available to everyone.

The access to the private project manifest is provided manually, there might be a bit of a delay before you get access after sponsoring.

Pulse is distributed using Swift Package Manager as a binary framework. It is built using SwiftUI and includes no resources to ensure its tiny size. The thinned .ipa with Pulse included takes <640 KB. You can simply leave it in your app store builds. And because it's a binary framework, it doesn't increase your compile time.

Please follow the Installation Guide.


Usage: Pulse

The primary class in Pulse is PersistentLogHandler which can be used as a logging backend for SwiftLog.

Bootstrapping

LoggingSystem.bootstrap(PersistentLogHandler.init)

If you are not using SwiftLog in your project, you can use Pulse.PersistentLogHandler directly without the need for bootstrapping.

Logging

Use SwiftLog as usual to start logging messages.

let logger = Logger(label: "com.yourcompany.yourapp")

/// ...

logger.info("This message will be stored persistently")

Logging Network Request

Pulse supports logging URLSession tasks and offers a simple Alamofire integration.

For more information, please follow the dedicated guide.

Storage

All logged messages are stored persistently using Core Data, including metadata and other information. You get full access to all of the recorded messages at any time using LoggerMessageStore.

let messages = try LoggerStore.default.allMessages()

// NSPersistentContainer
let container = LoggerStore.default.container

Usage: PulseUI

PulseUI framework provides all of the views that you saw on the screenshots.

Use MainView (or MainViewController for convenient UIKit integration) to display the root view with tabs. Use ConsoleView, NetworkView, and PinView to display individual tabs.

let view = MainView()

Pulse views are built using SwiftUI and require iOS 13. But even if your app requires iOS 11, no need to worry. Pulse can still be easily integrated into your project. The framework itself requires iOS 11 and Pulse views can be easily added conditionally on iOS 13+. To show Pulse from UIKit, use convenience MainViewController class.


Pulse macOS App

Pulse macOS Alpha is now available as early access. Requires Big Sur.

Demo store is attached to the latest release.


Status

Project Status
Pulse Beta
PulseUI (iOS) Beta
PulseUI (watchOS) Alpha
Pulse (macOS app) Alpha
tvOS support Upcoming

Minimum Requirements

Pulse Swift Xcode Platforms
Pulse 0.10.0 Swift 5.3 Xcode 12.0 iOS 11.0 (views iOS 13.0) / watchOS 6.0 (views watchOS 7.0) / macOS 11.0
Pulse 0.9.2 Swift 5.3 Xcode 12.0 iOS 11.0 (views requires iOS 13)
Pulse 0.9.0 Swift 5.3 Xcode 12.0 iOS 13.0 (Upcoming conditional iOS 11+ and other platforms)
Pulse 0.3 Swift 5.2 Xcode 11.3 iOS 11.0 / watchOS 4.0 / macOS 10.13 / tvOS 11.0

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].