SHM
Privacy-first, self-hosted telemetry dashboards-Collect usage statistics, verify active instances, and understand user groups without violating privacy. Supports multi-application tracking, dynamic dashboards, and Ed25519 encrypted authentication.
SHM (Self-Hosted Metrics) allows you to collect usage statistics on self-hosted software to understand the number of active instances and feature usage without violating user privacy. ##Core Features - **Ed25519 Encrypt Identity ** -Generates a unique key pair for each instance to prevent data counterfeiting - ** Multi-application support ** -A single SHM server can track multiple software products - ** Dynamic Dashboard ** -Automatically adapts to any JSON data structure you send - ˇ* * Business/system indicator separation ** -Automatically distinguish business KPIs and system resource data ## 1. Access Dashboard Open a browser to access your SHM address (such as `shm.your-domain.com`), and the dashboard will automatically display registered applications and instances. ### 2. integrating the SDK Please refer to the Readme document at github.com/btouchard/shm Integrate the SHM SDK into your self-hosted application and start collecting telemetry data. ####Example of Node.js SDK integration ```bash npm install @btouchard/shm-sdk ``` ```typescript import { SHMClient } from '@btouchard/shm-sdk'; const telemetry = new SHMClient({ serverUrl: 'https://shm.your-domain.com', appName: 'MyApp', appVersion: '1.0.0', environment: 'production', enabled: true, }); //Define business indicators telemetry.setProvider(() => ({ users_active: countActiveUsers(), documents_created: countDocuments(), })); //Start (Returns AbortController) const controller = telemetry.start(); ``` --- ##View data ###Dashboard Interface | regional| description| |------|------| | ** Application list **| All registered apps are displayed on the left| | **KPI Card **| Top shows a summary of business indicators| | ** Example table **| Display detailed information for each instance| | ** Trend Chart **| Visualize indicator change trends| ###Data Description - **Business Metrics**: Business metrics you define through `SetProvider` - **System Metrics**: System information automatically collected by the SDK (CPU, memory, OS, etc.) - **Instance ID**: The unique encrypted identity of each instance



