# Copyright 2026 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os
import sys

from opentelemetry import trace

# Appends third_party/depot_tools/infra_lib so that we can import telemetry.
sys.path.append(
  os.path.join(
    os.path.dirname(__file__),
    os.path.pardir,
    os.path.pardir,
    'third_party',
    'depot_tools',
    'infra_lib',
  )
)

import telemetry

tracer = telemetry.get_tracer(__name__)


def Initialize():
  """Initializes telemetry."""
  telemetry.initialize('chromium.tools.code_coverage')


def RecordMainAttributes(targets, out_dir):
  """Records main attributes to the current span."""
  span = trace.get_current_span()
  if not span.is_recording():
    return

  if targets:
    span.set_attribute('main.targets', str(targets))
  if out_dir:
    span.set_attribute('build.out_dir', out_dir)
