27 lines
631 B
Ruby
27 lines
631 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Released under the MIT License.
|
|
# Copyright, 2021-2025, by Samuel Williams.
|
|
|
|
require_relative 'config'
|
|
|
|
module Traces
|
|
# The backend implementation is responsible for recording and reporting traces.
|
|
module Backend
|
|
end
|
|
|
|
# This is a default implementation, which can be replaced by the backend.
|
|
# @returns [Object] The current trace context.
|
|
def self.trace_context
|
|
nil
|
|
end
|
|
|
|
# This is a default implementation, which can be replaced by the backend.
|
|
# @returns [Boolean] Whether there is an active trace.
|
|
def self.active?
|
|
!!self.trace_context
|
|
end
|
|
|
|
Config::DEFAULT.require_backend
|
|
end
|