Package com.netflix.servo.monitor

Examples of com.netflix.servo.monitor.BasicCounter


            @Override
            public Long call() throws Exception {
                return QUEUE_SIZE_COUNTER.get();
            }
        });
        QUEUE_OFFER_RETRY_COUNTER = new BasicCounter(MonitorConfig.builder(statsPrefix + "_queue_retry").build());
        EVENT_ENQUEUE_REJECTED_COUNTER = new BasicCounter(MonitorConfig.builder(statsPrefix + "_enqueue_reject").build());

        enqueueStats = newStatsTimer(statsPrefix + "_enqueue", collectionDurationInMillis);
        consumptionStats = newStatsTimer(statsPrefix + "_consumption", collectionDurationInMillis);
        filterStats = newStatsTimer(statsPrefix + "_filter", collectionDurationInMillis);
        try {
View Full Code Here


    public EventBusStats(long collectionDurationInMillis) {
        publishStats = newStatsTimer("eventbus_publish", collectionDurationInMillis);
        conditionalPublishStats = newStatsTimer("eventbus_conditional_publish", collectionDurationInMillis);
        filterStats = newStatsTimer("eventbus_publish_filter_stats", collectionDurationInMillis);
        publishErrors = new BasicCounter(MonitorConfig.builder("eventbus_publish_errors").build());
        conditionalPublishErrors = new BasicCounter(MonitorConfig.builder("eventbus_conditional_publish_errors").build());
        try {
            Monitors.registerObject(this);
        } catch (Throwable th) {
            LOGGER.error("Unable to register to event bus stats to servo.", th);
        }
View Full Code Here

    private static final String TEST_DOMAIN = "testDomain";

    @Test
    public void testStandardMapping() {
        MonitorConfig config = MonitorConfig.builder("testName").withTag("foo", "bar").build();
        ObjectName name = DEFAULT_MAPPER.createObjectName(TEST_DOMAIN, new BasicCounter(config));
        assertEquals(name.getDomain(), TEST_DOMAIN);
        assertEquals(name.getKeyPropertyListString(),
                String.format("name=testName,%s=COUNTER,foo=bar",
                        DataSourceType.KEY));
    }
View Full Code Here

                        DataSourceType.KEY));
    }

    @Test
    public void testMultipleTags() throws MalformedObjectNameException {
        BasicCounter counter = new BasicCounter(
                MonitorConfig.builder("testName")
                        .withTag("bbb", "foo")
                        .withTag("aaa", "bar")
                        .withTag("zzz", "test")
                        .build());
View Full Code Here

    private static final double DELTA = 1e-6;

    @Test
    public void testUpdate() throws Exception {
        BasicCounter basicCounter = new BasicCounter(MonitorConfig.builder("basicCounter").build());
        ManualClock manualClock = new ManualClock(0);
        StepCounter stepCounter = new StepCounter(MonitorConfig.builder("stepCounter").build(),
                manualClock);
        LongGauge gauge = new LongGauge(MonitorConfig.builder("longGauge").build());

        ImmutableList<? extends AbstractMonitor<Number>> monitors = ImmutableList.of(basicCounter,
                stepCounter, gauge);

        MemoryMetricObserver observer = new MemoryMetricObserver("normalization-test", 1);
        NormalizationTransform normalizationTransform = new NormalizationTransform(observer, 60,
                120, TimeUnit.SECONDS, manualClock);
        CounterToRateMetricTransform toRateMetricTransform =
                new CounterToRateMetricTransform(normalizationTransform, 60,
                        120, TimeUnit.SECONDS, manualClock);

        double[] rates = {0.5 / 60.0, 2 / 60.0, 3 / 60.0, 4 / 60.0};
        double[] expectedNormalized = {
                rates[0] * (2.0 / 3.0), // 20000L over stepBoundary
                rates[0] * (1.0 / 3.0) + rates[1] * (2.0 / 3.0),
                rates[1] * (1.0 / 3.0) + rates[2] * (2.0 / 3.0),
                rates[2] * (1.0 / 3.0) + rates[3] * (2.0 / 3.0)};

        for (int i = 1; i < 5; ++i) {
            long now = 20000L + i * 60000L;
            long stepBoundary = i * 60000L;
            manualClock.set(now);
            basicCounter.increment(i);
            stepCounter.increment(i);
            gauge.set((long) i);
            List<Metric> metrics = getValue(monitors, manualClock);
            toRateMetricTransform.update(metrics);

View Full Code Here

        assertEquals(basicCounterVal, (1 / 3.0) * rates[3]);
    }

    @Test
    public void testExpiration() {
        BasicCounter c1 = new BasicCounter(MonitorConfig.builder("c1").build());
        BasicCounter c2 = new BasicCounter(MonitorConfig.builder("c2").build());
        BasicCounter c3 = new BasicCounter(MonitorConfig.builder("c3").build());
        ManualClock manualClock = new ManualClock(0);

        MemoryMetricObserver observer = new MemoryMetricObserver("normalization-test", 1);
        NormalizationTransform normalizationTransform = new NormalizationTransform(observer, 60,
                120, TimeUnit.SECONDS, manualClock);
        CounterToRateMetricTransform toRateMetricTransform =
                new CounterToRateMetricTransform(normalizationTransform, 60,
                        120, TimeUnit.SECONDS, manualClock);

        manualClock.set(30000L);
        c1.increment();
        Metric m1 = new Metric(c1.getConfig(), manualClock.now(), c1.getValue(0));

        toRateMetricTransform.update(ImmutableList.of(m1));
        assertEquals(NormalizationTransform.HEARTBEAT_EXCEEDED.getValue(0).longValue(), 0);
        List<Metric> o = observer.getObservations().get(0);
        assertEquals(o.size(), 1);

        manualClock.set(100000L);
        Metric m2 = new Metric(c2.getConfig(), manualClock.now(), c2.getValue());
        toRateMetricTransform.update(ImmutableList.of(m2));
        assertEquals(NormalizationTransform.HEARTBEAT_EXCEEDED.getValue(0).longValue(), 0);

        manualClock.set(160000L);
        Metric m3 = new Metric(c3.getConfig(), manualClock.now(), c3.getValue());
        toRateMetricTransform.update(ImmutableList.of(m3));
        assertEquals(NormalizationTransform.HEARTBEAT_EXCEEDED.getValue(0).longValue(), 1);

    }
View Full Code Here

    public void testCustomJmxObjectMapper() {
        Properties props = new Properties();
        props.put("com.netflix.servo.DefaultMonitorRegistry.jmxMapperClass",
                "com.netflix.servo.DefaultMonitorRegistryTest$ChangeDomainMapper");
        DefaultMonitorRegistry registry = new DefaultMonitorRegistry(props);
        BasicCounter counter = new BasicCounter(
                new MonitorConfig.Builder("testCustomJmxObjectMapper").build());
        registry.register(counter);
        ObjectName expectedName =
                new ChangeDomainMapper().createObjectName("com.netflix.servo", counter);
        assertEquals(expectedName.getDomain(), "com.netflix.servo.Renamed");
View Full Code Here

    public void testInvalidMapperDefaults() {
        Properties props = new Properties();
        props.put("com.netflix.servo.DefaultMonitorRegistry.jmxMapperClass",
                "com.my.invalid.class");
        DefaultMonitorRegistry registry = new DefaultMonitorRegistry(props);
        BasicCounter counter = new BasicCounter(
                new MonitorConfig.Builder("testInvalidMapperDefaults").build());
        registry.register(counter);
        ObjectName expectedName =
                ObjectNameMapper.DEFAULT.createObjectName("com.netflix.servo", counter);
        assertEquals(expectedName.getDomain(), "com.netflix.servo");
View Full Code Here

            public ConnectionCleanerTask(int connectionIdleTimeout) {
                this.connectionIdleTimeout = connectionIdleTimeout;
                MonitorConfig.Builder monitorConfigBuilder = MonitorConfig.builder("Eureka-Connection-Cleaner-Time");
                executionTimeStats = new BasicTimer(monitorConfigBuilder.build());
                cleanupFailed = new BasicCounter(MonitorConfig.builder("Eureka-Connection-Cleaner-Failure").build());
                try {
                    Monitors.registerObject(this);
                } catch (Exception e) {
                    s_logger.error("Unable to register with servo.", e);
                }
View Full Code Here

    final static ConcurrentMap<String, BasicCounter> map = new ConcurrentHashMap<String, BasicCounter>();
    final Object lock = new Object();

    @Override
    public void increment(String name) {
        BasicCounter counter = getCounter(name);
        counter.increment();
    }
View Full Code Here

TOP

Related Classes of com.netflix.servo.monitor.BasicCounter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.