Skip to content

Commit f0839ff

Browse files
committed
Get rid of metric name parsing
1 parent d3fe3c6 commit f0839ff

File tree

53 files changed

+873
-391
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+873
-391
lines changed

pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.pinot.broker.broker.helix;
2020

2121
import com.google.common.base.Preconditions;
22+
import com.google.common.collect.ImmutableMap;
2223
import java.io.IOException;
2324
import java.net.InetAddress;
2425
import java.util.ArrayList;
@@ -309,12 +310,13 @@ public void start()
309310
_brokerConf.getProperty(Broker.CONFIG_OF_ENABLE_TABLE_LEVEL_METRICS, Broker.DEFAULT_ENABLE_TABLE_LEVEL_METRICS),
310311
_brokerConf.getProperty(Broker.CONFIG_OF_ALLOWED_TABLES_FOR_EMITTING_METRICS, Collections.emptyList()));
311312
_brokerMetrics.initializeGlobalMeters();
312-
_brokerMetrics.setValueOfGlobalGauge(BrokerGauge.VERSION, PinotVersion.VERSION_METRIC_NAME, 1);
313+
_brokerMetrics.setValueOfGlobalGauge(BrokerGauge.VERSION, PinotVersion.VERSION_METRIC_NAME,
314+
1, ImmutableMap.of());
313315
_brokerMetrics.setValueOfGlobalGauge(BrokerGauge.ZK_JUTE_MAX_BUFFER,
314316
Integer.getInteger(ZkSystemPropertyKeys.JUTE_MAXBUFFER, 0xfffff));
315317
_brokerMetrics.setValueOfGlobalGauge(BrokerGauge.ADAPTIVE_SERVER_SELECTOR_TYPE,
316318
_brokerConf.getProperty(Broker.AdaptiveServerSelector.CONFIG_OF_TYPE,
317-
Broker.AdaptiveServerSelector.DEFAULT_TYPE), 1);
319+
Broker.AdaptiveServerSelector.DEFAULT_TYPE), 1, ImmutableMap.of());
318320
BrokerMetrics.register(_brokerMetrics);
319321
// Set up request handling classes
320322
_serverRoutingStatsManager = new ServerRoutingStatsManager(_brokerConf, _brokerMetrics);

pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseSingleStageBrokerRequestHandler.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.fasterxml.jackson.databind.JsonNode;
2222
import com.google.common.annotations.VisibleForTesting;
2323
import com.google.common.base.Preconditions;
24+
import com.google.common.collect.ImmutableList;
2425
import com.google.common.collect.ImmutableMap;
2526
import java.net.URI;
2627
import java.util.ArrayList;
@@ -65,6 +66,7 @@
6566
import org.apache.pinot.common.metrics.BrokerMetrics;
6667
import org.apache.pinot.common.metrics.BrokerQueryPhase;
6768
import org.apache.pinot.common.metrics.BrokerTimer;
69+
import org.apache.pinot.common.metrics.MetricAttributeConstants;
6870
import org.apache.pinot.common.request.BrokerRequest;
6971
import org.apache.pinot.common.request.DataSource;
7072
import org.apache.pinot.common.request.Expression;
@@ -862,8 +864,13 @@ protected BrokerResponse doHandleRequest(long requestId, String query, SqlNodeAn
862864
}
863865

864866
for (int pool : brokerResponse.getPools()) {
867+
String poolTag = BrokerMetrics.getTagForPreferredPool(sqlNodeAndOptions.getOptions());
868+
String poolId = String.valueOf(pool);
865869
_brokerMetrics.addMeteredValue(BrokerMeter.POOL_QUERIES, 1,
866-
BrokerMetrics.getTagForPreferredPool(sqlNodeAndOptions.getOptions()), String.valueOf(pool));
870+
ImmutableList.of(poolTag, poolId),
871+
ImmutableMap.of(MetricAttributeConstants.POOL_TAG, poolTag,
872+
MetricAttributeConstants.POOL_ID, poolId)
873+
);
867874
}
868875

869876
brokerResponse.setRLSFiltersApplied(rlsFiltersApplied.get());

pinot-broker/src/main/java/org/apache/pinot/broker/routing/instanceselector/BalancedInstanceSelector.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.apache.pinot.broker.routing.instanceselector;
2020

21+
import com.google.common.collect.ImmutableList;
22+
import com.google.common.collect.ImmutableMap;
2123
import java.time.Clock;
2224
import java.util.HashMap;
2325
import java.util.List;
@@ -30,6 +32,7 @@
3032
import org.apache.pinot.broker.routing.adaptiveserverselector.ServerSelectionContext;
3133
import org.apache.pinot.common.metrics.BrokerMeter;
3234
import org.apache.pinot.common.metrics.BrokerMetrics;
35+
import org.apache.pinot.common.metrics.MetricAttributeConstants;
3336
import org.apache.pinot.common.utils.HashUtil;
3437

3538
/// Instance selector to balance the number of segments served by each selected server instance.
@@ -96,8 +99,13 @@ Pair<Map<String, String>, Map<String, String>> select(List<String> segments, int
9699
}
97100

98101
for (Map.Entry<Integer, Integer> entry : poolToSegmentCount.entrySet()) {
99-
_brokerMetrics.addMeteredValue(BrokerMeter.POOL_SEG_QUERIES, entry.getValue(),
100-
BrokerMetrics.getTagForPreferredPool(queryOptions), String.valueOf(entry.getKey()));
102+
String poolTag = BrokerMetrics.getTagForPreferredPool(queryOptions);
103+
String poolID = String.valueOf(entry.getKey());
104+
_brokerMetrics.addMeteredValue(
105+
BrokerMeter.POOL_SEG_QUERIES, entry.getValue(),
106+
ImmutableList.of(poolTag, poolID),
107+
ImmutableMap.of(MetricAttributeConstants.POOL_TAG, poolTag, MetricAttributeConstants.POOL_ID, poolID)
108+
);
101109
}
102110
return Pair.of(segmentToSelectedInstanceMap, optionalSegmentToInstanceMap);
103111
}

pinot-broker/src/main/java/org/apache/pinot/broker/routing/instanceselector/ReplicaGroupInstanceSelector.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.apache.pinot.broker.routing.instanceselector;
2020

21+
import com.google.common.collect.ImmutableList;
22+
import com.google.common.collect.ImmutableMap;
2123
import java.time.Clock;
2224
import java.util.ArrayList;
2325
import java.util.Comparator;
@@ -33,6 +35,7 @@
3335
import org.apache.pinot.broker.routing.adaptiveserverselector.ServerSelectionContext;
3436
import org.apache.pinot.common.metrics.BrokerMeter;
3537
import org.apache.pinot.common.metrics.BrokerMetrics;
38+
import org.apache.pinot.common.metrics.MetricAttributeConstants;
3639
import org.apache.pinot.common.utils.HashUtil;
3740
import org.apache.pinot.common.utils.config.QueryOptionsUtils;
3841

@@ -146,8 +149,11 @@ private Pair<Map<String, String>, Map<String, String>> selectServers(List<String
146149
replicaOffset = (replicaOffset + 1) % numReplicaGroups;
147150
}
148151
for (Map.Entry<Integer, Integer> entry : poolToSegmentCount.entrySet()) {
152+
String poolTag = BrokerMetrics.getTagForPreferredPool(ctx.getQueryOptions());
153+
String poolId = String.valueOf(entry.getKey());
149154
_brokerMetrics.addMeteredValue(BrokerMeter.POOL_SEG_QUERIES, entry.getValue(),
150-
BrokerMetrics.getTagForPreferredPool(ctx.getQueryOptions()), String.valueOf(entry.getKey()));
155+
ImmutableList.of(poolTag, poolId),
156+
ImmutableMap.of(MetricAttributeConstants.POOL_TAG, poolTag, MetricAttributeConstants.POOL_ID, poolId));
151157
}
152158
return Pair.of(segmentToSelectedInstanceMap, optionalSegmentToInstanceMap);
153159
}

0 commit comments

Comments
 (0)