Java 类com.codahale.metrics.MetricFilter 实例源码

项目:jboot    文件:JbootGraphiteReporter.java   
@Override
public void report(MetricRegistry metricRegistry) {

    JbootMetricsGraphiteReporterConfig config = Jboot.config(JbootMetricsGraphiteReporterConfig.class);

    if (StringUtils.isBlank(config.getHost())) {
        throw new NullPointerException("graphite reporter host must not be null, please config jboot.metrics.reporter.graphite.host in you properties.");
    }
    if (config.getPort() == null) {
        throw new NullPointerException("graphite reporter port must not be null, please config jboot.metrics.reporter.graphite.port in you properties.");
    }
    if (config.getPrefixedWith() == null) {
        throw new NullPointerException("graphite reporter prefixedWith must not be null, please config jboot.metrics.reporter.graphite.prefixedWith in you properties.");
    }

    Graphite graphite = new Graphite(new InetSocketAddress(config.getHost(), config.getPort()));

    GraphiteReporter reporter = GraphiteReporter.forRegistry(metricRegistry)
            .prefixedWith(config.getPrefixedWith())
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(MetricFilter.ALL)
            .build(graphite);

    reporter.start(1, TimeUnit.MINUTES);
}
项目:dropwizard-prometheus    文件:PrometheusServlet.java   
@Override
public void init(ServletConfig config) throws ServletException {
    super.init(config);

    final ServletContext context = config.getServletContext();
    if (null == registry) {
        final Object registryAttr = context.getAttribute(METRICS_REGISTRY);
        if (registryAttr instanceof MetricRegistry) {
            this.registry = (MetricRegistry) registryAttr;
        } else {
            throw new ServletException("Couldn't find a MetricRegistry instance.");
        }
    }

    filter = (MetricFilter) context.getAttribute(METRIC_FILTER);
    if (filter == null) {
        filter = MetricFilter.ALL;
    }

    this.allowedOrigin = context.getInitParameter(ALLOWED_ORIGIN);
}
项目:HttpSessionReplacer    文件:RedisSessionRepository.java   
/**
 * This method starts a separate thread that listens to key expirations
 * events.
 *
 * @param sessionManager
 */
@Override
public void setSessionManager(final SessionManager sessionManager) {
  this.sessionManager = sessionManager;
  MetricRegistry metrics = sessionManager.getMetrics();
  if (metrics != null) {
    // Cleanup old metrics related to this namespace
    metrics.removeMatching(new MetricFilter() {
      @Override
      public boolean matches(String name, Metric metric) {
        return name.startsWith(name(RedisConfiguration.METRIC_PREFIX, "redis"));
      }
    });
    if (sticky) {
      failoverMetrics = metrics.meter(name(RedisConfiguration.METRIC_PREFIX, namespace, "redis", "failover"));
    }

    redis.startMonitoring(metrics);
  }
  expirationManager.startExpiredSessionsTask(sessionManager);
}
项目:spelk    文件:ElasticsearchReporter.java   
private ElasticsearchReporter(MetricRegistry registry, MetricFilter filter, TimeUnit rateUnit,
        TimeUnit durationUnit, String host, String port, String indexName, String timestampField) {

    super(registry, "elasticsearch-reporter", filter, rateUnit, durationUnit);

    this.clock = Clock.defaultClock();
    this.connector = new ElasticsearchConnector(host, port, indexName);
    this.timestampField = timestampField;
    this.timestampFormat = new SimpleDateFormat(timeStampString);
    this.localhost = Utils.localHostName();

    jsonFactory = new JsonFactory();

    indexInitialized = connector.addDefaultMappings();
    if (!indexInitialized) {
        LOGGER.warn("Failed to initialize Elasticsearch index '" + indexName + "' on " + host + ":" + port);
    }
}
项目:ibole-microservice    文件:DropwizardMetricRegistry.java   
/**
 * Creates a {@link DropwizardMetricRegistry} with an {@link Slf4jReporter}.  Only non-zero metrics
 * will be logged to the {@link Slf4jReporter}.
 * 
 * @param registry The registry on which to add the reporter.
 * @param logger The {@link Logger} to report to
 * @param period the amount of time between polls
 * @param unit   the unit for {@code period}
 */
public static void createSlf4jReporter(DropwizardMetricRegistry registry, Logger logger,
    long period, TimeUnit unit) {
  MetricFilter nonZeroMatcher =
      new MetricFilter() {
        @Override
        public boolean matches(String name, Metric metric) {
          if (metric instanceof Counting) {
            Counting counter = (Counting) metric;
            return counter.getCount() > 0;
          }
          return true;
        }
      };
  Slf4jReporter.forRegistry(registry.getRegistry())
      .outputTo(logger)
      .convertRatesTo(TimeUnit.SECONDS)
      .convertDurationsTo(TimeUnit.MILLISECONDS)
      .filter(nonZeroMatcher)
      .build()
      .start(period, unit);
}
项目:hawkular-dropwizard-reporter    文件:HawkularReporter.java   
HawkularReporter(MetricRegistry registry,
                 HawkularHttpClient hawkularClient,
                 Optional<String> prefix,
                 MetricsDecomposer decomposer,
                 MetricsTagger tagger,
                 TimeUnit rateUnit,
                 TimeUnit durationUnit,
                 MetricFilter filter) {
    super(registry, "hawkular-reporter", filter, rateUnit, durationUnit);

    this.prefix = prefix;
    this.clock = Clock.defaultClock();
    this.hawkularClient = hawkularClient;
    this.decomposer = decomposer;
    this.tagger = tagger;
}
项目:dropwizard-hadoop-metrics2    文件:HadoopMetrics2Reporter.java   
private HadoopMetrics2Reporter(MetricRegistry registry, TimeUnit rateUnit, TimeUnit durationUnit,
    MetricFilter filter, MetricsSystem metrics2System, String jmxContext, String description,
    String recordName, String context) {
  super(registry, "hadoop-metrics2-reporter", filter, rateUnit, durationUnit);
  this.metrics2Registry = new MetricsRegistry(Interns.info(jmxContext, description));
  this.metrics2System = metrics2System;
  this.recordName = recordName;
  this.context = context;

  // These could really be Collection.emptyMap(), but this makes testing a bit easier.
  this.dropwizardGauges = EMPTY_GAUGE_MAP;
  this.dropwizardCounters = EMPTY_COUNTER_MAP;
  this.dropwizardHistograms = EMPTY_HISTOGRAM_MAP;
  this.dropwizardMeters = EMPTY_METER_MAP;
  this.dropwizardTimers = EMPTY_TIMER_MAP;

  // Register this source with the Metrics2 system.
  // Make sure this is the last thing done as getMetrics() can be called at any time after.
  this.metrics2System.register(Objects.requireNonNull(jmxContext),
      Objects.requireNonNull(description), this);
}
项目:chaperone    文件:Metrics.java   
private static void init() {
  // Init JMX reporter
  reporter = JmxReporter.forRegistry(registry).build();
  reporter.start();
  // Init graphite reporter
  Graphite graphite = getGraphite();
  GraphiteReporter graphiteReporter;
  if (graphite == null) {
    graphiteReporter = null;
  } else {
    graphiteReporter =
        GraphiteReporter.forRegistry(registry).prefixedWith(PREFIX).convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS).filter(MetricFilter.ALL).build(graphite);
    graphiteReporter.start(AuditConfig.GRAPHITE_REPORT_PERIOD_SEC, TimeUnit.SECONDS);
  }
}
项目:metrics-cloudwatch-reporter    文件:CloudWatchReporter.java   
private CloudWatchReporter(MetricRegistry registry,
                           AmazonCloudWatchClient client,
                           String namespace,
                           TimeUnit rateUnit,
                           TimeUnit durationUnit,
                           boolean reportAggregates,
                           MetricFilter filter, Map<String, String> dimensions) {
    super(registry, "cloudwatch-reporter", filter, rateUnit, durationUnit);
    this.client = client;
    this.namespace = namespace;
    this.dimensions = new ArrayList<>();
    this.reportAggregates = reportAggregates;
    for (Map.Entry<String, String> me : dimensions.entrySet()) {
        this.dimensions.add(new Dimension().withName(me.getKey()).withValue(me.getValue()));
    }
}
项目:metrics-kafka    文件:KafkaReporter.java   
private KafkaReporter(MetricRegistry registry, String name,
        TimeUnit rateUnit, TimeUnit durationUnit, boolean showSamples, MetricFilter filter,
        String topic, ProducerConfig config, String prefix,
        String hostName, String ip) {
    super(registry, name, filter, rateUnit, durationUnit);
    this.topic = topic;
    this.config = config;
    this.prefix = prefix;
    this.hostName = hostName;
    this.ip = ip;

    this.mapper = new ObjectMapper().registerModule(new MetricsModule(rateUnit,
               durationUnit,
               showSamples));

    producer = new Producer<String, String>(config);

    kafkaExecutor = Executors
            .newSingleThreadExecutor(new ThreadFactoryBuilder()
                    .setNameFormat("kafka-producer-%d").build());
}
项目:dropwizard-metrics-influxdb    文件:InfluxDbReporterTest.java   
@Test
public void shouldSkipIdleMetrics() throws Exception {
    when(influxDb.hasSeriesData()).thenReturn(true);

    final Meter meter = mock(Meter.class);
    when(meter.getCount()).thenReturn(1L);
    when(meter.getOneMinuteRate()).thenReturn(2.0);
    when(meter.getFiveMinuteRate()).thenReturn(3.0);
    when(meter.getFifteenMinuteRate()).thenReturn(4.0);
    when(meter.getMeanRate()).thenReturn(5.0);

    InfluxDbReporter skippingReporter = InfluxDbReporter
        .forRegistry(registry)
        .convertRatesTo(TimeUnit.SECONDS)
        .convertDurationsTo(TimeUnit.MILLISECONDS)
        .filter(MetricFilter.ALL)
        .withTags(globalTags)
        .skipIdleMetrics(true)
        .build(influxDb);

    skippingReporter.report(this.<Gauge>map(), this.<Counter>map(), this.<Histogram>map(), this.map("meter", meter), this.<Timer>map());
    skippingReporter.report(this.<Gauge>map(), this.<Counter>map(), this.<Histogram>map(), this.map("meter", meter), this.<Timer>map());

    verify(influxDb, times(1)).appendPoints(Mockito.any(InfluxDbPoint.class));
}
项目:SPQR    文件:MetricsReporterFactory.java   
/**
 * Attaches a {@link GraphiteReporter} to provided {@link MetricsHandler}
 * @param metricsHandler
 * @param id
 * @param period
 * @param host
 * @param port
 * @throws RequiredInputMissingException
 */
private static void attachGraphiteReporter(final MetricsHandler metricsHandler, final String id, final int period, final String host, final int port) throws RequiredInputMissingException {

    //////////////////////////////////////////////////////////////////////////
    // validate input
    if(StringUtils.isBlank(id))
        throw new RequiredInputMissingException("Missing required metric reporter id");
    if(metricsHandler == null)
        throw new RequiredInputMissingException("Missing required metrics handler");
    if(StringUtils.isBlank(host))
        throw new RequiredInputMissingException("Missing required graphite host");
    if(port < 0)
        throw new RequiredInputMissingException("Missing required graphite port");
    //////////////////////////////////////////////////////////////////////////

    final Graphite graphite = new Graphite(new InetSocketAddress(host, port));
    final GraphiteReporter reporter = GraphiteReporter.forRegistry(metricsHandler.getRegistry())
            .convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(MetricFilter.ALL)
            .build(graphite);
    reporter.start((period > 0 ? period : 1), TimeUnit.SECONDS);
    metricsHandler.addScheduledReporter(id, reporter);
}
项目:carbon-metrics    文件:ReporterConfig.java   
/**
 * Gets a {@link MetricFilter} that specifically includes and excludes configured metrics. This method needs the
 * existing {@link MetricFilter} used to filter the disabled metrics. The includes and excludes will be checked
 * only for enabled metrics.
 *
 * @param enabledFilter The existing {@link MetricFilter} to filter disabled metrics.
 * @return the filter for selecting metrics based on the configured excludes/includes.
 * @throws ReporterBuildException if the pattern compilation failed for regular expressions.
 */
protected MetricFilter getFilter(MetricFilter enabledFilter) throws ReporterBuildException {
    if (includes.isEmpty() && excludes.isEmpty()) {
        return enabledFilter;
    }

    final StringMatchingStrategy stringMatchingStrategy;

    if (useRegexFilters) {
        stringMatchingStrategy = regexStringMatchingStrategy;
        compileAllRegex(getIncludes());
        compileAllRegex(getExcludes());
    } else {
        stringMatchingStrategy = defaultStringMatchingStrategy;
    }

    return (name, metric) -> {
        // Include the metric if its name is not excluded and its name is included
        // Where, by default, with no includes setting, all names are included.
        return enabledFilter.matches(name, metric) && !stringMatchingStrategy.containsMatch(getExcludes(), name) &&
                (getIncludes().isEmpty() || stringMatchingStrategy.containsMatch(getIncludes(), name));
    };
}
项目:cgif    文件:Global.java   
private void setupGraphiteReporter(Configuration configuration) {
  boolean graphiteEnabled = configuration.getBoolean("graphite.enabled", false);

  if (graphiteEnabled) {
    String   host        = configuration.getString("graphite.host", "localhost");
    int      port        = configuration.getInt("graphite.port", 80);
    String   prefix      = configuration.getString("graphite.prefix", "");
    long     period      = configuration.getLong("graphite.period", 1l);
    TimeUnit periodUnit  = TimeUnit.valueOf(configuration.getString("graphite.periodUnit", "MINUTES"));

    final Graphite graphite = new Graphite(new InetSocketAddress(host, port));
    GraphiteReporter.Builder reportBuilder = GraphiteReporter.forRegistry(metricRegistry)
      .convertRatesTo(TimeUnit.SECONDS)
      .convertDurationsTo(TimeUnit.MILLISECONDS)
      .filter(MetricFilter.ALL);

    if (prefix != null && !prefix.isEmpty()) {
      reportBuilder.prefixedWith(prefix);
    }

    graphiteReporter = reportBuilder.build(graphite);

    graphiteReporter.start(period, periodUnit);
  }
}
项目:dropwizard-metrics-example    文件:ExampleApplication.java   
@Override
public void run(ExampleConfiguration configuration, Environment environment) throws Exception {

    if(configuration.metricsEnabled()) {


        final Graphite graphite = new Graphite(new InetSocketAddress("graphite.example.com", 2003));

        final GraphiteReporter reporter = GraphiteReporter.forRegistry(environment.metrics())
                .prefixedWith("prefix")
                .convertRatesTo(TimeUnit.SECONDS)
                .convertDurationsTo(TimeUnit.MILLISECONDS)
                .filter(MetricFilter.ALL)
                .build(graphite);
        reporter.start(5, TimeUnit.SECONDS);

        final ConsoleReporter consoleReporter = ConsoleReporter.forRegistry(environment.metrics()).build();
        consoleReporter.start(5, TimeUnit.SECONDS);
    }

    final ExampleResource exampleResource = new ExampleResource(environment.metrics());
    environment.jersey().register(exampleResource);
}
项目:carbon-metrics    文件:JmxReporterConfig.java   
/**
 * Build the JMX Reporter
 *
 * @param metricRegistry The {@link MetricRegistry} for the reporter
 * @param metricFilter   The {@link MetricFilter} for the reporter
 * @return an {@link Optional} with {@link JmxReporter}, if the reporter is built successfully, otherwise an empty
 * {@code Optional}
 * @throws ReporterBuildException when there was a failure in constructing the reporter
 */
@Override
public Optional<JmxReporter> build(MetricRegistry metricRegistry, MetricFilter metricFilter)
        throws ReporterBuildException {
    if (!isEnabled()) {
        return Optional.empty();
    }
    if (domain == null || domain.trim().isEmpty()) {
        throw new ReporterBuildException("Domain is not specified for JMX Reporting.");
    }

    if (logger.isInfoEnabled()) {
        logger.info(String.format("Creating JMX reporter for Metrics with domain '%s'", domain));
    }

    return Optional.of(new JmxReporter(getName(), metricRegistry, getFilter(metricFilter), domain));
}
项目:carbon-metrics    文件:JdbcReporterTest.java   
@BeforeMethod
private void setUp() throws Exception {
    when(clock.getTime()).thenReturn(19910191000L);

    this.reporter = JdbcReporter.forRegistry(registry).convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.NANOSECONDS).withClock(clock).filter(MetricFilter.ALL)
            .build(SOURCE, dataSource);

    transactionTemplate.execute(status -> {
        template.execute("DELETE FROM METRIC_GAUGE;");
        template.execute("DELETE FROM METRIC_TIMER;");
        template.execute("DELETE FROM METRIC_METER;");
        template.execute("DELETE FROM METRIC_HISTOGRAM;");
        template.execute("DELETE FROM METRIC_COUNTER;");
        return null;
    });
}
项目:carbon-metrics    文件:Slf4jReporterConfig.java   
/**
 * Build the SLF4J Reporter
 *
 * @param metricRegistry The {@link MetricRegistry} for the reporter
 * @param metricFilter   The {@link MetricFilter} for the reporter
 * @return an {@link Optional} with {@link Slf4jReporter}, if the reporter is built successfully, otherwise an empty
 * {@code Optional}
 * @throws ReporterBuildException when there was a failure in constructing the reporter
 */
@Override
public Optional<Slf4jReporter> build(MetricRegistry metricRegistry, MetricFilter metricFilter)
        throws ReporterBuildException {
    if (!isEnabled()) {
        return Optional.empty();
    }
    if (loggerName == null || loggerName.trim().isEmpty()) {
        throw new ReporterBuildException("Logger Name is not specified for SLF4J Reporting.");
    }

    if (logger.isInfoEnabled()) {
        logger.info(String.format(
                "Creating SLF4J reporter for Metrics with logger name '%s' and %d seconds polling period",
                loggerName, getPollingPeriod()));
    }

    return Optional.of(new Slf4jReporter(getName(), metricRegistry, getFilter(metricFilter), loggerName, markerName,
            getPollingPeriod()));
}
项目:JInsight    文件:ApptuitReporterFactory.java   
public MetricFilter getFilter() {
  final StringMatchingStrategy stringMatchingStrategy = getUseRegexFilters()
      ? REGEX_STRING_MATCHING_STRATEGY : DEFAULT_STRING_MATCHING_STRATEGY;

  return (name, metric) -> {
    // Include the metric if its name is not excluded and its name is included
    // Where, by default, with no includes setting, all names are included.
    return !stringMatchingStrategy.containsMatch(getExcludes(), name)
        && (getIncludes().isEmpty() || stringMatchingStrategy.containsMatch(getIncludes(), name));
  };
}
项目:JInsight    文件:ApptuitReporter.java   
protected ApptuitReporter(MetricRegistry registry, MetricFilter filter, TimeUnit rateUnit,
    TimeUnit durationUnit, Map<String, String> globalTags, String key, URL apiUrl,
    ReportingMode reportingMode) {
  super(registry, REPORTER_NAME, filter, rateUnit, durationUnit);

  this.buildReportTimer = registry.timer("apptuit.reporter.report.build");
  this.sendReportTimer = registry.timer("apptuit.reporter.report.send");

  if (reportingMode == null) {
    reportingMode = DEFAULT_REPORTING_MODE;
  }

  switch (reportingMode) {
    case NO_OP:
      this.dataPointsReporter = dataPoints -> {
      };
      break;
    case SYS_OUT:
      this.dataPointsReporter = dataPoints -> {
        dataPoints.forEach(dp -> dp.toTextLine(System.out, globalTags));
      };
      break;
    case API_PUT:
    default:
      ApptuitPutClient putClient = new ApptuitPutClient(key, globalTags, apiUrl);
      this.dataPointsReporter = putClient::put;
      break;
  }
}
项目:dropwizard-influxdb-reporter    文件:InfluxDbMeasurementReporter.java   
public InfluxDbMeasurementReporter(final Sender sender,
                                   final MetricRegistry registry,
                                   final MetricFilter filter,
                                   final TimeUnit rateUnit,
                                   final TimeUnit durationUnit,
                                   final Clock clock,
                                   final DropwizardTransformer transformer,
                                   final ScheduledExecutorService executor) {
  super(registry, "influxdb-measurement-reporter", filter, rateUnit, durationUnit, executor);
  this.clock = clock;
  this.sender = sender;
  this.transformer = transformer;
}
项目:dropwizard-influxdb-reporter    文件:InfluxDbMeasurementReporter.java   
public InfluxDbMeasurementReporter(final Sender sender,
                                   final MetricRegistry registry,
                                   final MetricFilter filter,
                                   final TimeUnit rateUnit,
                                   final TimeUnit durationUnit,
                                   final Clock clock,
                                   final DropwizardTransformer transformer) {
  super(registry, "influxdb-measurement-reporter", filter, rateUnit, durationUnit);
  this.clock = clock;
  this.sender = sender;
  this.transformer = transformer;
}
项目:oneops    文件:ElasticsearchReporter.java   
private Builder(MetricRegistry registry) {
    this.registry = registry;
    this.clock = Clock.defaultClock();
    this.prefix = null;
    this.rateUnit = TimeUnit.SECONDS;
    this.durationUnit = TimeUnit.MILLISECONDS;
    this.filter = MetricFilter.ALL;
}
项目:oneops    文件:ElasticsearchReporter.java   
public ElasticsearchReporter(MetricRegistry registry, String[] hosts, int timeout,
                             String index, String indexDateFormat, int bulkSize, Clock clock, String prefix, TimeUnit rateUnit, TimeUnit durationUnit,
                             MetricFilter filter, MetricFilter percolationFilter, Notifier percolationNotifier, String timestampFieldname,Map<String,String> context) throws MalformedURLException {
    super(registry, "elasticsearch-reporter", filter, rateUnit, durationUnit);
    this.hosts = hosts;
    this.index = index;
    this.bulkSize = bulkSize;
    this.clock = clock;
    this.prefix = prefix;
    this.timeout = timeout;
    if (indexDateFormat != null && indexDateFormat.length() > 0) {
        this.indexDateFormat = new SimpleDateFormat(indexDateFormat);
    }
    if (percolationNotifier != null && percolationFilter != null) {
        this.percolationFilter = percolationFilter;
        this.notifier = percolationNotifier;
    }
    if (timestampFieldname == null || timestampFieldname.trim().length() == 0) {
        LOGGER.error("Timestampfieldname {} is not valid, using default @timestamp", timestampFieldname);
        timestampFieldname = "@timestamp";
    }

    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    objectMapper.configure(SerializationFeature.CLOSE_CLOSEABLE, false);
    // auto closing means, that the objectmapper is closing after the first write call, which does not work for bulk requests
    objectMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_JSON_CONTENT, false);
    objectMapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);

    objectMapper.registerModule(new MetricsElasticsearchModule(rateUnit, durationUnit, timestampFieldname));
    writer = objectMapper.writer();
    checkForIndexTemplate();
}
项目:QDrill    文件:DrillMetrics.java   
public static void resetMetrics(){
  RegistryHolder.REGISTRY.removeMatching(new MetricFilter(){
    @Override
    public boolean matches(String name, Metric metric) {
      return true;
    }});
  RegistryHolder.registerSysStats();
}
项目:QDrill    文件:PooledByteBufAllocatorL.java   
private synchronized void removeOldMetrics() {
  registry.removeMatching(new MetricFilter() {
    @Override
    public boolean matches(String name, Metric metric) {
      return name.startsWith("drill.allocator.");
    }
  });
}
项目:Lagerta    文件:IgniteNodeOverloadReporter.java   
/** */
private IgniteNodeOverloadReporter(MetricRegistry registry, TimeUnit rateUnit, TimeUnit durationUnit,
    MetricFilter filter, long latencyThreshold, double quantile, Ignite ignite
) {
    super(registry, "ignite-overload-reporter", filter, rateUnit, durationUnit);
    this.latencyThreshold = latencyThreshold;
    this.quantile = quantile;
    this.ignite = ignite;
}
项目:Lagerta    文件:IgniteNodeOverloadReporter.java   
/** */
private Builder(MetricRegistry registry) {
    this.registry = registry;
    this.rateUnit = TimeUnit.SECONDS;
    this.durationUnit = TimeUnit.MILLISECONDS;
    this.filter = MetricFilter.ALL;
}
项目:Lagerta    文件:HumanReadableCsvReporter.java   
private Builder(MetricRegistry registry) {
    this.registry = registry;
    this.locale = Locale.getDefault();
    this.rateUnit = TimeUnit.SECONDS;
    this.durationUnit = TimeUnit.MILLISECONDS;
    this.clock = Clock.defaultClock();
    this.filter = MetricFilter.ALL;
}
项目:Lagerta    文件:HumanReadableCsvReporter.java   
/** */
private HumanReadableCsvReporter(MetricRegistry registry, File directory, Locale locale, TimeUnit rateUnit,
    TimeUnit durationUnit, Clock clock, MetricFilter filter) {
    super(registry, "human-readable-csv-reporter", filter, rateUnit, durationUnit);
    this.directory = directory;
    this.locale = locale;
    this.clock = clock;
}
项目:flux-capacitor-client    文件:GraphiteReporter.java   
public GraphiteReporter(String host, int port, String fluxCapacitorUrl) {
    super(fluxCapacitorUrl);
    this.metrics = new MetricRegistry();
    this.reporter = com.codahale.metrics.graphite.GraphiteReporter.forRegistry(metrics)
            .prefixedWith("fluxCapacitorClient")
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(MetricFilter.ALL)
            .build(new Graphite(new InetSocketAddress(host, port)));
}
项目:dropwizard-prometheus    文件:PrometheusReporter.java   
private Builder(MetricRegistry registry) {
    this.registry = registry;
    this.prefix = null;
    this.filter = MetricFilter.ALL;
    this.executor = null;
    this.shutdownExecutorOnStop = true;
}
项目:athena    文件:MetricsWebResource.java   
/**
 * Gets stats information of a metric. Returns array of all information for the
 * specified metric.
 *
 * @param metricName metric name
 * @return 200 OK with metric information as array
 * @onos.rsModel Metric
 */
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("{metricName}")
public Response getMetricByName(@PathParam("metricName") String metricName) {
    ObjectNode metricNode = root.putObject("metric");
    MetricFilter filter = metricName != null ? (name, metric) -> name.equals(metricName) : MetricFilter.ALL;
    TreeMultimap<String, Metric> matched = listMetrics(service, filter);

    matched.asMap().get(metricName).forEach(m -> {
        metricNode.set(metricName, codec(Metric.class).encode(m, this));
    });

    return ok(root).build();
}
项目:athena    文件:MetricsListCommand.java   
@Override
protected void execute() {
    MetricsService metricsService = get(MetricsService.class);

    MetricFilter filter = metricName != null ? (name, metric) -> name.equals(metricName) : MetricFilter.ALL;

    TreeMultimap<String, Metric> matched = listMetrics(metricsService, filter);
    matched.asMap().forEach((name, metrics) -> {
        if (outputJson()) {
            metrics.forEach(metric -> print("%s", json(metric)));
        } else {
            metrics.forEach(metric -> printMetric(name, metric));
        }
    });
}
项目:waggle-dance    文件:MonitoringConfiguration.java   
private GraphiteReporter.Builder graphiteReporterBuilder() {
  return GraphiteReporter
      .forRegistry(metricRegistry)
      .convertRatesTo(TimeUnit.SECONDS)
      .convertDurationsTo(TimeUnit.MILLISECONDS)
      .filter(MetricFilter.ALL)
      .prefixedWith(graphiteConfiguration.getPrefix());
}
项目:dremio-oss    文件:Metrics.java   
public static void resetMetrics(){
  RegistryHolder.REGISTRY.removeMatching(new MetricFilter(){
    @Override
    public boolean matches(String name, Metric metric) {
      return true;
    }});
  RegistryHolder.registerSysStats();
}
项目:verify-matching-service-adapter    文件:GraphiteReporterIntegrationTest.java   
@Test
public void shouldBeAbleToCreateAGraphiteReporter() throws Exception {
    final Graphite graphite = new Graphite(new InetSocketAddress("graphite.example.com", 2003));
    final MetricRegistry registry = new MetricRegistry();
    final GraphiteReporter reporter = GraphiteReporter
            .forRegistry(registry)
            .prefixedWith("web1.example.com")
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(MetricFilter.ALL)
            .build(graphite);
    reporter.start(1, TimeUnit.MINUTES);
}
项目:Mastering-Mesos    文件:SingularityGraphiteReporterManaged.java   
@Override
public void start() throws Exception {
  if (!graphiteConfiguration.isEnabled()) {
    LOG.info("Not reporting data points to graphite.");
    return;
  }

  final String prefix = buildGraphitePrefix();

  LOG.info("Reporting data points to graphite server {}:{} every {} seconds with prefix '{}' and predicates '{}'.", graphiteConfiguration.getHostname(),
      graphiteConfiguration.getPort(), graphiteConfiguration.getPeriodSeconds(), prefix, JavaUtils.COMMA_JOINER.join(graphiteConfiguration.getPredicates()));

  final Graphite graphite = new Graphite(new InetSocketAddress(graphiteConfiguration.getHostname(), graphiteConfiguration.getPort()));

  final GraphiteReporter.Builder reporterBuilder = GraphiteReporter.forRegistry(registry);

  if (!Strings.isNullOrEmpty(prefix)) {
    reporterBuilder.prefixedWith(prefix);
  }

  if (!graphiteConfiguration.getPredicates().isEmpty()) {
    reporterBuilder.filter(new MetricFilter() {
      @Override
      public boolean matches(String name, Metric metric) {
        for (String predicate : graphiteConfiguration.getPredicates()) {
          if (name.startsWith(predicate)) {
            return true;
          }
        }
        return false;
      }
    });
  }

  reporter = Optional.of(reporterBuilder.build(graphite));
  reporter.get().start(graphiteConfiguration.getPeriodSeconds(), TimeUnit.SECONDS);
}
项目:HttpSessionReplacer    文件:TestRedisSessionRepository.java   
@Test
public void testSetMetrics() {
  RedisFacade facade = mock(RedisFacade.class);
  SessionManager sm = mock(SessionManager.class);
  MetricRegistry metrics = spy(new MetricRegistry());
  when(sm.getMetrics()).thenReturn(metrics);
  metrics.meter("com.amadeus.session.myapp.redis.sample");
  try (RedisSessionRepository rsr = new RedisSessionRepository(facade, "myapp", "localhost", ExpirationStrategy.NOTIF, false)) {
    rsr.setSessionManager(sm);
    verify(metrics).removeMatching(any(MetricFilter.class));
    verify(metrics, never()).meter("com.amadeus.session.myapp.redis.failover");
  }
}
项目:codahale-aggregated-metrics-cloudwatch-reporter    文件:Main.java   
ReportingApp() {
    this.metricRegistry = new MetricRegistry();
    this.theTimer = metricRegistry.timer("TheTimer");

    final AmazonCloudWatchAsync amazonCloudWatchAsync =
            AmazonCloudWatchAsyncClientBuilder
                    .standard()
                    .withRegion(Regions.US_WEST_2)
                    .build();

    final CloudWatchReporter cloudWatchReporter =
            CloudWatchReporter.forRegistry(metricRegistry, amazonCloudWatchAsync, Main.class.getName())
                    .convertRatesTo(TimeUnit.SECONDS)
                    .convertDurationsTo(TimeUnit.MILLISECONDS)
                    .filter(MetricFilter.ALL)
                    .withPercentiles(Percentile.P75, Percentile.P99)
                    .withOneMinuteMeanRate()
                    .withFiveMinuteMeanRate()
                    .withFifteenMinuteMeanRate()
                    .withMeanRate()
                    .withArithmeticMean()
                    .withStdDev()
                    .withStatisticSet()
                    .withJvmMetrics()
                    .withGlobalDimensions("Region=us-west-2", "Instance=stage")
                    .withDryRun()
                    .build();

    cloudWatchReporter.start(10, TimeUnit.SECONDS);
}