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.tssimplification - 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 events → HP Jarvis Integration - Debug Logging
Add a new event type → HP Jarvis Integration - Supported Event Types
Understand CDM schema requirements → HP Jarvis Integration - CDM Schema Compliance
Configure analytics for new environment → HP Jarvis Integration - Configuration
Understand action mapping rules → HP Jarvis Integration - Action Mapping Rules
Plan performance optimizations → Architecture Optimization
Monitor application performance → New 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 providerelectron/src/main/handlers/analytics.ts- IPC handlers, config resolutionelectron/src/main/services/nativeAnalytics.ts- Main orchestrationelectron/src/main/analytics/adapter/preDbAdapter.ts- Filtering/sanitizationelectron/src/main/analytics/adapter/envelopeBuilder.ts- CDM transformationnative/application/DataCollectionBridge.cs- C# SDK bridge
🔄 Migration
📝 Contributing
When updating analytics documentation:
- ✅ DO add new content to HP Jarvis Integration
- ✅ DO keep CDM schema details synchronized
- ✅ DO update this README if adding new documents
- ❌ DON'T add SQLite/batch/flush references (legacy architecture removed)
🔗 External References
- HP Jarvis Data Collection SDK - v3.13.1.710
- CDM Schema Specification - v1.1.0 (internal HP resource)
- electron-edge-js - Node.js ↔ .NET bridge
📧 Questions?
For analytics architecture questions, consult:
- HP Jarvis Integration documentation
- Code comments in
electron/src/main/services/nativeAnalytics.ts - PR discussion
- Branch:
feat/HPCH-659-jarvis-data-collection