Skip to main content

Introduction

License Java React TypeScript Android API


What is Pulse?

A digital experience platform that helps you understand how users are interacting with your platform in real time; combining behavioral, technical and business insights to drive better user experiences.

Key Capabilities

  • Real-time Monitoring: Track user interactions, performance metrics, and system health
  • Distributed Tracing: Follow requests across microservices and distributed systems
  • Mobile Observability: Native SDKs for Android and React Native applications
  • Alerting: Flexible alert management with multiple notification channels
  • Analytics: Advanced analytics powered by ClickHouse for high-performance queries
  • OpenTelemetry Native: Built on OpenTelemetry standards for vendor-neutral observability

Architecture Overview

┌───────────────────────────────────────────────────────────────────────┐
│ Client Applications │
├────────────────────┬──────────────┬──────────────┬────────────────────┤
│ Web (Coming Soon) │ Android │ React Native │ iOS (Coming soon) │
└──────┬─────────────┴──────┬───────┴──────┬───────┴─────────┬──────────┘
│ │ │ │
└────────────────────┴──────────────┴─────────────────┘


┌─────────────────────────┐
│ OTLP (4317/4318) │
│ OpenTelemetry │
│ Collector │
└────────────┬────────────┘

┌────────────┴────────────┐
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ ClickHouse │ │ Pulse Server │
│ (Time-series │◄─────┤ (Java/Vert.x) │
│ Analytics) │ │ │
└──────────────────┘ └────────┬─────────┘


┌──────────────────┐
│ MySQL │
│ (Metadata) │
└──────────────────┘


┌──────────────────┐
│ Pulse UI │
│ (React) │
└──────────────────┘

Project Structure

Pulse is a monorepo containing all components of the observability platform:

  • pulse-ui/ - Monitoring and alerting dashboard
  • backend/ - Java Backend (Vert.x) and Data Ingestion Pipeline
  • pulse-android-otel/ - Android OpenTelemetry SDK
  • pulse-react-native-otel/ - React Native OpenTelemetry SDK
  • deploy/ - Deployment Configuration and Docker Compose setup

Technology Stack

Backend

  • Runtime: Java 17
  • Framework: Vert.x 4.5.10 (Reactive)
  • Databases: MySQL 8.0 (Metadata), ClickHouse (Time-series analytics)
  • Authentication: Google OAuth 2.0, JWT

Frontend

  • Framework: React 18.3
  • Language: TypeScript 4.4
  • UI Library: Mantine UI 7.11
  • State Management: Zustand
  • Data Fetching: TanStack Query (React Query)

Data Ingestion

  • Collector: OpenTelemetry Collector
  • Protocol: OTLP (gRPC/HTTP)
  • Storage: ClickHouse

Mobile SDKs

  • Android: Kotlin, OpenTelemetry Java
  • React Native: TypeScript with native bridges

Getting Started

Ready to get started with Pulse? Follow these quick steps:

  1. Setup Guide - Get Pulse up and running in 5 minutes
  2. Android SDK - Integrate Pulse into your Android app
  3. React Native SDK - Integrate Pulse into your React Native app

Platform Setup:

SDK Integration:

Instrumentation:

Reference:

Next Steps