Search in sources :

Example 1 with MonitorConfig

use of com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig in project pinpoint by naver.

the class AgentStatMonitorTest method testAgentStatMonitor.

@Test
public void testAgentStatMonitor() throws InterruptedException {
    // Given
    final long collectionIntervalMs = 1000 * 1;
    final int numCollectionsPerBatch = 2;
    final int minNumBatchToTest = 2;
    final long totalTestDurationMs = collectionIntervalMs + collectionIntervalMs * numCollectionsPerBatch * minNumBatchToTest;
    // profilerConfig.getProfileJvmStatCollectIntervalMs(), profilerConfig.getProfileJvmStatBatchSendCount()
    MonitorConfig mockProfilerConfig = Mockito.mock(MonitorConfig.class);
    Mockito.when(mockProfilerConfig.getProfileJvmStatCollectIntervalMs()).thenReturn((int) collectionIntervalMs);
    Mockito.when(mockProfilerConfig.getProfileJvmStatBatchSendCount()).thenReturn(numCollectionsPerBatch);
    // When
    AgentStatMonitor monitor = new DefaultAgentStatMonitor(this.dataSender, "agentId", System.currentTimeMillis(), agentStatCollector, null, null, mockProfilerConfig);
    monitor.start();
    Thread.sleep(totalTestDurationMs);
    monitor.stop();
    // Then
    assertTrue(tBaseRecorder.size() >= minNumBatchToTest);
    for (AgentStatMetricSnapshotBatch agentStatBatch : tBaseRecorder) {
        logger.debug("agentStatBatch:{}", agentStatBatch);
        assertTrue(agentStatBatch.getAgentStats().size() <= numCollectionsPerBatch);
    }
}
Also used : DefaultAgentStatMonitor(com.navercorp.pinpoint.profiler.monitor.DefaultAgentStatMonitor) DefaultAgentStatMonitor(com.navercorp.pinpoint.profiler.monitor.DefaultAgentStatMonitor) AgentStatMonitor(com.navercorp.pinpoint.profiler.monitor.AgentStatMonitor) AgentStatMetricSnapshotBatch(com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshotBatch) MonitorConfig(com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig) Test(org.junit.Test)

Example 2 with MonitorConfig

use of com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig 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

MonitorConfig (com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig)2 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 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 AgentStatMonitor (com.navercorp.pinpoint.profiler.monitor.AgentStatMonitor)1 DefaultAgentStatMonitor (com.navercorp.pinpoint.profiler.monitor.DefaultAgentStatMonitor)1 AgentStatMetricSnapshotBatch (com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshotBatch)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