mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
remove confusing type and dimensions labeling methods
This commit is contained in:
@@ -51,7 +51,7 @@ public class AmqpAdapterMetrics {
|
|||||||
|
|
||||||
public AmqpAdapterMetrics(final AmqpBaseOpDispenser amqpBaseOpDispenser, final NBLabeledElement labeledParent) {
|
public AmqpAdapterMetrics(final AmqpBaseOpDispenser amqpBaseOpDispenser, final NBLabeledElement labeledParent) {
|
||||||
this.amqpBaseOpDispenser = amqpBaseOpDispenser;
|
this.amqpBaseOpDispenser = amqpBaseOpDispenser;
|
||||||
labels=labeledParent.getLabels().andTypes("name", AmqpAdapterMetrics.class.getSimpleName());
|
labels=labeledParent.getLabels().and("name", AmqpAdapterMetrics.class.getSimpleName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initS4JAdapterInstrumentation() {
|
public void initS4JAdapterInstrumentation() {
|
||||||
|
|||||||
@@ -71,13 +71,13 @@ public class NamingFolio {
|
|||||||
* by name, type, table, keyspace. For now it just returns everything in fully qualified form.
|
* by name, type, table, keyspace. For now it just returns everything in fully qualified form.
|
||||||
*/
|
*/
|
||||||
public String nameFor(NBLabeledElement labeled, String... fields) {
|
public String nameFor(NBLabeledElement labeled, String... fields) {
|
||||||
NBLabels labelsPlus = labeled.getLabels().andTypes(fields);
|
NBLabels labelsPlus = labeled.getLabels().and(fields);
|
||||||
String name = namer.apply(labelsPlus.asMap());
|
String name = namer.apply(labelsPlus.asMap());
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String nameFor(NBLabeledElement labeled, Map<String,String> fields) {
|
public String nameFor(NBLabeledElement labeled, Map<String,String> fields) {
|
||||||
NBLabels labelsPlus = labeled.getLabels().andTypes(fields);
|
NBLabels labelsPlus = labeled.getLabels().and(fields);
|
||||||
String name = namer.apply(labelsPlus.asMap());
|
String name = namer.apply(labelsPlus.asMap());
|
||||||
return name;
|
return name;
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,6 @@ public class CqlTableColumn extends CqlColumnBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBLabels getLabels() {
|
public NBLabels getLabels() {
|
||||||
return super.getLabels().andTypes("table", table.getName());
|
return super.getLabels().and("table", table.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,6 @@ public class CqlTypeColumn extends CqlColumnBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBLabels getLabels() {
|
public NBLabels getLabels() {
|
||||||
return super.getLabels().andTypes("name", this.type.getName());
|
return super.getLabels().and("name", this.type.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,6 +171,6 @@ public class DiagTask_gauge extends BaseDiagTask implements Gauge<Double> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBLabels getLabels() {
|
public NBLabels getLabels() {
|
||||||
return super.getLabels().andTypes("stat",this.stat.toString());
|
return super.getLabels().and("stat",this.stat.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class KafkaAdapterMetrics {
|
|||||||
|
|
||||||
public KafkaAdapterMetrics(final KafkaBaseOpDispenser kafkaBaseOpDispenser, final NBLabeledElement labeledParent) {
|
public KafkaAdapterMetrics(final KafkaBaseOpDispenser kafkaBaseOpDispenser, final NBLabeledElement labeledParent) {
|
||||||
this.kafkaBaseOpDispenser = kafkaBaseOpDispenser;
|
this.kafkaBaseOpDispenser = kafkaBaseOpDispenser;
|
||||||
labels=labeledParent.getLabels().andTypes("name",KafkaAdapterMetrics.class.getSimpleName());
|
labels=labeledParent.getLabels().and("name",KafkaAdapterMetrics.class.getSimpleName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initS4JAdapterInstrumentation() {
|
public void initS4JAdapterInstrumentation() {
|
||||||
|
|||||||
@@ -354,7 +354,7 @@ public class ParsedOp implements LongFunction<Map<String, ?>>, NBLabeledElement,
|
|||||||
activityCfg.getMap())
|
activityCfg.getMap())
|
||||||
);
|
);
|
||||||
|
|
||||||
NBLabels opLabels = parent.getLabels().andTypes("op", this.getName());
|
NBLabels opLabels = parent.getLabels().and("op", this.getName());
|
||||||
if (tmap.isStatic("labels")) {
|
if (tmap.isStatic("labels")) {
|
||||||
Object labelSpecObject = tmap.takeStaticValue("labels", Object.class);
|
Object labelSpecObject = tmap.takeStaticValue("labels", Object.class);
|
||||||
if (labelSpecObject instanceof String labelsSpec) {
|
if (labelSpecObject instanceof String labelsSpec) {
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public class SimpleActivity implements Activity {
|
|||||||
|
|
||||||
public SimpleActivity(ActivityDef activityDef, NBLabeledElement parentLabels) {
|
public SimpleActivity(ActivityDef activityDef, NBLabeledElement parentLabels) {
|
||||||
NBLabels activityLabels = parentLabels.getLabels()
|
NBLabels activityLabels = parentLabels.getLabels()
|
||||||
.andTypes("activity", activityDef.getAlias());
|
.and("activity", activityDef.getAlias());
|
||||||
Optional<String> auxLabelSpec = activityDef.getParams().getOptionalString("labels");
|
Optional<String> auxLabelSpec = activityDef.getParams().getOptionalString("labels");
|
||||||
if (auxLabelSpec.isPresent()) {
|
if (auxLabelSpec.isPresent()) {
|
||||||
activityLabels = activityLabels.and(NBLabelSpec.parseLabels(auxLabelSpec.get()));
|
activityLabels = activityLabels.and(NBLabelSpec.parseLabels(auxLabelSpec.get()));
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ public class NBCLI implements Function<String[], Integer>, NBLabeledElement {
|
|||||||
this.sessionCode = SystemId.genSessionCode(sessionTime);
|
this.sessionCode = SystemId.genSessionCode(sessionTime);
|
||||||
this.sessionName = SessionNamer.format(globalOptions.getSessionName(),sessionTime).replaceAll("SESSIONCODE",sessionCode);
|
this.sessionName = SessionNamer.format(globalOptions.getSessionName(),sessionTime).replaceAll("SESSIONCODE",sessionCode);
|
||||||
this.labels = NBLabels.forKV("appname", "nosqlbench")
|
this.labels = NBLabels.forKV("appname", "nosqlbench")
|
||||||
.andInstances("node",SystemId.getNodeId())
|
.and("node",SystemId.getNodeId())
|
||||||
.and(globalOptions.getLabelMap());
|
.and(globalOptions.getLabelMap());
|
||||||
|
|
||||||
NBCLI.loggerConfig
|
NBCLI.loggerConfig
|
||||||
|
|||||||
@@ -59,10 +59,10 @@ public class GrafanaMetricsAnnotator implements Annotator, NBConfigurable {
|
|||||||
ga.setTime(annotation.getStart());
|
ga.setTime(annotation.getStart());
|
||||||
ga.setTimeEnd(annotation.getEnd());
|
ga.setTimeEnd(annotation.getEnd());
|
||||||
|
|
||||||
annotation.getLabels().onlyTypes().asMap().forEach((k, v) -> {
|
annotation.getLabels().asMap().forEach((k, v) -> {
|
||||||
ga.getTags().add(k + ":" + v);
|
ga.getTags().add(k + ":" + v);
|
||||||
});
|
});
|
||||||
annotation.getLabels().onlyInstances().asMap().forEach((k,v)->{
|
annotation.getLabels().asMap().forEach((k,v)->{
|
||||||
ga.addText(" " + k + ":" + v);
|
ga.addText(" " + k + ":" + v);
|
||||||
});
|
});
|
||||||
ga.getTags().add("layer:" + annotation.getLayer().toString());
|
ga.getTags().add("layer:" + annotation.getLayer().toString());
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class Scenario implements Callable<ExecutionMetricsResult>, NBLabeledElem
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBLabels getLabels() {
|
public NBLabels getLabels() {
|
||||||
return this.parentComponent.getLabels().andTypes("scenario", this.scenarioName);
|
return this.parentComponent.getLabels().and("scenario", this.scenarioName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum State {
|
public enum State {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Map;
|
|||||||
public class AveragePrecision extends BaseRelevancyFunction {
|
public class AveragePrecision extends BaseRelevancyFunction {
|
||||||
private final int k;
|
private final int k;
|
||||||
public AveragePrecision(String name, int k, Map<String,String> labels) {
|
public AveragePrecision(String name, int k, Map<String,String> labels) {
|
||||||
super(name, NBLabels.forKV("k",labels).andTypes(labels));
|
super(name, NBLabels.forKV("k",labels).and(labels));
|
||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
public AveragePrecision(String name, int k, Object... labels) {
|
public AveragePrecision(String name, int k, Object... labels) {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class F1 extends BaseRelevancyFunction {
|
|||||||
private final int k;
|
private final int k;
|
||||||
|
|
||||||
public F1(String name, int k, Map<String,String> labels) {
|
public F1(String name, int k, Map<String,String> labels) {
|
||||||
super(name, NBLabels.forKV("k",labels).andTypes(labels));
|
super(name, NBLabels.forKV("k",labels).and(labels));
|
||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
public F1(String name, int k, Object... labels) {
|
public F1(String name, int k, Object... labels) {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class Precision extends BaseRelevancyFunction {
|
|||||||
private final int k;
|
private final int k;
|
||||||
|
|
||||||
public Precision(String name, int k, Map<String,String> labels) {
|
public Precision(String name, int k, Map<String,String> labels) {
|
||||||
super(name,NBLabels.forKV("k",labels).andTypes(labels));
|
super(name,NBLabels.forKV("k",labels).and(labels));
|
||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
public Precision(String name, int k, Object... labels) {
|
public Precision(String name, int k, Object... labels) {
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class Recall extends BaseRelevancyFunction {
|
|||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
public Recall(String name, int k, Map<String,String> labels) {
|
public Recall(String name, int k, Map<String,String> labels) {
|
||||||
super(name, NBLabels.forKV("k",labels).andTypes(labels));
|
super(name, NBLabels.forKV("k",labels).and(labels));
|
||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class ReciprocalRank extends BaseRelevancyFunction {
|
|||||||
private final int k;
|
private final int k;
|
||||||
|
|
||||||
public ReciprocalRank(String name, int k, Map<String,String> labels) {
|
public ReciprocalRank(String name, int k, Map<String,String> labels) {
|
||||||
super(name, NBLabels.forKV("k",labels).andTypes(labels));
|
super(name, NBLabels.forKV("k",labels).and(labels));
|
||||||
this.k = k;
|
this.k = k;
|
||||||
}
|
}
|
||||||
public ReciprocalRank(String name, int k, Object... labels) {
|
public ReciprocalRank(String name, int k, Object... labels) {
|
||||||
|
|||||||
@@ -24,17 +24,15 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
public class MapLabels implements NBLabels {
|
public class MapLabels implements NBLabels {
|
||||||
private final Map<String,String> labels;
|
private final Map<String,String> labels;
|
||||||
private String[] instanceFields = new String[0];
|
|
||||||
|
|
||||||
public MapLabels(final Map<String, String> labels, String... instanceFields) {
|
public MapLabels(final Map<String, String> labels, String... instanceFields) {
|
||||||
verifyValidNamesAndValues(labels);
|
verifyValidNamesAndValues(labels);
|
||||||
// verifyValidValues(labels);
|
// verifyValidValues(labels);
|
||||||
this.labels = Collections.unmodifiableMap(labels);
|
this.labels = Collections.unmodifiableMap(labels);
|
||||||
this.instanceFields = instanceFields;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public MapLabels(final Map<String,String> parentLabels, final Map<String,String> childLabels, String... instanceFields) {
|
public MapLabels(final Map<String,String> parentLabels, final Map<String,String> childLabels) {
|
||||||
final Map<String, String> combined = new LinkedHashMap<>(parentLabels);
|
final Map<String, String> combined = new LinkedHashMap<>(parentLabels);
|
||||||
childLabels.forEach((k,v) -> {
|
childLabels.forEach((k,v) -> {
|
||||||
if (combined.containsKey(k))
|
if (combined.containsKey(k))
|
||||||
@@ -43,7 +41,6 @@ public class MapLabels implements NBLabels {
|
|||||||
});
|
});
|
||||||
verifyValidNamesAndValues(combined);
|
verifyValidNamesAndValues(combined);
|
||||||
// verifyValidValues(combined);
|
// verifyValidValues(combined);
|
||||||
this.instanceFields = instanceFields;
|
|
||||||
labels=Collections.unmodifiableMap(combined);
|
labels=Collections.unmodifiableMap(combined);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,27 +121,14 @@ public class MapLabels implements NBLabels {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MapLabels andTypes(final Object... labelsAndValues) {
|
public MapLabels and(final Object... labelsAndValues) {
|
||||||
final Map<String,String> childLabels = getStringStringMap(labelsAndValues);
|
final Map<String,String> childLabels = getStringStringMap(labelsAndValues);
|
||||||
return new MapLabels(labels,childLabels);
|
return new MapLabels(labels,childLabels);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MapLabels and(NBLabels labels) {
|
public MapLabels and(NBLabels labels) {
|
||||||
return new MapLabels(this.labels,labels.asMap(), concat(this.instanceFields,labels.getInstanceFields()));
|
return new MapLabels(this.labels,labels.asMap());
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MapLabels andInstances(final Object... labelsAndValues) {
|
|
||||||
final Map<String,String> childLabels = getStringStringMap(labelsAndValues);
|
|
||||||
String[] childInstanceFields = getNamesArray(labelsAndValues);
|
|
||||||
return new MapLabels(this.labels,childLabels,concat(this.instanceFields,getNamesArray(labelsAndValues)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MapLabels andInstances(Map<String, String> instanceLabelsAndValues) {
|
|
||||||
return new MapLabels(this.labels,instanceLabelsAndValues,instanceLabelsAndValues.keySet().toArray(new String[0]));
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public NBLabels modifyName(final String nameToModify, final Function<String, String> transform) {
|
public NBLabels modifyName(final String nameToModify, final Function<String, String> transform) {
|
||||||
@@ -194,30 +178,7 @@ public class MapLabels implements NBLabels {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBLabels onlyTypes() {
|
public NBLabels and(final Map<String, String> moreLabels) {
|
||||||
Map<String,String> typesOnlyMap = new LinkedHashMap<>(this.labels);
|
|
||||||
for (String instanceField : this.instanceFields) {
|
|
||||||
typesOnlyMap.remove(instanceField);
|
|
||||||
}
|
|
||||||
return new MapLabels(typesOnlyMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public NBLabels onlyInstances() {
|
|
||||||
Map<String,String> instancesOnlyMap = new LinkedHashMap<>();
|
|
||||||
for (String instanceField : this.instanceFields) {
|
|
||||||
instancesOnlyMap.put(instanceField,this.labels.get(instanceField));
|
|
||||||
}
|
|
||||||
return new MapLabels(instancesOnlyMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getInstanceFields() {
|
|
||||||
return instanceFields;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public NBLabels andTypes(final Map<String, String> moreLabels) {
|
|
||||||
return new MapLabels(this.labels, moreLabels);
|
return new MapLabels(this.labels, moreLabels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ public interface NBLabels {
|
|||||||
* Keys and values in "key1", "value1", "key2", "value2", ... form
|
* Keys and values in "key1", "value1", "key2", "value2", ... form
|
||||||
* @return A new NBLabels instance
|
* @return A new NBLabels instance
|
||||||
*/
|
*/
|
||||||
NBLabels andTypes(Object... typeLabelsAndValues);
|
NBLabels and(Object... typeLabelsAndValues);
|
||||||
|
|
||||||
NBLabels and(NBLabels labels);
|
NBLabels and(NBLabels labels);
|
||||||
/**
|
/**
|
||||||
@@ -150,10 +150,7 @@ public interface NBLabels {
|
|||||||
* @param typeLabelsAndValues a map of keys and values
|
* @param typeLabelsAndValues a map of keys and values
|
||||||
* @return A new NBLabels instance
|
* @return A new NBLabels instance
|
||||||
*/
|
*/
|
||||||
NBLabels andTypes(Map<String, String> typeLabelsAndValues);
|
NBLabels and(Map<String, String> typeLabelsAndValues);
|
||||||
NBLabels andInstances(Object... instanceLabelsAndValues);
|
|
||||||
|
|
||||||
NBLabels andInstances(Map<String,String> instanceLabelsAndValues);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the value of the specified label key.
|
* Return the value of the specified label key.
|
||||||
@@ -176,9 +173,5 @@ public interface NBLabels {
|
|||||||
/**
|
/**
|
||||||
* @return a new set of labels which includes only those which are not using per-instance semantics.
|
* @return a new set of labels which includes only those which are not using per-instance semantics.
|
||||||
*/
|
*/
|
||||||
NBLabels onlyTypes();
|
|
||||||
NBLabels onlyInstances();
|
|
||||||
|
|
||||||
String[] getInstanceFields();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class ActivityMetrics {
|
|||||||
* @return the timer, perhaps a different one if it has already been registered
|
* @return the timer, perhaps a different one if it has already been registered
|
||||||
*/
|
*/
|
||||||
public static Timer timer(NBLabeledElement parent, String metricFamilyName, int hdrdigits) {
|
public static Timer timer(NBLabeledElement parent, String metricFamilyName, int hdrdigits) {
|
||||||
final NBLabels labels = parent.getLabels().andTypes("name",sanitize(metricFamilyName));
|
final NBLabels labels = parent.getLabels().and("name",sanitize(metricFamilyName));
|
||||||
|
|
||||||
|
|
||||||
Timer registeredTimer = (Timer) register(labels, () ->
|
Timer registeredTimer = (Timer) register(labels, () ->
|
||||||
@@ -135,7 +135,7 @@ public class ActivityMetrics {
|
|||||||
* @return the histogram, perhaps a different one if it has already been registered
|
* @return the histogram, perhaps a different one if it has already been registered
|
||||||
*/
|
*/
|
||||||
public static Histogram histogram(NBLabeledElement labeled, String metricFamilyName, int hdrdigits) {
|
public static Histogram histogram(NBLabeledElement labeled, String metricFamilyName, int hdrdigits) {
|
||||||
final NBLabels labels = labeled.getLabels().andTypes("name", sanitize(metricFamilyName));
|
final NBLabels labels = labeled.getLabels().and("name", sanitize(metricFamilyName));
|
||||||
return (Histogram) register(labels, () ->
|
return (Histogram) register(labels, () ->
|
||||||
new NBMetricHistogram(
|
new NBMetricHistogram(
|
||||||
labels,
|
labels,
|
||||||
@@ -158,7 +158,7 @@ public class ActivityMetrics {
|
|||||||
* @return the counter, perhaps a different one if it has already been registered
|
* @return the counter, perhaps a different one if it has already been registered
|
||||||
*/
|
*/
|
||||||
public static Counter counter(NBLabeledElement parent, String metricFamilyName) {
|
public static Counter counter(NBLabeledElement parent, String metricFamilyName) {
|
||||||
final NBLabels labels = parent.getLabels().andTypes("name",metricFamilyName);
|
final NBLabels labels = parent.getLabels().and("name",metricFamilyName);
|
||||||
return (Counter) register(labels, () -> new NBMetricCounter(labels));
|
return (Counter) register(labels, () -> new NBMetricCounter(labels));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ public class ActivityMetrics {
|
|||||||
* @return the meter, perhaps a different one if it has already been registered
|
* @return the meter, perhaps a different one if it has already been registered
|
||||||
*/
|
*/
|
||||||
public static Meter meter(NBLabeledElement parent, String metricFamilyName) {
|
public static Meter meter(NBLabeledElement parent, String metricFamilyName) {
|
||||||
final NBLabels labels = parent.getLabels().andTypes("name",sanitize(metricFamilyName));
|
final NBLabels labels = parent.getLabels().and("name",sanitize(metricFamilyName));
|
||||||
return (Meter) register(labels, () -> new NBMetricMeter(labels));
|
return (Meter) register(labels, () -> new NBMetricMeter(labels));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -204,7 +204,7 @@ public class ActivityMetrics {
|
|||||||
DoubleSummaryGauge anyGauge = null;
|
DoubleSummaryGauge anyGauge = null;
|
||||||
for (DoubleSummaryGauge.Stat statName: DoubleSummaryGauge.Stat.values()){
|
for (DoubleSummaryGauge.Stat statName: DoubleSummaryGauge.Stat.values()){
|
||||||
final NBLabels labels = parent.getLabels()
|
final NBLabels labels = parent.getLabels()
|
||||||
.andTypes("name",sanitize(metricFamilyName))
|
.and("name",sanitize(metricFamilyName))
|
||||||
.modifyValue("name", n -> n+"_"+statName.name().toLowerCase());
|
.modifyValue("name", n -> n+"_"+statName.name().toLowerCase());
|
||||||
anyGauge= (DoubleSummaryGauge) register(labels, () -> new DoubleSummaryGauge(labels,statName,stats));
|
anyGauge= (DoubleSummaryGauge) register(labels, () -> new DoubleSummaryGauge(labels,statName,stats));
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,7 @@ public class ActivityMetrics {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static <T> Gauge<T> gauge(NBLabeledElement parent, String metricFamilyName, Gauge<T> gauge) {
|
public static <T> Gauge<T> gauge(NBLabeledElement parent, String metricFamilyName, Gauge<T> gauge) {
|
||||||
final NBLabels labels = parent.getLabels().andTypes("name",sanitize(metricFamilyName));
|
final NBLabels labels = parent.getLabels().and("name",sanitize(metricFamilyName));
|
||||||
|
|
||||||
return (Gauge<T>) register(labels, () -> new NBMetricGaugeWrapper<>(labels,gauge));
|
return (Gauge<T>) register(labels, () -> new NBMetricGaugeWrapper<>(labels,gauge));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,13 +85,13 @@ public class PromExpositionFormat {
|
|||||||
for (final double quantile : new double[]{0.5, 0.75, 0.90, 0.95, 0.98, 0.99, 0.999}) {
|
for (final double quantile : new double[]{0.5, 0.75, 0.90, 0.95, 0.98, 0.99, 0.999}) {
|
||||||
final double value = snapshot.getValue(quantile);
|
final double value = snapshot.getValue(quantile);
|
||||||
buffer
|
buffer
|
||||||
.append(labels.modifyValue("name",n -> n+"_bucket").andTypes("le", String.valueOf(quantile)).linearize("name"))
|
.append(labels.modifyValue("name",n -> n+"_bucket").and("le", String.valueOf(quantile)).linearize("name"))
|
||||||
// .append(labels.andTypes("quantile", String.valueOf(quantile)).linearize("name"))
|
// .append(labels.andTypes("quantile", String.valueOf(quantile)).linearize("name"))
|
||||||
.append(' ')
|
.append(' ')
|
||||||
.append(value)
|
.append(value)
|
||||||
.append('\n');
|
.append('\n');
|
||||||
}
|
}
|
||||||
buffer.append(labels.modifyValue("name",n->n+"_bucket").andTypes("le","+Inf").linearize("name"))
|
buffer.append(labels.modifyValue("name",n->n+"_bucket").and("le","+Inf").linearize("name"))
|
||||||
.append(' ')
|
.append(' ')
|
||||||
.append(snapshot.getMax())
|
.append(snapshot.getMax())
|
||||||
.append('\n');
|
.append('\n');
|
||||||
|
|||||||
@@ -32,24 +32,6 @@ public class MapLabelsTest {
|
|||||||
assertThat(result).isEqualTo("value_a_value_c");
|
assertThat(result).isEqualTo("value_a_value_c");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testInstances() {
|
|
||||||
final MapLabels l1 = new MapLabels(Map.of("key_a", "value_a", "key_c", "value_c"),"key_c");
|
|
||||||
NBLabels typesOnly = l1.onlyTypes();
|
|
||||||
assertThat(typesOnly.linearizeValues()).isEqualTo("value_a");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testInstanceCombination() {
|
|
||||||
final MapLabels l1 = new MapLabels(Map.of("key_a", "value_a"),Map.of("key_c", "value_c"),"key_c");
|
|
||||||
final MapLabels l2 = new MapLabels(Map.of("key_dog", "value_dog"),Map.of( "key_cat", "value_cat"),"key_dog");
|
|
||||||
final MapLabels l3 = l1.and(l2);
|
|
||||||
assertThat(l3.linearizeValues()).matches("value_a.value_c.value_dog.value_cat");
|
|
||||||
|
|
||||||
assertThat(l3.onlyTypes().linearizeValues()).matches("value_a.value_cat");
|
|
||||||
assertThat(l3.onlyInstances().linearizeValues()).matches("value_c.value_dog");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInvalidCharacters() {
|
public void testInvalidCharacters() {
|
||||||
|
|||||||
Reference in New Issue
Block a user