Skip to main content

Analytics Documentation

This directory contains documentation for the HP TV+ Desktop analytics and telemetry system.

📚 Current Documentation

Primary Reference (Start Here)

HP Jarvis Integration - Complete guide to the current analytics architecture

  • Event processing pipeline
  • HP Jarvis Data Collection SDK integration
  • Configuration and initialization
  • CDM schema compliance (v1.1.0)
  • Action mapping rules and transformations
  • Debug logging and troubleshooting
  • Status: ✅ Active, up-to-date

Architecture & Planning

Architecture Optimization - Future refactoring opportunities

  • Analysis of current single-event vs batch processing overhead
  • Proposed cdmEventBuilder.ts simplification
  • Migration path and benefits/risks
  • Status: 📋 Planning document (deferred optimization)

HP Jarvis SDK Issues - Known SDK limitations and bugs

  • SysSerialNumber not supported in ControlledData.Item enum
  • Issue templates for reporting to HP Jarvis team
  • Workarounds and SDK version tracking
  • Status: 📋 Issue tracker (pending HP contact)

Monitoring & APM

New Relic - Application Performance Monitoring integration

  • Browser monitoring setup
  • Error tracking
  • Performance metrics
  • Status: ✅ Active (separate from HP Jarvis analytics)

️ Quick Navigation

I want to...

Understand the current analytics system → Start with HP Jarvis Integration

Debug analytics eventsHP Jarvis Integration - Debug Logging

Add a new event typeHP Jarvis Integration - Supported Event Types

Understand CDM schema requirementsHP Jarvis Integration - CDM Schema Compliance

Configure analytics for new environmentHP Jarvis Integration - Configuration

Understand action mapping rulesHP Jarvis Integration - Action Mapping Rules

Plan performance optimizationsArchitecture Optimization

Monitor application performanceNew Relic

📊 Analytics Architecture Overview

┌─────────────────────────────────────────────────────────────────────┐
│ Current HP Jarvis Analytics Pipeline │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Renderer (elevate) │
│ ↓ IPC Bridge │
│ Electron Main Handler │
│ ↓ Filter & Sanitize (preDbAdapter) │
│ System Enrichment (__sys) │
│ ↓ CDM Transformation (envelopeBuilder) │
│ C# Bridge (electron-edge-js) │
│ ↓ HP Jarvis SDK │
│ [Batching → Persistence → Consent → Network Transport] │
│ │
└─────────────────────────────────────────────────────────────────────┘

Key Files:

  • elevate/src/providers/analytics/analytics.ts - Renderer provider
  • electron/src/main/handlers/analytics.ts - IPC handlers, config resolution
  • electron/src/main/services/nativeAnalytics.ts - Main orchestration
  • electron/src/main/analytics/adapter/preDbAdapter.ts - Filtering/sanitization
  • electron/src/main/analytics/adapter/envelopeBuilder.ts - CDM transformation
  • native/application/DataCollectionBridge.cs - C# SDK bridge

🔄 Migration

📝 Contributing

When updating analytics documentation:

  1. DO add new content to HP Jarvis Integration
  2. DO keep CDM schema details synchronized
  3. DO update this README if adding new documents
  4. DON'T add SQLite/batch/flush references (legacy architecture removed)

🔗 External References

📧 Questions?

For analytics architecture questions, consult: