class OpenTelemetry::Provider::Configuration

Overview

This class encapsulates the configuration for a TraceProvider.

Defined in:

provider/configuration.cr
provider/configuration/factory.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(service_name : String = "", service_version : String = "", schema_url : String = "", exporter : Exporter | Nil = nil, sampler : Sampler = Sampler::AlwaysOn.new, id_generator : IdGenerator = IdGenerator.new("unique")) #

def self.new(service_name : String = "", service_version : String = "", schema_url : String = "", exporter : Exporter | Nil = nil, sampler : Sampler = Sampler::AlwaysOn.new, id_generator : String = "unique") #

Class Method Detail

def self.default_exporter_instance #

def self.default_sampler_instance #

The Sampler code all feels kind of bodgey. It should be revisited, though maybe that will come naturally when all of the SDK code is surgically separated from the API code.


def self.default_schema_url #

def self.default_service_name #

def self.default_service_version #

def self.default_traces_exporter #

def self.default_traces_sampler #

def self.default_traces_sampler_arg #

def self.get_sampler_class_from_name(name) #

def self.get_sampler_instance_from_class_and_arg(klass, arg = nil) #

Instance Method Detail

def exporter : Exporter | Nil #

def exporter=(exporter : Exporter | Nil) #

def finalize #

Ensure that any resources, like fibers, are shut down when a TracerProvider object is collected.


def id_generator : IdGenerator #

def id_generator=(id_generator : IdGenerator) #

def sampler : Sampler #

def sampler=(sampler : Sampler) #

def schema_url : String #

def schema_url=(schema_url : String) #

def service_name : String #

def service_name=(service_name : String) #

def service_version : String #

def service_version=(service_version : String) #