CloudXR.js Telemetry#

CloudXR.js includes optional anonymous telemetry to collect usage data for enhancing service quality. This telemetry helps NVIDIA improve the CloudXR streaming experience.

Overview#

CloudXR.js collects the following functional events when telemetry is enabled:

Session Lifecycle Events:

  • CXR_LifetimeEvent: Tracks events when a CloudXRSession is created and destroyed.

  • CXR_SessionConfiguration: Gathers session initialization metadata such as resolution used to initialize a CloudXRSession.

  • CXR_SessionState: Monitors changes in the SessionState.

Communication Events:

  • CXR_ClientRequest: Records the action when the client sends a message to server.

  • CXR_ServerResponse: Records the action when the server responds to client requests.

Performance and Diagnostic Events:

  • CXR_ClientMetricEvent: Records performance metrics for CloudXRSession, such as session duration, frame counts, and message statistics.

  • CXR_ExceptionInfo: Records exceptions occurring within a CloudXRSession.

Privacy#

Data is collected exclusively for service improvement purposes and adheres to the following privacy principles:

  • No personal information: Telemetry does not capture any persistent IDs or personal information

  • Anonymous collection: Data is not associated with any specific user or device

  • Opt-out available: Users can disable telemetry at any time through session configuration

Configuration#

You can configure telemetry when creating a CloudXR session:

import * as CloudXR from '@nvidia/cloudxr';

const session = CloudXR.createSession({
  // ... other session options
  telemetry: {
    enabled: true, // Enable telemetry collection (default: true)
    appInfo: {
      product: 'My CloudXR App',
      version: '1.0.0'
    }
  }
});

Telemetry Options#

Option

Type

Description

enabled

Boolean

Enable/disable telemetry collection; default: true

appInfo

Object

Optional application information

appInfo.product

String

Product name (e.g., “MyApp”)

appInfo.version

String

Application version (e.g., “1.0.0”)

Disabling Telemetry#

To opt out of telemetry data collection, set enabled to false:

const session = CloudXR.createSession({
  // ... other session options
  telemetry: {
    enabled: false  // Disable telemetry
  }
});

When telemetry is disabled, no performance data or functional events is collected or transmitted.

Data Usage#

The collected telemetry data is used to:

  • Improve performance: Identify bottlenecks and optimize streaming quality.

  • Enhance reliability: Detect and address common error patterns.

  • Guide development: Understand feature usage to prioritize improvements.

  • Monitor service health: Track overall system performance and availability.

All data is handled in accordance with NVIDIA’s privacy policies and is never shared with third parties for marketing or advertising purposes.

Additional Information#

  • The appInfo configuration can be used to provide context about your application.

  • Using unique product names can help separate metrics across different builds or environments.

  • If telemetry is enabled, consider informing your users in your privacy policy.