Search in sources :

Example 1 with InstrumentConfig

use of com.navercorp.pinpoint.profiler.instrument.config.InstrumentConfig in project pinpoint by naver.

the class ConfigModule method configure.

@Override
protected void configure() {
    logger.info("configure {}", this.getClass().getSimpleName());
    binder().requireExplicitBindings();
    binder().requireAtInjectOnConstructors();
    binder().disableCircularProxies();
    ProfilerConfig profilerConfig = agentOption.getProfilerConfig();
    bind(ProfilerConfig.class).toInstance(profilerConfig);
    Properties properties = profilerConfig.getProperties();
    ConfigurationLoader configurationLoader = new ConfigurationLoader(properties);
    ContextConfig contextConfig = new DefaultContextConfig();
    configurationLoader.load(contextConfig);
    logger.info("{}", contextConfig);
    bind(ContextConfig.class).toInstance(contextConfig);
    bindConstants(contextConfig);
    PluginLoadingConfig pluginLoadingConfig = new DefaultPluginLoadingConfig();
    configurationLoader.load(pluginLoadingConfig);
    logger.info("{}", pluginLoadingConfig);
    bind(PluginLoadingConfig.class).toInstance(pluginLoadingConfig);
    InstrumentConfig instrumentConfig = new DefaultInstrumentConfig();
    configurationLoader.load(instrumentConfig);
    logger.info("{}", instrumentConfig);
    bind(InstrumentConfig.class).toInstance(instrumentConfig);
    InstrumentMatcherCacheConfig instrumentMatcherCacheConfig = new DefaultInstrumentMatcherCacheConfig();
    configurationLoader.load(instrumentMatcherCacheConfig);
    logger.info("{}", instrumentMatcherCacheConfig);
    bind(InstrumentMatcherCacheConfig.class).toInstance(instrumentMatcherCacheConfig);
    MonitorConfig monitorConfig = new DefaultMonitorConfig();
    configurationLoader.load(monitorConfig);
    logger.info("{}", monitorConfig);
    bind(MonitorConfig.class).toInstance(monitorConfig);
    bind(TransportModule.class).toInstance(profilerConfig.getTransportModule());
    bind(Instrumentation.class).toInstance(agentOption.getInstrumentation());
    bind(InterceptorRegistryBinder.class).toProvider(InterceptorRegistryBinderProvider.class).in(Scopes.SINGLETON);
    TypeLiteral<List<String>> pluginJarFile = new TypeLiteral<List<String>>() {
    };
    bind(pluginJarFile).annotatedWith(PluginJarPaths.class).toInstance(agentOption.getPluginJars());
    TypeLiteral<List<PluginJar>> pluginJars = new TypeLiteral<List<PluginJar>>() {
    };
    bind(pluginJars).annotatedWith(PluginJars.class).toProvider(PluginJarsProvider.class).in(Scopes.SINGLETON);
    bindBootstrapCoreInformation();
    bindAgentInformation(agentOption.getAgentId(), agentOption.getAgentName(), agentOption.getApplicationName(), agentOption.isContainer());
    bindShutdownHook(contextConfig);
}
Also used : PluginJarPaths(com.navercorp.pinpoint.profiler.context.module.PluginJarPaths) TransportModule(com.navercorp.pinpoint.bootstrap.config.TransportModule) ProfilerConfig(com.navercorp.pinpoint.bootstrap.config.ProfilerConfig) InterceptorRegistryBinderProvider(com.navercorp.pinpoint.profiler.context.provider.InterceptorRegistryBinderProvider) Instrumentation(java.lang.instrument.Instrumentation) DefaultInstrumentMatcherCacheConfig(com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentMatcherCacheConfig) DefaultMonitorConfig(com.navercorp.pinpoint.profiler.context.monitor.config.DefaultMonitorConfig) Properties(java.util.Properties) DefaultPluginLoadingConfig(com.navercorp.pinpoint.profiler.plugin.config.DefaultPluginLoadingConfig) PluginLoadingConfig(com.navercorp.pinpoint.profiler.plugin.config.PluginLoadingConfig) ContextConfig(com.navercorp.pinpoint.profiler.context.config.ContextConfig) DefaultContextConfig(com.navercorp.pinpoint.profiler.context.config.DefaultContextConfig) DefaultInstrumentMatcherCacheConfig(com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentMatcherCacheConfig) InstrumentMatcherCacheConfig(com.navercorp.pinpoint.profiler.instrument.config.InstrumentMatcherCacheConfig) PluginJar(com.navercorp.pinpoint.profiler.plugin.PluginJar) TypeLiteral(com.google.inject.TypeLiteral) PluginJarsProvider(com.navercorp.pinpoint.profiler.context.provider.plugin.PluginJarsProvider) InstrumentConfig(com.navercorp.pinpoint.profiler.instrument.config.InstrumentConfig) DefaultInstrumentConfig(com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentConfig) DefaultPluginLoadingConfig(com.navercorp.pinpoint.profiler.plugin.config.DefaultPluginLoadingConfig) List(java.util.List) DefaultContextConfig(com.navercorp.pinpoint.profiler.context.config.DefaultContextConfig) DefaultInstrumentConfig(com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentConfig) MonitorConfig(com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig) DefaultMonitorConfig(com.navercorp.pinpoint.profiler.context.monitor.config.DefaultMonitorConfig)

Aggregations

TypeLiteral (com.google.inject.TypeLiteral)1 ProfilerConfig (com.navercorp.pinpoint.bootstrap.config.ProfilerConfig)1 TransportModule (com.navercorp.pinpoint.bootstrap.config.TransportModule)1 ContextConfig (com.navercorp.pinpoint.profiler.context.config.ContextConfig)1 DefaultContextConfig (com.navercorp.pinpoint.profiler.context.config.DefaultContextConfig)1 PluginJarPaths (com.navercorp.pinpoint.profiler.context.module.PluginJarPaths)1 DefaultMonitorConfig (com.navercorp.pinpoint.profiler.context.monitor.config.DefaultMonitorConfig)1 MonitorConfig (com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig)1 InterceptorRegistryBinderProvider (com.navercorp.pinpoint.profiler.context.provider.InterceptorRegistryBinderProvider)1 PluginJarsProvider (com.navercorp.pinpoint.profiler.context.provider.plugin.PluginJarsProvider)1 DefaultInstrumentConfig (com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentConfig)1 DefaultInstrumentMatcherCacheConfig (com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentMatcherCacheConfig)1 InstrumentConfig (com.navercorp.pinpoint.profiler.instrument.config.InstrumentConfig)1 InstrumentMatcherCacheConfig (com.navercorp.pinpoint.profiler.instrument.config.InstrumentMatcherCacheConfig)1 PluginJar (com.navercorp.pinpoint.profiler.plugin.PluginJar)1 DefaultPluginLoadingConfig (com.navercorp.pinpoint.profiler.plugin.config.DefaultPluginLoadingConfig)1 PluginLoadingConfig (com.navercorp.pinpoint.profiler.plugin.config.PluginLoadingConfig)1 Instrumentation (java.lang.instrument.Instrumentation)1 List (java.util.List)1 Properties (java.util.Properties)1