diff --git a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/binders/NamingFolio.java b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/binders/NamingFolio.java index 4d131546c..0f6437b4a 100644 --- a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/binders/NamingFolio.java +++ b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/binders/NamingFolio.java @@ -71,13 +71,13 @@ public class NamingFolio { * by name, type, table, keyspace. For now it just returns everything in fully qualified form. */ public String nameFor(NBLabeledElement labeled, String... fields) { - NBLabels labelsPlus = labeled.getLabels().and(fields); + NBLabels labelsPlus = labeled.getLabels().andTypes(fields); String name = namer.apply(labelsPlus.asMap()); return name; } public String nameFor(NBLabeledElement labeled, Map fields) { - NBLabels labelsPlus = labeled.getLabels().and(fields); + NBLabels labelsPlus = labeled.getLabels().andTypes(fields); String name = namer.apply(labelsPlus.asMap()); return name; diff --git a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTableColumn.java b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTableColumn.java index b14c0458d..3beb06188 100644 --- a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTableColumn.java +++ b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTableColumn.java @@ -42,6 +42,6 @@ public class CqlTableColumn extends CqlColumnBase { @Override public NBLabels getLabels() { - return super.getLabels().and("table", table.getName()); + return super.getLabels().andTypes("table", table.getName()); } } diff --git a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTypeColumn.java b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTypeColumn.java index 2a6a91b13..f7ee46639 100644 --- a/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTypeColumn.java +++ b/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/model/CqlTypeColumn.java @@ -42,6 +42,6 @@ public class CqlTypeColumn extends CqlColumnBase { @Override public NBLabels getLabels() { - return super.getLabels().and("name", this.type.getName()); + return super.getLabels().andTypes("name", this.type.getName()); } } diff --git a/adapter-diag/src/main/java/io/nosqlbench/adapter/diag/optasks/DiagTask_gauge.java b/adapter-diag/src/main/java/io/nosqlbench/adapter/diag/optasks/DiagTask_gauge.java index a8b20f6a5..91626fe56 100644 --- a/adapter-diag/src/main/java/io/nosqlbench/adapter/diag/optasks/DiagTask_gauge.java +++ b/adapter-diag/src/main/java/io/nosqlbench/adapter/diag/optasks/DiagTask_gauge.java @@ -171,6 +171,6 @@ public class DiagTask_gauge extends BaseDiagTask implements Gauge { @Override public NBLabels getLabels() { - return super.getLabels().and("stat",this.stat.toString()); + return super.getLabels().andTypes("stat",this.stat.toString()); } } diff --git a/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/util/KafkaAdapterMetrics.java b/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/util/KafkaAdapterMetrics.java index f4d69a731..2845b939a 100644 --- a/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/util/KafkaAdapterMetrics.java +++ b/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/util/KafkaAdapterMetrics.java @@ -51,7 +51,7 @@ public class KafkaAdapterMetrics { public KafkaAdapterMetrics(final KafkaBaseOpDispenser kafkaBaseOpDispenser, final NBLabeledElement labeledParent) { this.kafkaBaseOpDispenser = kafkaBaseOpDispenser; - labels=labeledParent.getLabels().and("name",KafkaAdapterMetrics.class.getSimpleName()); + labels=labeledParent.getLabels().andTypes("name",KafkaAdapterMetrics.class.getSimpleName()); } public void initS4JAdapterInstrumentation() { diff --git a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java index d6a4e1cff..9eae2e2b6 100644 --- a/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java +++ b/engine-core/src/main/java/io/nosqlbench/engine/core/lifecycle/scenario/Scenario.java @@ -83,7 +83,7 @@ public class Scenario implements Callable, NBLabeledElem @Override public NBLabels getLabels() { - return this.parentComponent.getLabels().and("scenario", this.scenarioName); + return this.parentComponent.getLabels().andTypes("scenario", this.scenarioName); } public enum State { diff --git a/nb-api/src/main/java/io/nosqlbench/api/config/NBLabels.java b/nb-api/src/main/java/io/nosqlbench/api/config/NBLabels.java index 0231f2785..37c97cebb 100644 --- a/nb-api/src/main/java/io/nosqlbench/api/config/NBLabels.java +++ b/nb-api/src/main/java/io/nosqlbench/api/config/NBLabels.java @@ -142,8 +142,9 @@ public interface NBLabels { * Keys and values in "key1", "value1", "key2", "value2", ... form * @return A new NBLabels instance */ - NBLabels and(String... labelsAndValues); + NBLabels andTypes(String... typeLabelsAndValues); + NBLabels and(NBLabels labels); /** * Create a new NBLabels value with the additional keys and values appended. * @@ -151,7 +152,10 @@ public interface NBLabels { * a map of keys and values * @return A new NBLabels instance */ - NBLabels and(Map labels); + NBLabels andTypes(Map typeLabelsAndValues); + NBLabels andInstances(String... instanceLabelsAndValues); + + NBLabels andInstances(Map instanceLabelsAndValues); /** * Return the value of the specified label key. @@ -170,4 +174,13 @@ public interface NBLabels { * @return a {@link Map} of keys and values, in deterministic order */ Map asMap(); + + /** + * @return a new set of labels which includes only those which are not using per-instance semantics. + */ + NBLabels onlyTypes(); + NBLabels onlyInstances(); + + String[] getInstanceFields(); + }