private void emitTieredStat( final ServiceEmitter emitter, final String metricName, final String tier, final double value ) { emitter.emit( new ServiceMetricEvent.Builder() .setDimension(DruidMetrics.TIER, tier) .build(metricName, value) ); }
void emit(ServiceEmitter emitter, Map<String, String[]> dimensions) { final ServiceMetricEvent.Builder builder = builder(); MonitorUtils.addDimensionsToBuilder(builder, dimensions); builder.setDimension("gcGenSpaceName", name); emitter.emit(builder.build("jvm/gc/mem/max", maxCounter.getLong())); emitter.emit(builder.build("jvm/gc/mem/capacity", capacityCounter.getLong())); emitter.emit(builder.build("jvm/gc/mem/used", usedCounter.getLong())); emitter.emit(builder.build("jvm/gc/mem/init", initCounter.getLong())); } }
@Override public boolean doMonitor(ServiceEmitter emitter) { final ServiceMetricEvent.Builder builder = new ServiceMetricEvent.Builder(); MonitorUtils.addDimensionsToBuilder( builder, dimensions ); emitter.emit(builder.build("jetty/numOpenConnections", activeConnections.get())); return true; } }
private ServiceMetricEvent.Builder createEventBuilder(String serviceName) { ServiceMetricEvent.Builder builder = ServiceMetricEvent.builder() .setDimension("serviceName", serviceName); MonitorUtils.addDimensionsToBuilder(builder, dimensions); return builder; } }
public void emit() { if (emitter == null) { throw new UnsupportedOperationException("Emitter is null, cannot emit."); } emitter.emit(this); } }
@Override protected void finalize() throws Throwable { if (!emitted) { logIt("Alert not emitted, emitting. %s: %s"); super.emit(); } }
protected void setDimension(String dimension, String value) { checkModifiedFromOwnerThread(); builder.setDimension(dimension, value); }
public static Builder builder() { return new Builder(); }
public static AlertBuilder create(String descriptionFormat, Object... objects) { return AlertBuilder.createEmittable(null, descriptionFormat, objects); }
@Override public ServiceMetricEvent build(ImmutableMap<String, String> serviceDimensions) { return new ServiceMetricEvent( createdTime, serviceDimensions, userDims, feed, metric, value ); } };
public X build(String service, String host) { return build(ImmutableMap.of("service", service, "host", host)); } }
@Override public AlertEvent build(ImmutableMap<String, String> serviceDimensions) { return new AlertEvent(DateTimes.nowUtc(), serviceDimensions, severity, description, dataMap); }
private void emitTimeCounterMetrics(ServiceEmitter emitter, ConcurrentTimeCounter timeCounter, String metricNameBase) { long timeSumAndCount = timeCounter.getTimeSumAndCountAndReset(); emitter.emit(builder.build(metricNameBase + "timeMsSum", ConcurrentTimeCounter.timeSum(timeSumAndCount))); emitter.emit(builder.build(metricNameBase + "count", ConcurrentTimeCounter.count(timeSumAndCount))); emitter.emit(builder.build(metricNameBase + "maxTimeMs", timeCounter.getAndResetMaxTime())); emitter.emit(builder.build(metricNameBase + "minTimeMs", timeCounter.getAndResetMinTime())); }
@Override public void log(final RequestLogLine requestLogLine) throws IOException { emitter.emit(new RequestLogEventBuilder(feed, requestLogLine)); }
@Override public void emit() { logIt("%s: %s"); emitted = true; super.emit(); }