fix: remove Snowplow LS startup tracking in favour of OpenTelemetry

Description

Remove the Snowplow Language Server startup tracking now that OpenTelemetry (OTel) is in place and data is flowing to the GitLab observability dashboard (introduced in !3207 (merged)).

Changes:

  • Remove Snowplow imports and #trackStartupTelemetry method from LanguageServerStartupMonitor
  • Extract histogram recording into a focused #recordStartupMetrics helper (OTel spans and histogram remain unchanged)
  • Drop the now-unused telemetryEnvironment constructor parameter from LanguageServerStartupMonitor
  • Update all callers and tests accordingly

All metrics/attributes previously tracked via Snowplow are already covered by the OTel implementation:

  • ls.startup span attributes: status, failed_phase, spawn_duration_ms, handshake_duration_ms, total_duration_ms, restart_attempts
  • ls.startup.duration histogram: status, failed_phase

Resolves #2290 (closed)

How has this been tested?

  • Reviewed that all OTel span attributes and histogram metrics cover the same data as the removed Snowplow payload

  • Updated unit tests to remove Snowplow mock and related assertions; all existing phase-transition and timeout tests remain intact

  • If src/browser or src/common has been modified, please consider interoperability with the Web IDE.

  • Consider an end-to-end test for significant new features that are not covered by integration tests.

Screenshots (if appropriate)

N/A

What CHANGELOG entry will this MR create?

  • fix: Bug fix - included in changelog
  • feature: New feature - included in changelog
  • BREAKING CHANGE: - should bump major version
  • None - other non-user-facing changes

Merge request reports

Loading
Loading