Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
#ifndef GECKO_TRACE_H
#define GECKO_TRACE_H
#include "mozilla/Logging.h"
namespace mozilla::gecko_trace {
/**
* @brief Propagates the log level from the Mozilla logging system to the
* OpenTelemetry internal logging system.
*/
void SetOpenTelemetryInternalLogLevel(mozilla::LogLevel aLogLevel);
/**
* @brief Initializes the GeckoTrace component.
*
* Sets up the OpenTelemetry tracer provider and span processors based on
* environment variables. Ensures the component is initialized only once,
* logging a warning on redundant calls.
*
* The following environment variables control tracing behavior:
* - `GECKO_TRACE_EXPORT_SPANS_TO_STDOUT`: If set, exports spans to standard
* output for debugging purposes.
*
* @note Thread-safe and idempotent.
*/
void Init();
}; // namespace mozilla::gecko_trace
#endif // !GECKO_TRACE_H