Every tracing backend on loader's classpath, found through META-INF/services.
Every tracing backend on loader's classpath, found through META-INF/services.
'''This never throws, and one broken jar cannot take out the others.''' ServiceLoader's iterator throws ServiceConfigurationError for an entry it cannot load, and a backend compiled against another llm4s throws a LinkageError that scala.util.Try does not catch. Each step is guarded and a failure is recorded in TracingBackends.failures instead - the same contract as ProviderRegistry.discover.
The scan runs each time it is called; Tracing.create calls it once per tracer built, which is once per application in practice.
Value parameters
loader
the class loader to scan; defaults to the thread's context class loader, falling back to this class's own loader.