Search in sources :

Example 1 with IgnoredTypesMatcher

use of io.opentelemetry.javaagent.tooling.ignore.IgnoredTypesMatcher in project opentelemetry-java-instrumentation by open-telemetry.

the class AgentInstaller method configureIgnoredTypes.

private static AgentBuilder configureIgnoredTypes(Config config, AgentBuilder agentBuilder) {
    IgnoredTypesBuilderImpl builder = new IgnoredTypesBuilderImpl();
    for (IgnoredTypesConfigurer configurer : loadOrdered(IgnoredTypesConfigurer.class)) {
        configurer.configure(config, builder);
    }
    Trie<Boolean> ignoredTasksTrie = builder.buildIgnoredTasksTrie();
    InstrumentedTaskClasses.setIgnoredTaskClassesPredicate(ignoredTasksTrie::contains);
    return agentBuilder.ignore(any(), new IgnoredClassLoadersMatcher(builder.buildIgnoredClassLoadersTrie())).or(new IgnoredTypesMatcher(builder.buildIgnoredTypesTrie())).or((typeDescription, classLoader, module, classBeingRedefined, protectionDomain) -> {
        return HelperInjector.isInjectedClass(classLoader, typeDescription.getName());
    });
}
Also used : IgnoredClassLoadersMatcher(io.opentelemetry.javaagent.tooling.ignore.IgnoredClassLoadersMatcher) IgnoredTypesMatcher(io.opentelemetry.javaagent.tooling.ignore.IgnoredTypesMatcher) IgnoredTypesConfigurer(io.opentelemetry.javaagent.extension.ignore.IgnoredTypesConfigurer) IgnoredTypesBuilderImpl(io.opentelemetry.javaagent.tooling.ignore.IgnoredTypesBuilderImpl)

Aggregations

IgnoredTypesConfigurer (io.opentelemetry.javaagent.extension.ignore.IgnoredTypesConfigurer)1 IgnoredClassLoadersMatcher (io.opentelemetry.javaagent.tooling.ignore.IgnoredClassLoadersMatcher)1 IgnoredTypesBuilderImpl (io.opentelemetry.javaagent.tooling.ignore.IgnoredTypesBuilderImpl)1 IgnoredTypesMatcher (io.opentelemetry.javaagent.tooling.ignore.IgnoredTypesMatcher)1