Skip to content

feat(telemetry): investigate OpenTelemetry for user metrics and observability #100

@CalvinAllen

Description

@CalvinAllen

Investigate OpenTelemetry integration for collecting user metrics and observability data.

Goals

  • Understand usage patterns (which runtimes, commands, versions are popular)
  • Identify performance bottlenecks in real-world usage
  • Track errors and failure modes to improve reliability
  • Enable data-driven prioritization of features and fixes

Areas to Investigate

Metrics

  • Command usage frequency (install, use, list, reshim, etc.)
  • Runtime provider usage (node, python, future providers)
  • Version distribution (which versions users install/use)
  • Shim invocation latency
  • Error rates by command/operation

Tracing

  • End-to-end timing for install operations (download, extract, configure)
  • Shim resolution path (cache hit/miss, local vs global config)
  • Network request timing (version lists, downloads)

Error Reporting

  • Structured error collection with context
  • Stack traces for unexpected failures
  • Environment info (OS, architecture, dtvem version)

Privacy Considerations

  • Opt-in by default - users must explicitly enable telemetry
  • Transparency - document exactly what is collected
  • No PII - no paths, usernames, or identifiable information
  • Local-first option - ability to export metrics locally without sending anywhere

Implementation Questions

  • Which OpenTelemetry SDK components are needed? (metrics, tracing, logging)
  • What backend would receive the data? (self-hosted, cloud service)
  • How to minimize binary size impact?
  • How to handle offline scenarios?
  • What's the opt-in/opt-out UX? (dtvem config telemetry enable/disable)

Related

References

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions