@Override public void afterRunProgram(boolean service) { if (service) { Gauge gauge = Gauge.builder("startup_time_milliseconds") .description("Startup time in milliseconds").register(); RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); gauge.setValue(System.currentTimeMillis() - runtimeMXBean.getStartTime()); } } }
/** * Decrement the gauge by {@code amount}. * * @param amount Amount to subtract from the gauge. */ void decrement(double amount);
/** * Increment the gauge by {@code amount}. * * @param amount Amount to add to the gauge. */ void increment(double 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().increment(); } else { Gauge.builder(name).description(description).register().increment(); } } }
@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(); } } }
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); metricRegistry.counter(new MetricId(connectorName + "_requests_total", "Total number of requests", allTags)).increment();
@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 value = (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().set(value); } else { Gauge.builder(name).description(description).register().set(value); } } }
@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())); } context.setReturnValues(new BFloat(Gauge.builder(name).description(description).tags(tags).register() .get())); } else { context.setReturnValues(new BFloat(Gauge.builder(name).description(description).register().get())); } } }
BValueArray summaryConfigs = (BValueArray) bStruct. get(ObserveNativeImplConstants.STATISTICS_CONFIG_FIELD); Gauge.Builder gaugeBuilder = Gauge.builder(bStruct.get(ObserveNativeImplConstants.NAME_FIELD).stringValue()) .description(bStruct.get(ObserveNativeImplConstants.DESCRIPTION_FIELD).stringValue()) .tags(Utils.toStringMap((BMap) bStruct.get(ObserveNativeImplConstants.TAGS_FIELD)));
@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.setValue(amount); } }
} else if (metric instanceof Gauge) { Gauge gauge = (Gauge) metric; metricValue = new BFloat(gauge.getValue()); metricType = MetricConstants.GAUGE; summary = Utils.createBSnapshots(gauge.getSnapshots(), context); } else if (metric instanceof PolledGauge) { PolledGauge gauge = (PolledGauge) metric;
@Override public void execute(Context context) { BMap bStruct = (BMap) context.getRefArgument(0); Gauge gauge = (Gauge) bStruct.getNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY); Gauge registeredCounter = gauge.register(); bStruct.addNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY, registeredCounter); } }
@Override public void execute(Context context) { BMap bStruct = (BMap) context.getRefArgument(0); Gauge gauge = (Gauge) bStruct.getNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY); context.setReturnValues(new BFloat(gauge.getValue())); } }
@Override public void execute(Context context) { BMap bStruct = (BMap) context.getRefArgument(0); Gauge gauge = (Gauge) bStruct.getNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY); Snapshot[] snapshots = gauge.getSnapshots(); BValueArray bSnapshots = Utils.createBSnapshots(snapshots, context); context.setReturnValues(bSnapshots); }
BMap bGauge = BLangVMStructs.createBStruct(gaugeStructInfo, metricId.getName(), metricId.getDescription(), getTags(metricId), Utils.createBStatisticConfig(gauge.getStatisticsConfig(), context)); bGauge.addNativeData(METRIC_NATIVE_INSTANCE_KEY, metric); context.setReturnValues(bGauge);
@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().increment(amount); } else { Gauge.builder(name).description(description).register().increment(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); 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); } } }
private void startObservation(ObserverContext observerContext, String[] mainTags) { observerContext.addProperty(PROPERTY_START_TIME, System.nanoTime()); String connectorName = observerContext.getConnectorName(); Set<Tag> mainTagSet = new HashSet<>(mainTags.length); try { // Tags are validated (both key and value should not be null) Tags.tags(mainTagSet, mainTags); getInprogressGauge(connectorName, mainTagSet).increment(); } catch (RuntimeException e) { handleError(connectorName, mainTagSet, e); } }
@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) { BMap bStruct = (BMap) context.getRefArgument(0); float amount = (float) context.getFloatArgument(0); Gauge gauge = (Gauge) bStruct.getNativeData(ObserveNativeImplConstants.METRIC_NATIVE_INSTANCE_KEY); gauge.increment(amount); } }