/** * Decrement the gauge by {@code amount}. * * @param amount Amount to subtract from the gauge. */ void decrement(double amount);
@Override public void execute(Context context) { BMap bStruct = (BMap) context.getRefArgument(0); float amount = (float) context.getFloatArgument(0); Gauge gauge = (Gauge) bStruct.getNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY); gauge.decrement(amount); } }
@Override public void execute(Context context) { BStruct gaugeStruct = (BStruct) context.getRefArgument(0); String name = gaugeStruct.getStringField(0); String description = gaugeStruct.getStringField(1); BMap tagsMap = (BMap) gaugeStruct.getRefField(0); if (!tagsMap.isEmpty()) { List<Tag> tags = new ArrayList<>(); for (Object key : tagsMap.keySet()) { tags.add(new Tag(key.toString(), tagsMap.get(key).stringValue())); } Gauge.builder(name).description(description).tags(tags).register().decrement(); } else { Gauge.builder(name).description(description).register().decrement(); } } }
@Override public void execute(Context context) { BStruct gaugeStruct = (BStruct) context.getRefArgument(0); String name = gaugeStruct.getStringField(0); String description = gaugeStruct.getStringField(1); BMap tagsMap = (BMap) gaugeStruct.getRefField(0); float amount = (float) context.getFloatArgument(0); if (!tagsMap.isEmpty()) { List<Tag> tags = new ArrayList<>(); for (Object key : tagsMap.keySet()) { tags.add(new Tag(key.toString(), tagsMap.get(key).stringValue())); } Gauge.builder(name).description(description).tags(tags).register().decrement(amount); } else { Gauge.builder(name).description(description).register().decrement(amount); } } }
Long startTime = (Long) observerContext.getProperty(PROPERTY_START_TIME); long duration = System.nanoTime() - startTime; getInprogressGauge(connectorName, mainTagSet).decrement(); metricRegistry.gauge(new MetricId(connectorName + "_response_time_seconds", "Response Time", allTags), responseTimeStatisticConfigs).setValue(duration / 1E9);