MCPcopy Index your code
hub / github.com/dream-horizon-org/pulse

github.com/dream-horizon-org/pulse @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
21,193 symbols 101,429 edges 4,212 files 2,097 documented · 10% updated 25d ago★ 433 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Pulse - Observability Platform

Open-source observability platform for mobile and web applications.


📚 Documentation

Component-specific documentation is available in each service directory:


🎯 Key Features

  • ✅ Complete authentication system with Google OAuth
  • ✅ Multi-tenant architecture with project hierarchy
  • ✅ OpenFGA-based authorization (RBAC)
  • ✅ Per-project ClickHouse data isolation
  • ✅ Real-time observability dashboards
  • ✅ Mobile SDK instrumentation (Android, iOS & React Native)
  • ✅ 7 new REST API endpoints
  • ✅ Comprehensive documentation

Status: 100% Complete - Ready for Deployment


🏗️ Project Structure

pulse/
├── backend/
│   ├── server/              # Java/Vert.x REST API
│   ├── pulse-alerts-cron/   # Alert evaluation service
│   └── ingestion/           # OTEL collector & ClickHouse schema
├── pulse-ui/                # React dashboard
├── pulse-android-otel/      # Android SDK
|── pulse-ios-otel/          # iOS SDK
├── pulse-react-native-otel/ # React Native SDK
├── pulse_ai/                # AI agent (Google ADK)
├── deploy/                  # Docker Compose & scripts
└── README.md                # This file

🚀 Quick Commands

Backend Server

cd backend/server
mvn clean install
mvn exec:java

Run Migrations

mvn flyway:migrate

Deploy OpenFGA

docker run -d --name openfga -p 8080:8080 openfga/openfga:latest run

📋 Prerequisites

  • Java 11+
  • Maven 3.6+
  • MySQL 8.0+
  • ClickHouse 22.0+
  • Docker (for OpenFGA)

📞 Support

For questions or issues, refer to the component-specific README files listed above.


📄 License

Apache 2.0 - See LICENSE for details.

Extension points exported contracts — how you extend this code

AnalyticsBatchService (Interface)
Service for triggering analytics batch jobs. [6 implementers]
backend/server/src/main/java/org/dreamhorizon/pulseserver/service/analytics/AnalyticsBatchService.java
PulseInstrumentation (Interface)
(no doc) [24 implementers]
pulse-web-otel/src/types/instrumentation-registry.ts
CurrentNetworkProvider (Interface)
* A provider of [CurrentNetwork] information. Registers itself in the Android ConnectivityManager * and listens for net [1 …
pulse-android-otel/services/src/main/java/io/opentelemetry/android/internal/services/network/CurrentNetworkProvider.kt
PulseSignalData (Interface)
* Common interface for Pulse telemetry data types. * Implemented by [PulseSpanData], * [PulseLogRecordData], and * [P
pulse-android-otel/pulse-android-api/src/main/java/com/pulse/android/api/otel/models/PulseSignalData.kt
OpenTelemetryRum (Interface)
* Entrypoint for the OpenTelemetry Real User Monitoring library for Android. */
pulse-android-otel/core/src/main/java/io/opentelemetry/android/OpenTelemetryRum.kt
JankReporter (Interface)
* Responsible for sending telemetry. This is a temporary class that we can remove * after the jank semconv becomes more
pulse-android-otel/instrumentation/slowrendering/src/main/java/io/opentelemetry/android/instrumentation/slowrendering/JankReporter.kt
SessionReplayApiService (Interface)
* Retrofit API for session replay snapshot uploads. */
pulse-android-otel/pulse-session-replay/remote/src/main/java/com/pulse/android/sdk/replay/remote/SessionReplayApiService.kt
SystemTime (Interface)
* Utility to be able to mock the current system time for testing purposes. * * This class is internal and not for p
pulse-android-otel/common/src/main/java/io/opentelemetry/android/common/internal/tools/time/SystemTime.kt

Core symbols most depended-on inside this repo

builder
called by 3266
pulse-android-otel/core/src/main/java/io/opentelemetry/android/OpenTelemetryRum.kt
build
called by 3128
backend/server/src/main/java/org/dreamhorizon/pulseserver/model/QueryConfiguration.java
any
called by 2618
backend/server/src/main/java/org/dreamhorizon/pulseserver/util/CollectionUtils.java
of
called by 2579
backend/server/src/main/java/org/dreamhorizon/pulseserver/rest/Error.java
contains
called by 1801
pulse-android-otel/instrumentation/interaction/core/src/main/java/com/pulse/android/core/InteractionUtil.kt
map
called by 1792
backend/server/src/main/java/org/dreamhorizon/pulseserver/util/MapUtils.java
get
called by 1789
backend/server/src/main/java/org/dreamhorizon/pulseserver/service/productAnalysis/funnel/FunnelService.java
verify
called by 1193
backend/server/src/main/java/org/dreamhorizon/pulseserver/util/encryption/EncryptionUtil.java

Shape

Method 12,345
Function 3,813
Class 3,667
Interface 1,248
Enum 110
Route 10

Languages

Java55%
TypeScript24%
Kotlin16%
Python4%
Rust1%
Ruby1%

Modules by API surface

backend/server/src/test/java/org/dreamhorizon/pulseserver/service/alert/core/AlertEvaluationServiceTest.java235 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/resources/alert/models/AlertModelsTest.java174 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/service/OpenFgaServiceTest.java140 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/dao/AlertsDaoTest.java136 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/service/analytics/ClickHouseFunnelComputeDaoTest.java127 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/resources/alert/v1/AlertControllersV1Test.java124 symbols
pulse-ui/src/mocks/MockResponseGenerator.ts114 symbols
pulse-ui/src/mocks/MockDataStore.ts107 symbols
pulse-android-otel/pulse-sampling/core/src/test/java/com/pulse/sampling/core/PulseSamplingSignalProcessorsTest.kt105 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/service/notification/NotificationServiceImplTest.java99 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/errorgrouping/service/ErrorGroupingServiceTest.java97 symbols
backend/server/src/test/java/org/dreamhorizon/pulseserver/service/AuthServiceTest.java93 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add pulse \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact