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.

For more details on telemetry, refer to the documentation included in the Early Access Program artifacts on NGC. Refer to CloudXR.js User Guide to join the program.