@Override public String filterCharacters(String input) { return replaceInvalidChars(input); } };
if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedCounters.length)) { logDumpSizeWouldExceedLimit("Counters", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedMeters.length)) { logDumpSizeWouldExceedLimit("Meters", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedGauges.length)) { logDumpSizeWouldExceedLimit("Gauges", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedHistograms.length)) { logDumpSizeWouldExceedLimit("Histograms", hasExceededBefore); hasExceededBefore = true;
MetricDumpSerialization.MetricSerializationResult dump = serializer.serialize(counters, gauges, histograms, meters); dump = enforceSizeLimit(dump); getSender().tell(dump, getSelf()); } else { LOG.warn("MetricQueryServiceActor received an invalid message. " + message.toString()); getSender().tell(new Status.Failure(new IOException("MetricQueryServiceActor received an invalid message. " + message.toString())), getSelf());
/** * Requests a metric dump from the given actor. * * @param actor ActorRef to request the dump from */ private void queryMetrics(ActorRef actor) { Future<Object> metricQueryFuture = new BasicGateway(actor).ask(MetricQueryService.getCreateDump(), timeout); metricQueryFuture .onSuccess(new OnSuccess<Object>() { @Override public void onSuccess(Object result) throws Throwable { addMetrics(result); } }, ctx); logErrorOnFailure(metricQueryFuture, "Fetching metrics failed."); }
/** * Initializes the MetricQueryService. * * @param actorSystem ActorSystem to create the MetricQueryService on * @param resourceID resource ID used to disambiguate the actor name */ public void startQueryService(ActorSystem actorSystem, ResourceID resourceID) { synchronized (lock) { Preconditions.checkState(!isShutdown(), "The metric registry has already been shut down."); try { queryService = MetricQueryService.startMetricQueryService(actorSystem, resourceID); } catch (Exception e) { LOG.warn("Could not start MetricDumpActor. No metrics will be submitted to the WebInterface.", e); } } }
MetricQueryService.notifyOfRemovedMetric(queryService, metric);
MetricQueryService.notifyOfAddedMetric(queryService, metric, metricName, group);
MetricDumpSerialization.MetricSerializationResult dump = serializer.serialize(counters, gauges, histograms, meters); dump = enforceSizeLimit(dump); getSender().tell(dump, getSelf()); } else { LOG.warn("MetricQueryServiceActor received an invalid message. " + message.toString()); getSender().tell(new Status.Failure(new IOException("MetricQueryServiceActor received an invalid message. " + message.toString())), getSelf());
@Override public CompletableFuture<MetricDumpSerialization.MetricSerializationResult> queryMetrics(Time timeout) { return FutureUtils.toJava( Patterns.ask(queryServiceActorRef, MetricQueryService.getCreateDump(), timeout.toMilliseconds()) .mapTo(ClassTag$.MODULE$.apply(MetricDumpSerialization.MetricSerializationResult.class)) ); }
/** * Initializes the MetricQueryService. * * @param actorSystem ActorSystem to create the MetricQueryService on * @param resourceID resource ID used to disambiguate the actor name */ public void startQueryService(ActorSystem actorSystem, ResourceID resourceID) { synchronized (lock) { Preconditions.checkState(!isShutdown(), "The metric registry has already been shut down."); try { queryService = MetricQueryService.startMetricQueryService(actorSystem, resourceID, maximumFramesize); metricQueryServicePath = AkkaUtils.getAkkaURL(actorSystem, queryService); } catch (Exception e) { LOG.warn("Could not start MetricDumpActor. No metrics will be submitted to the WebInterface.", e); } } }
MetricQueryService.notifyOfRemovedMetric(queryService, metric);
MetricQueryService.notifyOfAddedMetric(queryService, metric, metricName, group);
@Override public String filterCharacters(String input) { return replaceInvalidChars(input); } };
@Override public CompletableFuture<MetricDumpSerialization.MetricSerializationResult> queryMetrics(Time timeout) { return FutureUtils.toJava( Patterns.ask(queryServiceActorRef, MetricQueryService.getCreateDump(), timeout.toMilliseconds()) .mapTo(ClassTag$.MODULE$.apply(MetricDumpSerialization.MetricSerializationResult.class)) ); }
/** * Initializes the MetricQueryService. * * @param actorSystem ActorSystem to create the MetricQueryService on * @param resourceID resource ID used to disambiguate the actor name */ public void startQueryService(ActorSystem actorSystem, ResourceID resourceID) { synchronized (lock) { Preconditions.checkState(!isShutdown(), "The metric registry has already been shut down."); try { queryService = MetricQueryService.startMetricQueryService(actorSystem, resourceID); metricQueryServicePath = AkkaUtils.getAkkaURL(actorSystem, queryService); } catch (Exception e) { LOG.warn("Could not start MetricDumpActor. No metrics will be submitted to the WebInterface.", e); } } }
MetricQueryService.notifyOfRemovedMetric(queryService, metric);
MetricQueryService.notifyOfAddedMetric(queryService, metric, metricName, group);
if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedCounters.length)) { logDumpSizeWouldExceedLimit("Counters", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedMeters.length)) { logDumpSizeWouldExceedLimit("Meters", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedGauges.length)) { logDumpSizeWouldExceedLimit("Gauges", hasExceededBefore); hasExceededBefore = true; if (exceedsMessageSizeLimit(currentLength + serializationResult.serializedHistograms.length)) { logDumpSizeWouldExceedLimit("Histograms", hasExceededBefore); hasExceededBefore = true;